{
  "type": "File",
  "start": 0,
  "end": 10559,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 353,
      "column": 25
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 10559,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 353,
        "column": 25
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "Identifier",
        "start": 30,
        "end": 10530,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 351,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 36,
          "end": 45,
          "loc": {
            "start": {
              "line": 4,
              "column": 6
            },
            "end": {
              "line": 4,
              "column": 15
            },
            "identifierName": "Utilities"
          },
          "name": "Utilities",
          "leadingComments": null
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 46,
          "end": 10530,
          "loc": {
            "start": {
              "line": 4,
              "column": 16
            },
            "end": {
              "line": 351,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ClassMethod",
              "start": 114,
              "end": 740,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 2
                },
                "end": {
                  "line": 24,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 114,
                "end": 125,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 2
                  },
                  "end": {
                    "line": 8,
                    "column": 13
                  },
                  "identifierName": "constructor"
                },
                "name": "constructor",
                "leadingComments": null
              },
              "kind": "constructor",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 126,
                  "end": 148,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 14
                    },
                    "end": {
                      "line": 8,
                      "column": 36
                    },
                    "identifierName": "simpleKeyboardInstance"
                  },
                  "name": "simpleKeyboardInstance"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 149,
                "end": 740,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 37
                  },
                  "end": {
                    "line": 24,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 224,
                    "end": 277,
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 4
                      },
                      "end": {
                        "line": 12,
                        "column": 57
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 224,
                      "end": 276,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 4
                        },
                        "end": {
                          "line": 12,
                          "column": 56
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 224,
                        "end": 251,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 4
                          },
                          "end": {
                            "line": 12,
                            "column": 31
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 224,
                          "end": 228,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 4
                            },
                            "end": {
                              "line": 12,
                              "column": 8
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 229,
                          "end": 251,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 9
                            },
                            "end": {
                              "line": 12,
                              "column": 31
                            },
                            "identifierName": "simpleKeyboardInstance"
                          },
                          "name": "simpleKeyboardInstance"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 254,
                        "end": 276,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 34
                          },
                          "end": {
                            "line": 12,
                            "column": 56
                          },
                          "identifierName": "simpleKeyboardInstance"
                        },
                        "name": "simpleKeyboardInstance"
                      },
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "*\r\n     * @type {object} A simple-keyboard instance\r\n     ",
                        "start": 156,
                        "end": 218,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 4
                          },
                          "end": {
                            "line": 11,
                            "column": 7
                          }
                        }
                      }
                    ],
                    "trailingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "*\r\n     * Bindings\r\n     ",
                        "start": 285,
                        "end": 314,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 4
                          },
                          "end": {
                            "line": 16,
                            "column": 7
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 320,
                    "end": 373,
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 4
                      },
                      "end": {
                        "line": 17,
                        "column": 57
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 320,
                      "end": 372,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 4
                        },
                        "end": {
                          "line": 17,
                          "column": 56
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 320,
                        "end": 339,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 4
                          },
                          "end": {
                            "line": 17,
                            "column": 23
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 320,
                          "end": 324,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 4
                            },
                            "end": {
                              "line": 17,
                              "column": 8
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 325,
                          "end": 339,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 9
                            },
                            "end": {
                              "line": 17,
                              "column": 23
                            },
                            "identifierName": "getButtonClass"
                          },
                          "name": "getButtonClass"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 342,
                        "end": 372,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 26
                          },
                          "end": {
                            "line": 17,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 342,
                          "end": 366,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 26
                            },
                            "end": {
                              "line": 17,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 342,
                            "end": 361,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 26
                              },
                              "end": {
                                "line": 17,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 342,
                              "end": 346,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 26
                                },
                                "end": {
                                  "line": 17,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 347,
                              "end": 361,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 31
                                },
                                "end": {
                                  "line": 17,
                                  "column": 45
                                },
                                "identifierName": "getButtonClass"
                              },
                              "name": "getButtonClass"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 362,
                            "end": 366,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 46
                              },
                              "end": {
                                "line": 17,
                                "column": 50
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 367,
                            "end": 371,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 51
                              },
                              "end": {
                                "line": 17,
                                "column": 55
                              }
                            }
                          }
                        ]
                      },
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "*\r\n     * Bindings\r\n     ",
                        "start": 285,
                        "end": 314,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 4
                          },
                          "end": {
                            "line": 16,
                            "column": 7
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 379,
                    "end": 444,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 4
                      },
                      "end": {
                        "line": 18,
                        "column": 69
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 379,
                      "end": 443,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 4
                        },
                        "end": {
                          "line": 18,
                          "column": 68
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 379,
                        "end": 404,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 4
                          },
                          "end": {
                            "line": 18,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 379,
                          "end": 383,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 4
                            },
                            "end": {
                              "line": 18,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 384,
                          "end": 404,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 9
                            },
                            "end": {
                              "line": 18,
                              "column": 29
                            },
                            "identifierName": "getButtonDisplayName"
                          },
                          "name": "getButtonDisplayName"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 407,
                        "end": 443,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 32
                          },
                          "end": {
                            "line": 18,
                            "column": 68
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 407,
                          "end": 437,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 32
                            },
                            "end": {
                              "line": 18,
                              "column": 62
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 407,
                            "end": 432,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 32
                              },
                              "end": {
                                "line": 18,
                                "column": 57
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 407,
                              "end": 411,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 32
                                },
                                "end": {
                                  "line": 18,
                                  "column": 36
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 412,
                              "end": 432,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 37
                                },
                                "end": {
                                  "line": 18,
                                  "column": 57
                                },
                                "identifierName": "getButtonDisplayName"
                              },
                              "name": "getButtonDisplayName"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 433,
                            "end": 437,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 58
                              },
                              "end": {
                                "line": 18,
                                "column": 62
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 438,
                            "end": 442,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 63
                              },
                              "end": {
                                "line": 18,
                                "column": 67
                              }
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 450,
                    "end": 505,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 4
                      },
                      "end": {
                        "line": 19,
                        "column": 59
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 450,
                      "end": 504,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 4
                        },
                        "end": {
                          "line": 19,
                          "column": 58
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 450,
                        "end": 470,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 4
                          },
                          "end": {
                            "line": 19,
                            "column": 24
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 450,
                          "end": 454,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 4
                            },
                            "end": {
                              "line": 19,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 455,
                          "end": 470,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 9
                            },
                            "end": {
                              "line": 19,
                              "column": 24
                            },
                            "identifierName": "getUpdatedInput"
                          },
                          "name": "getUpdatedInput"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 473,
                        "end": 504,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 27
                          },
                          "end": {
                            "line": 19,
                            "column": 58
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 473,
                          "end": 498,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 27
                            },
                            "end": {
                              "line": 19,
                              "column": 52
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 473,
                            "end": 493,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 27
                              },
                              "end": {
                                "line": 19,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 473,
                              "end": 477,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 27
                                },
                                "end": {
                                  "line": 19,
                                  "column": 31
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 478,
                              "end": 493,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 32
                                },
                                "end": {
                                  "line": 19,
                                  "column": 47
                                },
                                "identifierName": "getUpdatedInput"
                              },
                              "name": "getUpdatedInput"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 494,
                            "end": 498,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 48
                              },
                              "end": {
                                "line": 19,
                                "column": 52
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 499,
                            "end": 503,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 53
                              },
                              "end": {
                                "line": 19,
                                "column": 57
                              }
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 511,
                    "end": 564,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 4
                      },
                      "end": {
                        "line": 20,
                        "column": 57
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 511,
                      "end": 563,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 4
                        },
                        "end": {
                          "line": 20,
                          "column": 56
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 511,
                        "end": 530,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 4
                          },
                          "end": {
                            "line": 20,
                            "column": 23
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 511,
                          "end": 515,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 4
                            },
                            "end": {
                              "line": 20,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 516,
                          "end": 530,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 9
                            },
                            "end": {
                              "line": 20,
                              "column": 23
                            },
                            "identifierName": "updateCaretPos"
                          },
                          "name": "updateCaretPos"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 533,
                        "end": 563,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 26
                          },
                          "end": {
                            "line": 20,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 533,
                          "end": 557,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 26
                            },
                            "end": {
                              "line": 20,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 533,
                            "end": 552,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 26
                              },
                              "end": {
                                "line": 20,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 533,
                              "end": 537,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 26
                                },
                                "end": {
                                  "line": 20,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 538,
                              "end": 552,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 31
                                },
                                "end": {
                                  "line": 20,
                                  "column": 45
                                },
                                "identifierName": "updateCaretPos"
                              },
                              "name": "updateCaretPos"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 553,
                            "end": 557,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 46
                              },
                              "end": {
                                "line": 20,
                                "column": 50
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 558,
                            "end": 562,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 51
                              },
                              "end": {
                                "line": 20,
                                "column": 55
                              }
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 570,
                    "end": 631,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 4
                      },
                      "end": {
                        "line": 21,
                        "column": 65
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 570,
                      "end": 630,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 4
                        },
                        "end": {
                          "line": 21,
                          "column": 64
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 570,
                        "end": 593,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 4
                          },
                          "end": {
                            "line": 21,
                            "column": 27
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 570,
                          "end": 574,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 4
                            },
                            "end": {
                              "line": 21,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 575,
                          "end": 593,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 9
                            },
                            "end": {
                              "line": 21,
                              "column": 27
                            },
                            "identifierName": "isMaxLengthReached"
                          },
                          "name": "isMaxLengthReached"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 596,
                        "end": 630,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 30
                          },
                          "end": {
                            "line": 21,
                            "column": 64
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 596,
                          "end": 624,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 30
                            },
                            "end": {
                              "line": 21,
                              "column": 58
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 596,
                            "end": 619,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 30
                              },
                              "end": {
                                "line": 21,
                                "column": 53
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 596,
                              "end": 600,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 30
                                },
                                "end": {
                                  "line": 21,
                                  "column": 34
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 601,
                              "end": 619,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 35
                                },
                                "end": {
                                  "line": 21,
                                  "column": 53
                                },
                                "identifierName": "isMaxLengthReached"
                              },
                              "name": "isMaxLengthReached"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 620,
                            "end": 624,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 54
                              },
                              "end": {
                                "line": 21,
                                "column": 58
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 625,
                            "end": 629,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 59
                              },
                              "end": {
                                "line": 21,
                                "column": 63
                              }
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 637,
                    "end": 680,
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 4
                      },
                      "end": {
                        "line": 22,
                        "column": 47
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 637,
                      "end": 679,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 4
                        },
                        "end": {
                          "line": 22,
                          "column": 46
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 637,
                        "end": 651,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 4
                          },
                          "end": {
                            "line": 22,
                            "column": 18
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 637,
                          "end": 641,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 4
                            },
                            "end": {
                              "line": 22,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 642,
                          "end": 651,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 9
                            },
                            "end": {
                              "line": 22,
                              "column": 18
                            },
                            "identifierName": "camelCase"
                          },
                          "name": "camelCase"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 654,
                        "end": 679,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 21
                          },
                          "end": {
                            "line": 22,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 654,
                          "end": 673,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 21
                            },
                            "end": {
                              "line": 22,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 654,
                            "end": 668,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 21
                              },
                              "end": {
                                "line": 22,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 654,
                              "end": 658,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 21
                                },
                                "end": {
                                  "line": 22,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 659,
                              "end": 668,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 26
                                },
                                "end": {
                                  "line": 22,
                                  "column": 35
                                },
                                "identifierName": "camelCase"
                              },
                              "name": "camelCase"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 669,
                            "end": 673,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 36
                              },
                              "end": {
                                "line": 22,
                                "column": 40
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 674,
                            "end": 678,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 41
                              },
                              "end": {
                                "line": 22,
                                "column": 45
                              }
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 686,
                    "end": 735,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 4
                      },
                      "end": {
                        "line": 23,
                        "column": 53
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 686,
                      "end": 734,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 4
                        },
                        "end": {
                          "line": 23,
                          "column": 52
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 686,
                        "end": 703,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 4
                          },
                          "end": {
                            "line": 23,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 686,
                          "end": 690,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 4
                            },
                            "end": {
                              "line": 23,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 691,
                          "end": 703,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 9
                            },
                            "end": {
                              "line": 23,
                              "column": 21
                            },
                            "identifierName": "countInArray"
                          },
                          "name": "countInArray"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 706,
                        "end": 734,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 24
                          },
                          "end": {
                            "line": 23,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 706,
                          "end": 728,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 24
                            },
                            "end": {
                              "line": 23,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 706,
                            "end": 723,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 24
                              },
                              "end": {
                                "line": 23,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 706,
                              "end": 710,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 24
                                },
                                "end": {
                                  "line": 23,
                                  "column": 28
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 711,
                              "end": 723,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 29
                                },
                                "end": {
                                  "line": 23,
                                  "column": 41
                                },
                                "identifierName": "countInArray"
                              },
                              "name": "countInArray"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 724,
                            "end": 728,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 42
                              },
                              "end": {
                                "line": 23,
                                "column": 46
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 729,
                            "end": 733,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 47
                              },
                              "end": {
                                "line": 23,
                                "column": 51
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Creates an instance of the Utility service\r\n   ",
                  "start": 51,
                  "end": 110,
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 2
                    },
                    "end": {
                      "line": 7,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Adds default classes to a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @return {string} The classes to be added to the button\r\n   ",
                  "start": 746,
                  "end": 924,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 2
                    },
                    "end": {
                      "line": 31,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 928,
              "end": 1355,
              "loc": {
                "start": {
                  "line": 32,
                  "column": 2
                },
                "end": {
                  "line": 41,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 928,
                "end": 942,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 2
                  },
                  "end": {
                    "line": 32,
                    "column": 16
                  },
                  "identifierName": "getButtonClass"
                },
                "name": "getButtonClass",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 943,
                  "end": 949,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 17
                    },
                    "end": {
                      "line": 32,
                      "column": 23
                    },
                    "identifierName": "button"
                  },
                  "name": "button"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 950,
                "end": 1355,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 24
                  },
                  "end": {
                    "line": 41,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 957,
                    "end": 1079,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 4
                      },
                      "end": {
                        "line": 33,
                        "column": 126
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 961,
                        "end": 1078,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 8
                          },
                          "end": {
                            "line": 33,
                            "column": 125
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 961,
                          "end": 976,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 23
                            },
                            "identifierName": "buttonTypeClass"
                          },
                          "name": "buttonTypeClass"
                        },
                        "init": {
                          "type": "ConditionalExpression",
                          "start": 979,
                          "end": 1078,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 26
                            },
                            "end": {
                              "line": 33,
                              "column": 125
                            }
                          },
                          "test": {
                            "type": "LogicalExpression",
                            "start": 980,
                            "end": 1045,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 27
                              },
                              "end": {
                                "line": 33,
                                "column": 92
                              }
                            },
                            "left": {
                              "type": "LogicalExpression",
                              "start": 980,
                              "end": 1024,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 27
                                },
                                "end": {
                                  "line": 33,
                                  "column": 71
                                }
                              },
                              "left": {
                                "type": "CallExpression",
                                "start": 980,
                                "end": 1000,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 980,
                                  "end": 995,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 980,
                                    "end": 986,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 33
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 987,
                                    "end": 995,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 42
                                      },
                                      "identifierName": "includes"
                                    },
                                    "name": "includes"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 996,
                                    "end": 999,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 46
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "{",
                                      "raw": "\"{\""
                                    },
                                    "value": "{"
                                  }
                                ]
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 1004,
                                "end": 1024,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 71
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1004,
                                  "end": 1019,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 66
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1004,
                                    "end": 1010,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 57
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1011,
                                    "end": 1019,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 66
                                      },
                                      "identifierName": "includes"
                                    },
                                    "name": "includes"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 1020,
                                    "end": 1023,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 70
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "}",
                                      "raw": "\"}\""
                                    },
                                    "value": "}"
                                  }
                                ]
                              }
                            },
                            "operator": "&&",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 1028,
                              "end": 1045,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 75
                                },
                                "end": {
                                  "line": 33,
                                  "column": 92
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 1028,
                                "end": 1034,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 81
                                  },
                                  "identifierName": "button"
                                },
                                "name": "button"
                              },
                              "operator": "!==",
                              "right": {
                                "type": "StringLiteral",
                                "start": 1039,
                                "end": 1045,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 86
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 92
                                  }
                                },
                                "extra": {
                                  "rawValue": "{//}",
                                  "raw": "'{//}'"
                                },
                                "value": "{//}"
                              }
                            },
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 979
                            }
                          },
                          "consequent": {
                            "type": "StringLiteral",
                            "start": 1049,
                            "end": 1062,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 96
                              },
                              "end": {
                                "line": 33,
                                "column": 109
                              }
                            },
                            "extra": {
                              "rawValue": "functionBtn",
                              "raw": "\"functionBtn\""
                            },
                            "value": "functionBtn"
                          },
                          "alternate": {
                            "type": "StringLiteral",
                            "start": 1065,
                            "end": 1078,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 112
                              },
                              "end": {
                                "line": 33,
                                "column": 125
                              }
                            },
                            "extra": {
                              "rawValue": "standardBtn",
                              "raw": "\"standardBtn\""
                            },
                            "value": "standardBtn"
                          }
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 1085,
                    "end": 1152,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 4
                      },
                      "end": {
                        "line": 34,
                        "column": 71
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1089,
                        "end": 1151,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 8
                          },
                          "end": {
                            "line": 34,
                            "column": 70
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1089,
                          "end": 1108,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 27
                            },
                            "identifierName": "buttonWithoutBraces"
                          },
                          "name": "buttonWithoutBraces"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 1111,
                          "end": 1151,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 30
                            },
                            "end": {
                              "line": 34,
                              "column": 70
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1111,
                            "end": 1142,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 30
                              },
                              "end": {
                                "line": 34,
                                "column": 61
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 1111,
                              "end": 1134,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 30
                                },
                                "end": {
                                  "line": 34,
                                  "column": 53
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1111,
                                "end": 1125,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1111,
                                  "end": 1117,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 36
                                    },
                                    "identifierName": "button"
                                  },
                                  "name": "button"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1118,
                                  "end": 1125,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 44
                                    },
                                    "identifierName": "replace"
                                  },
                                  "name": "replace"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 1126,
                                  "end": 1129,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 48
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "{",
                                    "raw": "\"{\""
                                  },
                                  "value": "{"
                                },
                                {
                                  "type": "StringLiteral",
                                  "start": 1131,
                                  "end": 1133,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 52
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "",
                                    "raw": "\"\""
                                  },
                                  "value": ""
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1135,
                              "end": 1142,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 54
                                },
                                "end": {
                                  "line": 34,
                                  "column": 61
                                },
                                "identifierName": "replace"
                              },
                              "name": "replace"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "StringLiteral",
                              "start": 1143,
                              "end": 1146,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 62
                                },
                                "end": {
                                  "line": 34,
                                  "column": 65
                                }
                              },
                              "extra": {
                                "rawValue": "}",
                                "raw": "\"}\""
                              },
                              "value": "}"
                            },
                            {
                              "type": "StringLiteral",
                              "start": 1148,
                              "end": 1150,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 67
                                },
                                "end": {
                                  "line": 34,
                                  "column": 69
                                }
                              },
                              "extra": {
                                "rawValue": "",
                                "raw": "\"\""
                              },
                              "value": ""
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 1158,
                    "end": 1184,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 4
                      },
                      "end": {
                        "line": 35,
                        "column": 30
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1162,
                        "end": 1183,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 29
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1162,
                          "end": 1178,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 24
                            },
                            "identifierName": "buttonNormalized"
                          },
                          "name": "buttonNormalized"
                        },
                        "init": {
                          "type": "StringLiteral",
                          "start": 1181,
                          "end": 1183,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 27
                            },
                            "end": {
                              "line": 35,
                              "column": 29
                            }
                          },
                          "extra": {
                            "rawValue": "",
                            "raw": "''"
                          },
                          "value": ""
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "IfStatement",
                    "start": 1192,
                    "end": 1292,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 4
                      },
                      "end": {
                        "line": 38,
                        "column": 61
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 1195,
                      "end": 1228,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 7
                        },
                        "end": {
                          "line": 37,
                          "column": 40
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 1195,
                        "end": 1210,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 7
                          },
                          "end": {
                            "line": 37,
                            "column": 22
                          },
                          "identifierName": "buttonTypeClass"
                        },
                        "name": "buttonTypeClass"
                      },
                      "operator": "!==",
                      "right": {
                        "type": "StringLiteral",
                        "start": 1215,
                        "end": 1228,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 27
                          },
                          "end": {
                            "line": 37,
                            "column": 40
                          }
                        },
                        "extra": {
                          "rawValue": "standardBtn",
                          "raw": "\"standardBtn\""
                        },
                        "value": "standardBtn"
                      }
                    },
                    "consequent": {
                      "type": "ExpressionStatement",
                      "start": 1237,
                      "end": 1292,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 6
                        },
                        "end": {
                          "line": 38,
                          "column": 61
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1237,
                        "end": 1291,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 6
                          },
                          "end": {
                            "line": 38,
                            "column": 60
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 1237,
                          "end": 1253,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 6
                            },
                            "end": {
                              "line": 38,
                              "column": 22
                            },
                            "identifierName": "buttonNormalized"
                          },
                          "name": "buttonNormalized"
                        },
                        "right": {
                          "type": "TemplateLiteral",
                          "start": 1256,
                          "end": 1291,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 25
                            },
                            "end": {
                              "line": 38,
                              "column": 60
                            }
                          },
                          "expressions": [
                            {
                              "type": "Identifier",
                              "start": 1270,
                              "end": 1289,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 39
                                },
                                "end": {
                                  "line": 38,
                                  "column": 58
                                },
                                "identifierName": "buttonWithoutBraces"
                              },
                              "name": "buttonWithoutBraces"
                            }
                          ],
                          "quasis": [
                            {
                              "type": "TemplateElement",
                              "start": 1257,
                              "end": 1268,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 26
                                },
                                "end": {
                                  "line": 38,
                                  "column": 37
                                }
                              },
                              "value": {
                                "raw": " hg-button-",
                                "cooked": " hg-button-"
                              },
                              "tail": false
                            },
                            {
                              "type": "TemplateElement",
                              "start": 1290,
                              "end": 1290,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 59
                                },
                                "end": {
                                  "line": 38,
                                  "column": 59
                                }
                              },
                              "value": {
                                "raw": "",
                                "cooked": ""
                              },
                              "tail": true
                            }
                          ]
                        }
                      }
                    },
                    "alternate": null
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 1300,
                    "end": 1350,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 4
                      },
                      "end": {
                        "line": 40,
                        "column": 54
                      }
                    },
                    "argument": {
                      "type": "TemplateLiteral",
                      "start": 1307,
                      "end": 1349,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 11
                        },
                        "end": {
                          "line": 40,
                          "column": 53
                        }
                      },
                      "expressions": [
                        {
                          "type": "Identifier",
                          "start": 1313,
                          "end": 1328,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 17
                            },
                            "end": {
                              "line": 40,
                              "column": 32
                            },
                            "identifierName": "buttonTypeClass"
                          },
                          "name": "buttonTypeClass"
                        },
                        {
                          "type": "Identifier",
                          "start": 1331,
                          "end": 1347,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 35
                            },
                            "end": {
                              "line": 40,
                              "column": 51
                            },
                            "identifierName": "buttonNormalized"
                          },
                          "name": "buttonNormalized"
                        }
                      ],
                      "quasis": [
                        {
                          "type": "TemplateElement",
                          "start": 1308,
                          "end": 1311,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 12
                            },
                            "end": {
                              "line": 40,
                              "column": 15
                            }
                          },
                          "value": {
                            "raw": "hg-",
                            "cooked": "hg-"
                          },
                          "tail": false
                        },
                        {
                          "type": "TemplateElement",
                          "start": 1329,
                          "end": 1329,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 33
                            },
                            "end": {
                              "line": 40,
                              "column": 33
                            }
                          },
                          "value": {
                            "raw": "",
                            "cooked": ""
                          },
                          "tail": false
                        },
                        {
                          "type": "TemplateElement",
                          "start": 1348,
                          "end": 1348,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 52
                            },
                            "end": {
                              "line": 40,
                              "column": 52
                            }
                          },
                          "value": {
                            "raw": "",
                            "cooked": ""
                          },
                          "tail": true
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Adds default classes to a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @return {string} The classes to be added to the button\r\n   ",
                  "start": 746,
                  "end": 924,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 2
                    },
                    "end": {
                      "line": 31,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Default button display labels\r\n   ",
                  "start": 1361,
                  "end": 1407,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 2
                    },
                    "end": {
                      "line": 45,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 1411,
              "end": 2979,
              "loc": {
                "start": {
                  "line": 46,
                  "column": 2
                },
                "end": {
                  "line": 108,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1411,
                "end": 1427,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 2
                  },
                  "end": {
                    "line": 46,
                    "column": 18
                  },
                  "identifierName": "getDefaultDiplay"
                },
                "name": "getDefaultDiplay",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 1429,
                "end": 2979,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 20
                  },
                  "end": {
                    "line": 108,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 1436,
                    "end": 2974,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 4
                      },
                      "end": {
                        "line": 107,
                        "column": 6
                      }
                    },
                    "argument": {
                      "type": "ObjectExpression",
                      "start": 1443,
                      "end": 2973,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 11
                        },
                        "end": {
                          "line": 107,
                          "column": 5
                        }
                      },
                      "properties": [
                        {
                          "type": "ObjectProperty",
                          "start": 1452,
                          "end": 1473,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 6
                            },
                            "end": {
                              "line": 48,
                              "column": 27
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1452,
                            "end": 1460,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 6
                              },
                              "end": {
                                "line": 48,
                                "column": 14
                              }
                            },
                            "extra": {
                              "rawValue": "{bksp}",
                              "raw": "'{bksp}'"
                            },
                            "value": "{bksp}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1462,
                            "end": 1473,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 16
                              },
                              "end": {
                                "line": 48,
                                "column": 27
                              }
                            },
                            "extra": {
                              "rawValue": "backspace",
                              "raw": "'backspace'"
                            },
                            "value": "backspace"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1482,
                          "end": 1508,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 6
                            },
                            "end": {
                              "line": 49,
                              "column": 32
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1482,
                            "end": 1495,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 6
                              },
                              "end": {
                                "line": 49,
                                "column": 19
                              }
                            },
                            "extra": {
                              "rawValue": "{backspace}",
                              "raw": "'{backspace}'"
                            },
                            "value": "{backspace}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1497,
                            "end": 1508,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 21
                              },
                              "end": {
                                "line": 49,
                                "column": 32
                              }
                            },
                            "extra": {
                              "rawValue": "backspace",
                              "raw": "'backspace'"
                            },
                            "value": "backspace"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1517,
                          "end": 1537,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 6
                            },
                            "end": {
                              "line": 50,
                              "column": 26
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1517,
                            "end": 1526,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 6
                              },
                              "end": {
                                "line": 50,
                                "column": 15
                              }
                            },
                            "extra": {
                              "rawValue": "{enter}",
                              "raw": "'{enter}'"
                            },
                            "value": "{enter}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1528,
                            "end": 1537,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 17
                              },
                              "end": {
                                "line": 50,
                                "column": 26
                              }
                            },
                            "extra": {
                              "rawValue": "< enter",
                              "raw": "'< enter'"
                            },
                            "value": "< enter"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1546,
                          "end": 1564,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 6
                            },
                            "end": {
                              "line": 51,
                              "column": 24
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1546,
                            "end": 1555,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 6
                              },
                              "end": {
                                "line": 51,
                                "column": 15
                              }
                            },
                            "extra": {
                              "rawValue": "{shift}",
                              "raw": "'{shift}'"
                            },
                            "value": "{shift}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1557,
                            "end": 1564,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 17
                              },
                              "end": {
                                "line": 51,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "shift",
                              "raw": "'shift'"
                            },
                            "value": "shift"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1573,
                          "end": 1595,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 6
                            },
                            "end": {
                              "line": 52,
                              "column": 28
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1573,
                            "end": 1586,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 6
                              },
                              "end": {
                                "line": 52,
                                "column": 19
                              }
                            },
                            "extra": {
                              "rawValue": "{shiftleft}",
                              "raw": "'{shiftleft}'"
                            },
                            "value": "{shiftleft}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1588,
                            "end": 1595,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 21
                              },
                              "end": {
                                "line": 52,
                                "column": 28
                              }
                            },
                            "extra": {
                              "rawValue": "shift",
                              "raw": "'shift'"
                            },
                            "value": "shift"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1604,
                          "end": 1627,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 6
                            },
                            "end": {
                              "line": 53,
                              "column": 29
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1604,
                            "end": 1618,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 6
                              },
                              "end": {
                                "line": 53,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "{shiftright}",
                              "raw": "'{shiftright}'"
                            },
                            "value": "{shiftright}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1620,
                            "end": 1627,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 22
                              },
                              "end": {
                                "line": 53,
                                "column": 29
                              }
                            },
                            "extra": {
                              "rawValue": "shift",
                              "raw": "'shift'"
                            },
                            "value": "shift"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1636,
                          "end": 1650,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 6
                            },
                            "end": {
                              "line": 54,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1636,
                            "end": 1643,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 6
                              },
                              "end": {
                                "line": 54,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{alt}",
                              "raw": "'{alt}'"
                            },
                            "value": "{alt}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1645,
                            "end": 1650,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 15
                              },
                              "end": {
                                "line": 54,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "alt",
                              "raw": "'alt'"
                            },
                            "value": "alt"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1659,
                          "end": 1673,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 6
                            },
                            "end": {
                              "line": 55,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1659,
                            "end": 1664,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 6
                              },
                              "end": {
                                "line": 55,
                                "column": 11
                              }
                            },
                            "extra": {
                              "rawValue": "{s}",
                              "raw": "'{s}'"
                            },
                            "value": "{s}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1666,
                            "end": 1673,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 13
                              },
                              "end": {
                                "line": 55,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "shift",
                              "raw": "'shift'"
                            },
                            "value": "shift"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1682,
                          "end": 1696,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 6
                            },
                            "end": {
                              "line": 56,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1682,
                            "end": 1689,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 6
                              },
                              "end": {
                                "line": 56,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{tab}",
                              "raw": "'{tab}'"
                            },
                            "value": "{tab}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1691,
                            "end": 1696,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 15
                              },
                              "end": {
                                "line": 56,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "tab",
                              "raw": "'tab'"
                            },
                            "value": "tab"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1705,
                          "end": 1721,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 6
                            },
                            "end": {
                              "line": 57,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1705,
                            "end": 1713,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 6
                              },
                              "end": {
                                "line": 57,
                                "column": 14
                              }
                            },
                            "extra": {
                              "rawValue": "{lock}",
                              "raw": "'{lock}'"
                            },
                            "value": "{lock}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1715,
                            "end": 1721,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 16
                              },
                              "end": {
                                "line": 57,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "caps",
                              "raw": "'caps'"
                            },
                            "value": "caps"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1730,
                          "end": 1750,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 6
                            },
                            "end": {
                              "line": 58,
                              "column": 26
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1730,
                            "end": 1742,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 6
                              },
                              "end": {
                                "line": 58,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "{capslock}",
                              "raw": "'{capslock}'"
                            },
                            "value": "{capslock}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1744,
                            "end": 1750,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 20
                              },
                              "end": {
                                "line": 58,
                                "column": 26
                              }
                            },
                            "extra": {
                              "rawValue": "caps",
                              "raw": "'caps'"
                            },
                            "value": "caps"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1759,
                          "end": 1779,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 6
                            },
                            "end": {
                              "line": 59,
                              "column": 26
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1759,
                            "end": 1769,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 6
                              },
                              "end": {
                                "line": 59,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{accept}",
                              "raw": "'{accept}'"
                            },
                            "value": "{accept}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1771,
                            "end": 1779,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 18
                              },
                              "end": {
                                "line": 59,
                                "column": 26
                              }
                            },
                            "extra": {
                              "rawValue": "Submit",
                              "raw": "'Submit'"
                            },
                            "value": "Submit"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1788,
                          "end": 1802,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 6
                            },
                            "end": {
                              "line": 60,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1788,
                            "end": 1797,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 6
                              },
                              "end": {
                                "line": 60,
                                "column": 15
                              }
                            },
                            "extra": {
                              "rawValue": "{space}",
                              "raw": "'{space}'"
                            },
                            "value": "{space}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1799,
                            "end": 1802,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 17
                              },
                              "end": {
                                "line": 60,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": " ",
                              "raw": "' '"
                            },
                            "value": " "
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1811,
                          "end": 1822,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 6
                            },
                            "end": {
                              "line": 61,
                              "column": 17
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1811,
                            "end": 1817,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 6
                              },
                              "end": {
                                "line": 61,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{//}",
                              "raw": "'{//}'"
                            },
                            "value": "{//}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1819,
                            "end": 1822,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 14
                              },
                              "end": {
                                "line": 61,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": " ",
                              "raw": "' '"
                            },
                            "value": " "
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1831,
                          "end": 1845,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 6
                            },
                            "end": {
                              "line": 62,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1831,
                            "end": 1838,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 6
                              },
                              "end": {
                                "line": 62,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{esc}",
                              "raw": "\"{esc}\""
                            },
                            "value": "{esc}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1840,
                            "end": 1845,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 15
                              },
                              "end": {
                                "line": 62,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "esc",
                              "raw": "\"esc\""
                            },
                            "value": "esc"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1854,
                          "end": 1871,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 6
                            },
                            "end": {
                              "line": 63,
                              "column": 23
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1854,
                            "end": 1864,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 6
                              },
                              "end": {
                                "line": 63,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{escape}",
                              "raw": "\"{escape}\""
                            },
                            "value": "{escape}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1866,
                            "end": 1871,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 18
                              },
                              "end": {
                                "line": 63,
                                "column": 23
                              }
                            },
                            "extra": {
                              "rawValue": "esc",
                              "raw": "\"esc\""
                            },
                            "value": "esc"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1880,
                          "end": 1892,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 6
                            },
                            "end": {
                              "line": 64,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1880,
                            "end": 1886,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 6
                              },
                              "end": {
                                "line": 64,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f1}",
                              "raw": "\"{f1}\""
                            },
                            "value": "{f1}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1888,
                            "end": 1892,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 14
                              },
                              "end": {
                                "line": 64,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f1",
                              "raw": "\"f1\""
                            },
                            "value": "f1"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1901,
                          "end": 1913,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 6
                            },
                            "end": {
                              "line": 65,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1901,
                            "end": 1907,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 6
                              },
                              "end": {
                                "line": 65,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f2}",
                              "raw": "\"{f2}\""
                            },
                            "value": "{f2}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1909,
                            "end": 1913,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 14
                              },
                              "end": {
                                "line": 65,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f2",
                              "raw": "\"f2\""
                            },
                            "value": "f2"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1922,
                          "end": 1934,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 6
                            },
                            "end": {
                              "line": 66,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1922,
                            "end": 1928,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 6
                              },
                              "end": {
                                "line": 66,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f3}",
                              "raw": "\"{f3}\""
                            },
                            "value": "{f3}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1930,
                            "end": 1934,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 14
                              },
                              "end": {
                                "line": 66,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f3",
                              "raw": "\"f3\""
                            },
                            "value": "f3"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1943,
                          "end": 1955,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 6
                            },
                            "end": {
                              "line": 67,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1943,
                            "end": 1949,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 6
                              },
                              "end": {
                                "line": 67,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f4}",
                              "raw": "\"{f4}\""
                            },
                            "value": "{f4}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1951,
                            "end": 1955,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 14
                              },
                              "end": {
                                "line": 67,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f4",
                              "raw": "\"f4\""
                            },
                            "value": "f4"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1964,
                          "end": 1976,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 6
                            },
                            "end": {
                              "line": 68,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1964,
                            "end": 1970,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 6
                              },
                              "end": {
                                "line": 68,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f5}",
                              "raw": "\"{f5}\""
                            },
                            "value": "{f5}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1972,
                            "end": 1976,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 14
                              },
                              "end": {
                                "line": 68,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f5",
                              "raw": "\"f5\""
                            },
                            "value": "f5"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1985,
                          "end": 1997,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 6
                            },
                            "end": {
                              "line": 69,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1985,
                            "end": 1991,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 6
                              },
                              "end": {
                                "line": 69,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f6}",
                              "raw": "\"{f6}\""
                            },
                            "value": "{f6}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1993,
                            "end": 1997,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 14
                              },
                              "end": {
                                "line": 69,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f6",
                              "raw": "\"f6\""
                            },
                            "value": "f6"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2006,
                          "end": 2018,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 6
                            },
                            "end": {
                              "line": 70,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2006,
                            "end": 2012,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 6
                              },
                              "end": {
                                "line": 70,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f7}",
                              "raw": "\"{f7}\""
                            },
                            "value": "{f7}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2014,
                            "end": 2018,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 14
                              },
                              "end": {
                                "line": 70,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f7",
                              "raw": "\"f7\""
                            },
                            "value": "f7"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2027,
                          "end": 2039,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 6
                            },
                            "end": {
                              "line": 71,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2027,
                            "end": 2033,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 6
                              },
                              "end": {
                                "line": 71,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f8}",
                              "raw": "\"{f8}\""
                            },
                            "value": "{f8}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2035,
                            "end": 2039,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 14
                              },
                              "end": {
                                "line": 71,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f8",
                              "raw": "\"f8\""
                            },
                            "value": "f8"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2048,
                          "end": 2060,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 6
                            },
                            "end": {
                              "line": 72,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2048,
                            "end": 2054,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 6
                              },
                              "end": {
                                "line": 72,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f9}",
                              "raw": "\"{f9}\""
                            },
                            "value": "{f9}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2056,
                            "end": 2060,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 14
                              },
                              "end": {
                                "line": 72,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f9",
                              "raw": "\"f9\""
                            },
                            "value": "f9"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2069,
                          "end": 2083,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 6
                            },
                            "end": {
                              "line": 73,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2069,
                            "end": 2076,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 6
                              },
                              "end": {
                                "line": 73,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{f10}",
                              "raw": "\"{f10}\""
                            },
                            "value": "{f10}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2078,
                            "end": 2083,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 15
                              },
                              "end": {
                                "line": 73,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "f10",
                              "raw": "\"f10\""
                            },
                            "value": "f10"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2092,
                          "end": 2106,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 6
                            },
                            "end": {
                              "line": 74,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2092,
                            "end": 2099,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 6
                              },
                              "end": {
                                "line": 74,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{f11}",
                              "raw": "\"{f11}\""
                            },
                            "value": "{f11}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2101,
                            "end": 2106,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 15
                              },
                              "end": {
                                "line": 74,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "f11",
                              "raw": "\"f11\""
                            },
                            "value": "f11"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2115,
                          "end": 2129,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 6
                            },
                            "end": {
                              "line": 75,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2115,
                            "end": 2122,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 6
                              },
                              "end": {
                                "line": 75,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{f12}",
                              "raw": "\"{f12}\""
                            },
                            "value": "{f12}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2124,
                            "end": 2129,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 15
                              },
                              "end": {
                                "line": 75,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "f12",
                              "raw": "\"f12\""
                            },
                            "value": "f12"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2138,
                          "end": 2159,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 6
                            },
                            "end": {
                              "line": 76,
                              "column": 27
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2138,
                            "end": 2154,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 6
                              },
                              "end": {
                                "line": 76,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "{numpaddivide}",
                              "raw": "'{numpaddivide}'"
                            },
                            "value": "{numpaddivide}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2156,
                            "end": 2159,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 24
                              },
                              "end": {
                                "line": 76,
                                "column": 27
                              }
                            },
                            "extra": {
                              "rawValue": "/",
                              "raw": "'/'"
                            },
                            "value": "/"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2168,
                          "end": 2187,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 6
                            },
                            "end": {
                              "line": 77,
                              "column": 25
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2168,
                            "end": 2179,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 6
                              },
                              "end": {
                                "line": 77,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numlock}",
                              "raw": "'{numlock}'"
                            },
                            "value": "{numlock}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2181,
                            "end": 2187,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 19
                              },
                              "end": {
                                "line": 77,
                                "column": 25
                              }
                            },
                            "extra": {
                              "rawValue": "lock",
                              "raw": "'lock'"
                            },
                            "value": "lock"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2196,
                          "end": 2212,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 6
                            },
                            "end": {
                              "line": 78,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2196,
                            "end": 2207,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 6
                              },
                              "end": {
                                "line": 78,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{arrowup}",
                              "raw": "\"{arrowup}\""
                            },
                            "value": "{arrowup}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2209,
                            "end": 2212,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 19
                              },
                              "end": {
                                "line": 78,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "↑",
                              "raw": "\"↑\""
                            },
                            "value": "↑"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2221,
                          "end": 2239,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 6
                            },
                            "end": {
                              "line": 79,
                              "column": 24
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2221,
                            "end": 2234,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 6
                              },
                              "end": {
                                "line": 79,
                                "column": 19
                              }
                            },
                            "extra": {
                              "rawValue": "{arrowleft}",
                              "raw": "\"{arrowleft}\""
                            },
                            "value": "{arrowleft}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2236,
                            "end": 2239,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 21
                              },
                              "end": {
                                "line": 79,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "←",
                              "raw": "\"←\""
                            },
                            "value": "←"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2248,
                          "end": 2266,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 6
                            },
                            "end": {
                              "line": 80,
                              "column": 24
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2248,
                            "end": 2261,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 6
                              },
                              "end": {
                                "line": 80,
                                "column": 19
                              }
                            },
                            "extra": {
                              "rawValue": "{arrowdown}",
                              "raw": "\"{arrowdown}\""
                            },
                            "value": "{arrowdown}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2263,
                            "end": 2266,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 21
                              },
                              "end": {
                                "line": 80,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "↓",
                              "raw": "\"↓\""
                            },
                            "value": "↓"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2275,
                          "end": 2294,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 6
                            },
                            "end": {
                              "line": 81,
                              "column": 25
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2275,
                            "end": 2289,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 6
                              },
                              "end": {
                                "line": 81,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "{arrowright}",
                              "raw": "\"{arrowright}\""
                            },
                            "value": "{arrowright}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2291,
                            "end": 2294,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 22
                              },
                              "end": {
                                "line": 81,
                                "column": 25
                              }
                            },
                            "extra": {
                              "rawValue": "→",
                              "raw": "\"→\""
                            },
                            "value": "→"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2303,
                          "end": 2322,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 6
                            },
                            "end": {
                              "line": 82,
                              "column": 25
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2303,
                            "end": 2313,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 6
                              },
                              "end": {
                                "line": 82,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{prtscr}",
                              "raw": "\"{prtscr}\""
                            },
                            "value": "{prtscr}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2315,
                            "end": 2322,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 18
                              },
                              "end": {
                                "line": 82,
                                "column": 25
                              }
                            },
                            "extra": {
                              "rawValue": "print",
                              "raw": "\"print\""
                            },
                            "value": "print"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2331,
                          "end": 2355,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 6
                            },
                            "end": {
                              "line": 83,
                              "column": 30
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2331,
                            "end": 2345,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 6
                              },
                              "end": {
                                "line": 83,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "{scrolllock}",
                              "raw": "\"{scrolllock}\""
                            },
                            "value": "{scrolllock}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2347,
                            "end": 2355,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 22
                              },
                              "end": {
                                "line": 83,
                                "column": 30
                              }
                            },
                            "extra": {
                              "rawValue": "scroll",
                              "raw": "\"scroll\""
                            },
                            "value": "scroll"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2364,
                          "end": 2382,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 6
                            },
                            "end": {
                              "line": 84,
                              "column": 24
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2364,
                            "end": 2373,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 6
                              },
                              "end": {
                                "line": 84,
                                "column": 15
                              }
                            },
                            "extra": {
                              "rawValue": "{pause}",
                              "raw": "\"{pause}\""
                            },
                            "value": "{pause}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2375,
                            "end": 2382,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 17
                              },
                              "end": {
                                "line": 84,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "pause",
                              "raw": "\"pause\""
                            },
                            "value": "pause"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2391,
                          "end": 2408,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 6
                            },
                            "end": {
                              "line": 85,
                              "column": 23
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2391,
                            "end": 2401,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 6
                              },
                              "end": {
                                "line": 85,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{insert}",
                              "raw": "\"{insert}\""
                            },
                            "value": "{insert}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2403,
                            "end": 2408,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 18
                              },
                              "end": {
                                "line": 85,
                                "column": 23
                              }
                            },
                            "extra": {
                              "rawValue": "ins",
                              "raw": "\"ins\""
                            },
                            "value": "ins"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2417,
                          "end": 2433,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 6
                            },
                            "end": {
                              "line": 86,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2417,
                            "end": 2425,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 6
                              },
                              "end": {
                                "line": 86,
                                "column": 14
                              }
                            },
                            "extra": {
                              "rawValue": "{home}",
                              "raw": "\"{home}\""
                            },
                            "value": "{home}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2427,
                            "end": 2433,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 16
                              },
                              "end": {
                                "line": 86,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "home",
                              "raw": "\"home\""
                            },
                            "value": "home"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2442,
                          "end": 2458,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 6
                            },
                            "end": {
                              "line": 87,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2442,
                            "end": 2452,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 6
                              },
                              "end": {
                                "line": 87,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{pageup}",
                              "raw": "\"{pageup}\""
                            },
                            "value": "{pageup}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2454,
                            "end": 2458,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 18
                              },
                              "end": {
                                "line": 87,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "up",
                              "raw": "\"up\""
                            },
                            "value": "up"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2467,
                          "end": 2484,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 6
                            },
                            "end": {
                              "line": 88,
                              "column": 23
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2467,
                            "end": 2477,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 6
                              },
                              "end": {
                                "line": 88,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{delete}",
                              "raw": "\"{delete}\""
                            },
                            "value": "{delete}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2479,
                            "end": 2484,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 18
                              },
                              "end": {
                                "line": 88,
                                "column": 23
                              }
                            },
                            "extra": {
                              "rawValue": "del",
                              "raw": "\"del\""
                            },
                            "value": "del"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2493,
                          "end": 2507,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 6
                            },
                            "end": {
                              "line": 89,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2493,
                            "end": 2500,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 6
                              },
                              "end": {
                                "line": 89,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{end}",
                              "raw": "\"{end}\""
                            },
                            "value": "{end}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2502,
                            "end": 2507,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 15
                              },
                              "end": {
                                "line": 89,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "end",
                              "raw": "\"end\""
                            },
                            "value": "end"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2516,
                          "end": 2536,
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 6
                            },
                            "end": {
                              "line": 90,
                              "column": 26
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2516,
                            "end": 2528,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 6
                              },
                              "end": {
                                "line": 90,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "{pagedown}",
                              "raw": "\"{pagedown}\""
                            },
                            "value": "{pagedown}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2530,
                            "end": 2536,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 20
                              },
                              "end": {
                                "line": 90,
                                "column": 26
                              }
                            },
                            "extra": {
                              "rawValue": "down",
                              "raw": "\"down\""
                            },
                            "value": "down"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2545,
                          "end": 2568,
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 6
                            },
                            "end": {
                              "line": 91,
                              "column": 29
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2545,
                            "end": 2563,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 6
                              },
                              "end": {
                                "line": 91,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "{numpadmultiply}",
                              "raw": "\"{numpadmultiply}\""
                            },
                            "value": "{numpadmultiply}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2565,
                            "end": 2568,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 26
                              },
                              "end": {
                                "line": 91,
                                "column": 29
                              }
                            },
                            "extra": {
                              "rawValue": "*",
                              "raw": "\"*\""
                            },
                            "value": "*"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2577,
                          "end": 2600,
                          "loc": {
                            "start": {
                              "line": 92,
                              "column": 6
                            },
                            "end": {
                              "line": 92,
                              "column": 29
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2577,
                            "end": 2595,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 6
                              },
                              "end": {
                                "line": 92,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "{numpadsubtract}",
                              "raw": "\"{numpadsubtract}\""
                            },
                            "value": "{numpadsubtract}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2597,
                            "end": 2600,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 26
                              },
                              "end": {
                                "line": 92,
                                "column": 29
                              }
                            },
                            "extra": {
                              "rawValue": "-",
                              "raw": "\"-\""
                            },
                            "value": "-"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2609,
                          "end": 2627,
                          "loc": {
                            "start": {
                              "line": 93,
                              "column": 6
                            },
                            "end": {
                              "line": 93,
                              "column": 24
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2609,
                            "end": 2622,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 6
                              },
                              "end": {
                                "line": 93,
                                "column": 19
                              }
                            },
                            "extra": {
                              "rawValue": "{numpadadd}",
                              "raw": "\"{numpadadd}\""
                            },
                            "value": "{numpadadd}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2624,
                            "end": 2627,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 21
                              },
                              "end": {
                                "line": 93,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "+",
                              "raw": "\"+\""
                            },
                            "value": "+"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2636,
                          "end": 2660,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 6
                            },
                            "end": {
                              "line": 94,
                              "column": 30
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2636,
                            "end": 2651,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 6
                              },
                              "end": {
                                "line": 94,
                                "column": 21
                              }
                            },
                            "extra": {
                              "rawValue": "{numpadenter}",
                              "raw": "\"{numpadenter}\""
                            },
                            "value": "{numpadenter}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2653,
                            "end": 2660,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 23
                              },
                              "end": {
                                "line": 94,
                                "column": 30
                              }
                            },
                            "extra": {
                              "rawValue": "enter",
                              "raw": "\"enter\""
                            },
                            "value": "enter"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2669,
                          "end": 2684,
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 6
                            },
                            "end": {
                              "line": 95,
                              "column": 21
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2669,
                            "end": 2679,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 6
                              },
                              "end": {
                                "line": 95,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{period}",
                              "raw": "\"{period}\""
                            },
                            "value": "{period}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2681,
                            "end": 2684,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 18
                              },
                              "end": {
                                "line": 95,
                                "column": 21
                              }
                            },
                            "extra": {
                              "rawValue": ".",
                              "raw": "\".\""
                            },
                            "value": "."
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2693,
                          "end": 2715,
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 6
                            },
                            "end": {
                              "line": 96,
                              "column": 28
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2693,
                            "end": 2710,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 6
                              },
                              "end": {
                                "line": 96,
                                "column": 23
                              }
                            },
                            "extra": {
                              "rawValue": "{numpaddecimal}",
                              "raw": "\"{numpaddecimal}\""
                            },
                            "value": "{numpaddecimal}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2712,
                            "end": 2715,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 25
                              },
                              "end": {
                                "line": 96,
                                "column": 28
                              }
                            },
                            "extra": {
                              "rawValue": ".",
                              "raw": "\".\""
                            },
                            "value": "."
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2724,
                          "end": 2740,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 6
                            },
                            "end": {
                              "line": 97,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2724,
                            "end": 2735,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 6
                              },
                              "end": {
                                "line": 97,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad0}",
                              "raw": "\"{numpad0}\""
                            },
                            "value": "{numpad0}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2737,
                            "end": 2740,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 19
                              },
                              "end": {
                                "line": 97,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "0",
                              "raw": "\"0\""
                            },
                            "value": "0"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2749,
                          "end": 2765,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 6
                            },
                            "end": {
                              "line": 98,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2749,
                            "end": 2760,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 6
                              },
                              "end": {
                                "line": 98,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad1}",
                              "raw": "\"{numpad1}\""
                            },
                            "value": "{numpad1}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2762,
                            "end": 2765,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 19
                              },
                              "end": {
                                "line": 98,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "1",
                              "raw": "\"1\""
                            },
                            "value": "1"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2774,
                          "end": 2790,
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 6
                            },
                            "end": {
                              "line": 99,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2774,
                            "end": 2785,
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 6
                              },
                              "end": {
                                "line": 99,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad2}",
                              "raw": "\"{numpad2}\""
                            },
                            "value": "{numpad2}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2787,
                            "end": 2790,
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 19
                              },
                              "end": {
                                "line": 99,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "2",
                              "raw": "\"2\""
                            },
                            "value": "2"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2799,
                          "end": 2815,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 6
                            },
                            "end": {
                              "line": 100,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2799,
                            "end": 2810,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 6
                              },
                              "end": {
                                "line": 100,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad3}",
                              "raw": "\"{numpad3}\""
                            },
                            "value": "{numpad3}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2812,
                            "end": 2815,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 19
                              },
                              "end": {
                                "line": 100,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "3",
                              "raw": "\"3\""
                            },
                            "value": "3"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2824,
                          "end": 2840,
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 6
                            },
                            "end": {
                              "line": 101,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2824,
                            "end": 2835,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 6
                              },
                              "end": {
                                "line": 101,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad4}",
                              "raw": "\"{numpad4}\""
                            },
                            "value": "{numpad4}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2837,
                            "end": 2840,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 19
                              },
                              "end": {
                                "line": 101,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "4",
                              "raw": "\"4\""
                            },
                            "value": "4"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2849,
                          "end": 2865,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 6
                            },
                            "end": {
                              "line": 102,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2849,
                            "end": 2860,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 6
                              },
                              "end": {
                                "line": 102,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad5}",
                              "raw": "\"{numpad5}\""
                            },
                            "value": "{numpad5}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2862,
                            "end": 2865,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 19
                              },
                              "end": {
                                "line": 102,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "5",
                              "raw": "\"5\""
                            },
                            "value": "5"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2874,
                          "end": 2890,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 6
                            },
                            "end": {
                              "line": 103,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2874,
                            "end": 2885,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 6
                              },
                              "end": {
                                "line": 103,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad6}",
                              "raw": "\"{numpad6}\""
                            },
                            "value": "{numpad6}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2887,
                            "end": 2890,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 19
                              },
                              "end": {
                                "line": 103,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "6",
                              "raw": "\"6\""
                            },
                            "value": "6"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2899,
                          "end": 2915,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 6
                            },
                            "end": {
                              "line": 104,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2899,
                            "end": 2910,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 6
                              },
                              "end": {
                                "line": 104,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad7}",
                              "raw": "\"{numpad7}\""
                            },
                            "value": "{numpad7}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2912,
                            "end": 2915,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 19
                              },
                              "end": {
                                "line": 104,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "7",
                              "raw": "\"7\""
                            },
                            "value": "7"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2924,
                          "end": 2940,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 6
                            },
                            "end": {
                              "line": 105,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2924,
                            "end": 2935,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 6
                              },
                              "end": {
                                "line": 105,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad8}",
                              "raw": "\"{numpad8}\""
                            },
                            "value": "{numpad8}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2937,
                            "end": 2940,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 19
                              },
                              "end": {
                                "line": 105,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "8",
                              "raw": "\"8\""
                            },
                            "value": "8"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2949,
                          "end": 2965,
                          "loc": {
                            "start": {
                              "line": 106,
                              "column": 6
                            },
                            "end": {
                              "line": 106,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2949,
                            "end": 2960,
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 6
                              },
                              "end": {
                                "line": 106,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad9}",
                              "raw": "\"{numpad9}\""
                            },
                            "value": "{numpad9}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2962,
                            "end": 2965,
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 19
                              },
                              "end": {
                                "line": 106,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "9",
                              "raw": "\"9\""
                            },
                            "value": "9"
                          }
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Default button display labels\r\n   ",
                  "start": 1361,
                  "end": 1407,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 2
                    },
                    "end": {
                      "line": 45,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Returns the display (label) name for a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {object} display The provided display option\r\n   * @param  {boolean} mergeDisplay Whether the provided param value should be merged with the default one.\r\n   ",
                  "start": 2983,
                  "end": 3281,
                  "loc": {
                    "start": {
                      "line": 109,
                      "column": 2
                    },
                    "end": {
                      "line": 115,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 3285,
              "end": 3550,
              "loc": {
                "start": {
                  "line": 116,
                  "column": 2
                },
                "end": {
                  "line": 124,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3285,
                "end": 3305,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 2
                  },
                  "end": {
                    "line": 116,
                    "column": 22
                  },
                  "identifierName": "getButtonDisplayName"
                },
                "name": "getButtonDisplayName",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3306,
                  "end": 3312,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 23
                    },
                    "end": {
                      "line": 116,
                      "column": 29
                    },
                    "identifierName": "button"
                  },
                  "name": "button"
                },
                {
                  "type": "Identifier",
                  "start": 3314,
                  "end": 3321,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 31
                    },
                    "end": {
                      "line": 116,
                      "column": 38
                    },
                    "identifierName": "display"
                  },
                  "name": "display"
                },
                {
                  "type": "Identifier",
                  "start": 3323,
                  "end": 3335,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 40
                    },
                    "end": {
                      "line": 116,
                      "column": 52
                    },
                    "identifierName": "mergeDisplay"
                  },
                  "name": "mergeDisplay"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 3336,
                "end": 3550,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 53
                  },
                  "end": {
                    "line": 124,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 3343,
                    "end": 3504,
                    "loc": {
                      "start": {
                        "line": 117,
                        "column": 4
                      },
                      "end": {
                        "line": 121,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "Identifier",
                      "start": 3346,
                      "end": 3358,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 7
                        },
                        "end": {
                          "line": 117,
                          "column": 19
                        },
                        "identifierName": "mergeDisplay"
                      },
                      "name": "mergeDisplay"
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 3359,
                      "end": 3437,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 20
                        },
                        "end": {
                          "line": 119,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 3368,
                          "end": 3430,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 6
                            },
                            "end": {
                              "line": 118,
                              "column": 68
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 3368,
                            "end": 3429,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 6
                              },
                              "end": {
                                "line": 118,
                                "column": 67
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 3368,
                              "end": 3375,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 6
                                },
                                "end": {
                                  "line": 118,
                                  "column": 13
                                },
                                "identifierName": "display"
                              },
                              "name": "display"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 3378,
                              "end": 3429,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 16
                                },
                                "end": {
                                  "line": 118,
                                  "column": 67
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3378,
                                "end": 3391,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3378,
                                  "end": 3384,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 22
                                    },
                                    "identifierName": "Object"
                                  },
                                  "name": "Object"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3385,
                                  "end": 3391,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 29
                                    },
                                    "identifierName": "assign"
                                  },
                                  "name": "assign"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 3392,
                                  "end": 3394,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 32
                                    }
                                  },
                                  "properties": []
                                },
                                {
                                  "type": "CallExpression",
                                  "start": 3396,
                                  "end": 3419,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 57
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3396,
                                    "end": 3417,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 55
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3396,
                                      "end": 3400,
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3401,
                                      "end": 3417,
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 55
                                        },
                                        "identifierName": "getDefaultDiplay"
                                      },
                                      "name": "getDefaultDiplay"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                {
                                  "type": "Identifier",
                                  "start": 3421,
                                  "end": 3428,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 66
                                    },
                                    "identifierName": "display"
                                  },
                                  "name": "display"
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "start": 3443,
                      "end": 3504,
                      "loc": {
                        "start": {
                          "line": 119,
                          "column": 11
                        },
                        "end": {
                          "line": 121,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 3452,
                          "end": 3497,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 6
                            },
                            "end": {
                              "line": 120,
                              "column": 51
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 3452,
                            "end": 3496,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 6
                              },
                              "end": {
                                "line": 120,
                                "column": 50
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 3452,
                              "end": 3459,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 6
                                },
                                "end": {
                                  "line": 120,
                                  "column": 13
                                },
                                "identifierName": "display"
                              },
                              "name": "display"
                            },
                            "right": {
                              "type": "LogicalExpression",
                              "start": 3462,
                              "end": 3496,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 16
                                },
                                "end": {
                                  "line": 120,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 3462,
                                "end": 3469,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 23
                                  },
                                  "identifierName": "display"
                                },
                                "name": "display"
                              },
                              "operator": "||",
                              "right": {
                                "type": "CallExpression",
                                "start": 3473,
                                "end": 3496,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 50
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3473,
                                  "end": 3494,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 3473,
                                    "end": 3477,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3478,
                                    "end": 3494,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 48
                                      },
                                      "identifierName": "getDefaultDiplay"
                                    },
                                    "name": "getDefaultDiplay"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          }
                        }
                      ],
                      "directives": []
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 3512,
                    "end": 3545,
                    "loc": {
                      "start": {
                        "line": 123,
                        "column": 4
                      },
                      "end": {
                        "line": 123,
                        "column": 37
                      }
                    },
                    "argument": {
                      "type": "LogicalExpression",
                      "start": 3519,
                      "end": 3544,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 11
                        },
                        "end": {
                          "line": 123,
                          "column": 36
                        }
                      },
                      "left": {
                        "type": "MemberExpression",
                        "start": 3519,
                        "end": 3534,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 11
                          },
                          "end": {
                            "line": 123,
                            "column": 26
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3519,
                          "end": 3526,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 11
                            },
                            "end": {
                              "line": 123,
                              "column": 18
                            },
                            "identifierName": "display"
                          },
                          "name": "display"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3527,
                          "end": 3533,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 19
                            },
                            "end": {
                              "line": 123,
                              "column": 25
                            },
                            "identifierName": "button"
                          },
                          "name": "button"
                        },
                        "computed": true
                      },
                      "operator": "||",
                      "right": {
                        "type": "Identifier",
                        "start": 3538,
                        "end": 3544,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 30
                          },
                          "end": {
                            "line": 123,
                            "column": 36
                          },
                          "identifierName": "button"
                        },
                        "name": "button"
                      }
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Returns the display (label) name for a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {object} display The provided display option\r\n   * @param  {boolean} mergeDisplay Whether the provided param value should be merged with the default one.\r\n   ",
                  "start": 2983,
                  "end": 3281,
                  "loc": {
                    "start": {
                      "line": 109,
                      "column": 2
                    },
                    "end": {
                      "line": 115,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Returns the updated input resulting from clicking a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {string} input The input string\r\n   * @param  {object} options The simple-keyboard options object\r\n   * @param  {number} caretPos The cursor's current position\r\n   ",
                  "start": 3560,
                  "end": 3877,
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 2
                    },
                    "end": {
                      "line": 134,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 3881,
              "end": 5467,
              "loc": {
                "start": {
                  "line": 135,
                  "column": 2
                },
                "end": {
                  "line": 175,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3881,
                "end": 3896,
                "loc": {
                  "start": {
                    "line": 135,
                    "column": 2
                  },
                  "end": {
                    "line": 135,
                    "column": 17
                  },
                  "identifierName": "getUpdatedInput"
                },
                "name": "getUpdatedInput",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3897,
                  "end": 3903,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 18
                    },
                    "end": {
                      "line": 135,
                      "column": 24
                    },
                    "identifierName": "button"
                  },
                  "name": "button"
                },
                {
                  "type": "Identifier",
                  "start": 3905,
                  "end": 3910,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 26
                    },
                    "end": {
                      "line": 135,
                      "column": 31
                    },
                    "identifierName": "input"
                  },
                  "name": "input"
                },
                {
                  "type": "Identifier",
                  "start": 3912,
                  "end": 3919,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 33
                    },
                    "end": {
                      "line": 135,
                      "column": 40
                    },
                    "identifierName": "options"
                  },
                  "name": "options"
                },
                {
                  "type": "Identifier",
                  "start": 3921,
                  "end": 3929,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 42
                    },
                    "end": {
                      "line": 135,
                      "column": 50
                    },
                    "identifierName": "caretPos"
                  },
                  "name": "caretPos"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 3930,
                "end": 5467,
                "loc": {
                  "start": {
                    "line": 135,
                    "column": 51
                  },
                  "end": {
                    "line": 175,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 3943,
                    "end": 3962,
                    "loc": {
                      "start": {
                        "line": 137,
                        "column": 4
                      },
                      "end": {
                        "line": 137,
                        "column": 23
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 3947,
                        "end": 3961,
                        "loc": {
                          "start": {
                            "line": 137,
                            "column": 8
                          },
                          "end": {
                            "line": 137,
                            "column": 22
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 3947,
                          "end": 3953,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 8
                            },
                            "end": {
                              "line": 137,
                              "column": 14
                            },
                            "identifierName": "output"
                          },
                          "name": "output"
                        },
                        "init": {
                          "type": "Identifier",
                          "start": 3956,
                          "end": 3961,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 17
                            },
                            "end": {
                              "line": 137,
                              "column": 22
                            },
                            "identifierName": "input"
                          },
                          "name": "input"
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "IfStatement",
                    "start": 3970,
                    "end": 5440,
                    "loc": {
                      "start": {
                        "line": 139,
                        "column": 4
                      },
                      "end": {
                        "line": 172,
                        "column": 58
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 3973,
                      "end": 4043,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 7
                        },
                        "end": {
                          "line": 139,
                          "column": 77
                        }
                      },
                      "left": {
                        "type": "LogicalExpression",
                        "start": 3974,
                        "end": 4021,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 8
                          },
                          "end": {
                            "line": 139,
                            "column": 55
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 3974,
                          "end": 3993,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 8
                            },
                            "end": {
                              "line": 139,
                              "column": 27
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 3974,
                            "end": 3980,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 8
                              },
                              "end": {
                                "line": 139,
                                "column": 14
                              },
                              "identifierName": "button"
                            },
                            "name": "button"
                          },
                          "operator": "===",
                          "right": {
                            "type": "StringLiteral",
                            "start": 3985,
                            "end": 3993,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 19
                              },
                              "end": {
                                "line": 139,
                                "column": 27
                              }
                            },
                            "extra": {
                              "rawValue": "{bksp}",
                              "raw": "\"{bksp}\""
                            },
                            "value": "{bksp}"
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 3997,
                          "end": 4021,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 31
                            },
                            "end": {
                              "line": 139,
                              "column": 55
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 3997,
                            "end": 4003,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 31
                              },
                              "end": {
                                "line": 139,
                                "column": 37
                              },
                              "identifierName": "button"
                            },
                            "name": "button"
                          },
                          "operator": "===",
                          "right": {
                            "type": "StringLiteral",
                            "start": 4008,
                            "end": 4021,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 42
                              },
                              "end": {
                                "line": 139,
                                "column": 55
                              }
                            },
                            "extra": {
                              "rawValue": "{backspace}",
                              "raw": "\"{backspace}\""
                            },
                            "value": "{backspace}"
                          }
                        },
                        "extra": {
                          "parenthesized": true,
                          "parenStart": 3973
                        }
                      },
                      "operator": "&&",
                      "right": {
                        "type": "BinaryExpression",
                        "start": 4026,
                        "end": 4043,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 60
                          },
                          "end": {
                            "line": 139,
                            "column": 77
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 4026,
                          "end": 4039,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 60
                            },
                            "end": {
                              "line": 139,
                              "column": 73
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4026,
                            "end": 4032,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 60
                              },
                              "end": {
                                "line": 139,
                                "column": 66
                              },
                              "identifierName": "output"
                            },
                            "name": "output"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4033,
                            "end": 4039,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 67
                              },
                              "end": {
                                "line": 139,
                                "column": 73
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "operator": ">",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 4042,
                          "end": 4043,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 76
                            },
                            "end": {
                              "line": 139,
                              "column": 77
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 4044,
                      "end": 4103,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 78
                        },
                        "end": {
                          "line": 142,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 4053,
                          "end": 4094,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 6
                            },
                            "end": {
                              "line": 140,
                              "column": 47
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 4053,
                            "end": 4093,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 6
                              },
                              "end": {
                                "line": 140,
                                "column": 46
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 4053,
                              "end": 4059,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 6
                                },
                                "end": {
                                  "line": 140,
                                  "column": 12
                                },
                                "identifierName": "output"
                              },
                              "name": "output"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 4062,
                              "end": 4093,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 15
                                },
                                "end": {
                                  "line": 140,
                                  "column": 46
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4062,
                                "end": 4075,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 28
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4062,
                                  "end": 4066,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4067,
                                  "end": 4075,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 28
                                    },
                                    "identifierName": "removeAt"
                                  },
                                  "name": "removeAt"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 4076,
                                  "end": 4082,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 35
                                    },
                                    "identifierName": "output"
                                  },
                                  "name": "output"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 4084,
                                  "end": 4092,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 45
                                    },
                                    "identifierName": "caretPos"
                                  },
                                  "name": "caretPos"
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": {
                      "type": "IfStatement",
                      "start": 4109,
                      "end": 5440,
                      "loc": {
                        "start": {
                          "line": 142,
                          "column": 11
                        },
                        "end": {
                          "line": 172,
                          "column": 58
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4112,
                        "end": 4132,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 14
                          },
                          "end": {
                            "line": 142,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 4112,
                          "end": 4118,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 14
                            },
                            "end": {
                              "line": 142,
                              "column": 20
                            },
                            "identifierName": "button"
                          },
                          "name": "button"
                        },
                        "operator": "===",
                        "right": {
                          "type": "StringLiteral",
                          "start": 4123,
                          "end": 4132,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 25
                            },
                            "end": {
                              "line": 142,
                              "column": 34
                            }
                          },
                          "extra": {
                            "rawValue": "{space}",
                            "raw": "\"{space}\""
                          },
                          "value": "{space}"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 4141,
                        "end": 4190,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 6
                          },
                          "end": {
                            "line": 143,
                            "column": 55
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 4141,
                          "end": 4189,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 6
                            },
                            "end": {
                              "line": 143,
                              "column": 54
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 4141,
                            "end": 4147,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 6
                              },
                              "end": {
                                "line": 143,
                                "column": 12
                              },
                              "identifierName": "output"
                            },
                            "name": "output"
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 4150,
                            "end": 4189,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 15
                              },
                              "end": {
                                "line": 143,
                                "column": 54
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4150,
                              "end": 4166,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 15
                                },
                                "end": {
                                  "line": 143,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4150,
                                "end": 4154,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 19
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4155,
                                "end": 4166,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 31
                                  },
                                  "identifierName": "addStringAt"
                                },
                                "name": "addStringAt"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 4167,
                                "end": 4173,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 38
                                  },
                                  "identifierName": "output"
                                },
                                "name": "output"
                              },
                              {
                                "type": "StringLiteral",
                                "start": 4175,
                                "end": 4178,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 43
                                  }
                                },
                                "extra": {
                                  "rawValue": " ",
                                  "raw": "\" \""
                                },
                                "value": " "
                              },
                              {
                                "type": "Identifier",
                                "start": 4180,
                                "end": 4188,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 53
                                  },
                                  "identifierName": "caretPos"
                                },
                                "name": "caretPos"
                              }
                            ]
                          }
                        }
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 4203,
                        "end": 5440,
                        "loc": {
                          "start": {
                            "line": 145,
                            "column": 9
                          },
                          "end": {
                            "line": 172,
                            "column": 58
                          }
                        },
                        "test": {
                          "type": "LogicalExpression",
                          "start": 4206,
                          "end": 4306,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 12
                            },
                            "end": {
                              "line": 145,
                              "column": 112
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 4206,
                            "end": 4224,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 12
                              },
                              "end": {
                                "line": 145,
                                "column": 30
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 4206,
                              "end": 4212,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 12
                                },
                                "end": {
                                  "line": 145,
                                  "column": 18
                                },
                                "identifierName": "button"
                              },
                              "name": "button"
                            },
                            "operator": "===",
                            "right": {
                              "type": "StringLiteral",
                              "start": 4217,
                              "end": 4224,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 23
                                },
                                "end": {
                                  "line": 145,
                                  "column": 30
                                }
                              },
                              "extra": {
                                "rawValue": "{tab}",
                                "raw": "\"{tab}\""
                              },
                              "value": "{tab}"
                            }
                          },
                          "operator": "&&",
                          "right": {
                            "type": "UnaryExpression",
                            "start": 4228,
                            "end": 4306,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 34
                              },
                              "end": {
                                "line": 145,
                                "column": 112
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "LogicalExpression",
                              "start": 4230,
                              "end": 4305,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 36
                                },
                                "end": {
                                  "line": 145,
                                  "column": 111
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 4230,
                                "end": 4271,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 77
                                  }
                                },
                                "left": {
                                  "type": "UnaryExpression",
                                  "start": 4230,
                                  "end": 4257,
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 63
                                    }
                                  },
                                  "operator": "typeof",
                                  "prefix": true,
                                  "argument": {
                                    "type": "MemberExpression",
                                    "start": 4237,
                                    "end": 4257,
                                    "loc": {
                                      "start": {
                                        "line": 145,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 145,
                                        "column": 63
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4237,
                                      "end": 4244,
                                      "loc": {
                                        "start": {
                                          "line": 145,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 145,
                                          "column": 50
                                        },
                                        "identifierName": "options"
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4245,
                                      "end": 4257,
                                      "loc": {
                                        "start": {
                                          "line": 145,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 145,
                                          "column": 63
                                        },
                                        "identifierName": "tabCharOnTab"
                                      },
                                      "name": "tabCharOnTab"
                                    },
                                    "computed": false
                                  },
                                  "extra": {
                                    "parenthesizedArgument": false
                                  }
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 4262,
                                  "end": 4271,
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 68
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 77
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "boolean",
                                    "raw": "\"boolean\""
                                  },
                                  "value": "boolean"
                                }
                              },
                              "operator": "&&",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 4275,
                                "end": 4305,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 81
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 111
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 4275,
                                  "end": 4295,
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 101
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4275,
                                    "end": 4282,
                                    "loc": {
                                      "start": {
                                        "line": 145,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 145,
                                        "column": 88
                                      },
                                      "identifierName": "options"
                                    },
                                    "name": "options"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4283,
                                    "end": 4295,
                                    "loc": {
                                      "start": {
                                        "line": 145,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 145,
                                        "column": 101
                                      },
                                      "identifierName": "tabCharOnTab"
                                    },
                                    "name": "tabCharOnTab"
                                  },
                                  "computed": false
                                },
                                "operator": "===",
                                "right": {
                                  "type": "BooleanLiteral",
                                  "start": 4300,
                                  "end": 4305,
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 106
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 111
                                    }
                                  },
                                  "value": false
                                }
                              },
                              "extra": {
                                "parenthesized": true,
                                "parenStart": 4229
                              }
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 4307,
                          "end": 4375,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 113
                            },
                            "end": {
                              "line": 148,
                              "column": 5
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 4316,
                              "end": 4366,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 6
                                },
                                "end": {
                                  "line": 146,
                                  "column": 56
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 4316,
                                "end": 4365,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 55
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 4316,
                                  "end": 4322,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 12
                                    },
                                    "identifierName": "output"
                                  },
                                  "name": "output"
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 4325,
                                  "end": 4365,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 55
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4325,
                                    "end": 4341,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4325,
                                      "end": 4329,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4330,
                                      "end": 4341,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 31
                                        },
                                        "identifierName": "addStringAt"
                                      },
                                      "name": "addStringAt"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 4342,
                                      "end": 4348,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 38
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    {
                                      "type": "StringLiteral",
                                      "start": 4350,
                                      "end": 4354,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 44
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "\t",
                                        "raw": "\"\\t\""
                                      },
                                      "value": "\t"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 4356,
                                      "end": 4364,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 54
                                        },
                                        "identifierName": "caretPos"
                                      },
                                      "name": "caretPos"
                                    }
                                  ]
                                }
                              }
                            }
                          ],
                          "directives": []
                        },
                        "alternate": {
                          "type": "IfStatement",
                          "start": 4381,
                          "end": 5440,
                          "loc": {
                            "start": {
                              "line": 148,
                              "column": 11
                            },
                            "end": {
                              "line": 172,
                              "column": 58
                            }
                          },
                          "test": {
                            "type": "LogicalExpression",
                            "start": 4384,
                            "end": 4462,
                            "loc": {
                              "start": {
                                "line": 148,
                                "column": 14
                              },
                              "end": {
                                "line": 148,
                                "column": 92
                              }
                            },
                            "left": {
                              "type": "LogicalExpression",
                              "start": 4385,
                              "end": 4435,
                              "loc": {
                                "start": {
                                  "line": 148,
                                  "column": 15
                                },
                                "end": {
                                  "line": 148,
                                  "column": 65
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 4385,
                                "end": 4405,
                                "loc": {
                                  "start": {
                                    "line": 148,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 148,
                                    "column": 35
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 4385,
                                  "end": 4391,
                                  "loc": {
                                    "start": {
                                      "line": 148,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 148,
                                      "column": 21
                                    },
                                    "identifierName": "button"
                                  },
                                  "name": "button"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 4396,
                                  "end": 4405,
                                  "loc": {
                                    "start": {
                                      "line": 148,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 148,
                                      "column": 35
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "{enter}",
                                    "raw": "\"{enter}\""
                                  },
                                  "value": "{enter}"
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 4409,
                                "end": 4435,
                                "loc": {
                                  "start": {
                                    "line": 148,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 148,
                                    "column": 65
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 4409,
                                  "end": 4415,
                                  "loc": {
                                    "start": {
                                      "line": 148,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 148,
                                      "column": 45
                                    },
                                    "identifierName": "button"
                                  },
                                  "name": "button"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 4420,
                                  "end": 4435,
                                  "loc": {
                                    "start": {
                                      "line": 148,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 148,
                                      "column": 65
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "{numpadenter}",
                                    "raw": "\"{numpadenter}\""
                                  },
                                  "value": "{numpadenter}"
                                }
                              },
                              "extra": {
                                "parenthesized": true,
                                "parenStart": 4384
                              }
                            },
                            "operator": "&&",
                            "right": {
                              "type": "MemberExpression",
                              "start": 4440,
                              "end": 4462,
                              "loc": {
                                "start": {
                                  "line": 148,
                                  "column": 70
                                },
                                "end": {
                                  "line": 148,
                                  "column": 92
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4440,
                                "end": 4447,
                                "loc": {
                                  "start": {
                                    "line": 148,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 148,
                                    "column": 77
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4448,
                                "end": 4462,
                                "loc": {
                                  "start": {
                                    "line": 148,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 148,
                                    "column": 92
                                  },
                                  "identifierName": "newLineOnEnter"
                                },
                                "name": "newLineOnEnter"
                              },
                              "computed": false
                            }
                          },
                          "consequent": {
                            "type": "ExpressionStatement",
                            "start": 4471,
                            "end": 4521,
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 6
                              },
                              "end": {
                                "line": 149,
                                "column": 56
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4471,
                              "end": 4520,
                              "loc": {
                                "start": {
                                  "line": 149,
                                  "column": 6
                                },
                                "end": {
                                  "line": 149,
                                  "column": 55
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 4471,
                                "end": 4477,
                                "loc": {
                                  "start": {
                                    "line": 149,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 149,
                                    "column": 12
                                  },
                                  "identifierName": "output"
                                },
                                "name": "output"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 4480,
                                "end": 4520,
                                "loc": {
                                  "start": {
                                    "line": 149,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 149,
                                    "column": 55
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4480,
                                  "end": 4496,
                                  "loc": {
                                    "start": {
                                      "line": 149,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4480,
                                    "end": 4484,
                                    "loc": {
                                      "start": {
                                        "line": 149,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 149,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4485,
                                    "end": 4496,
                                    "loc": {
                                      "start": {
                                        "line": 149,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 149,
                                        "column": 31
                                      },
                                      "identifierName": "addStringAt"
                                    },
                                    "name": "addStringAt"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 4497,
                                    "end": 4503,
                                    "loc": {
                                      "start": {
                                        "line": 149,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 149,
                                        "column": 38
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  {
                                    "type": "StringLiteral",
                                    "start": 4505,
                                    "end": 4509,
                                    "loc": {
                                      "start": {
                                        "line": 149,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 149,
                                        "column": 44
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "\n",
                                      "raw": "\"\\n\""
                                    },
                                    "value": "\n"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 4511,
                                    "end": 4519,
                                    "loc": {
                                      "start": {
                                        "line": 149,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 149,
                                        "column": 54
                                      },
                                      "identifierName": "caretPos"
                                    },
                                    "name": "caretPos"
                                  }
                                ]
                              }
                            }
                          },
                          "alternate": {
                            "type": "IfStatement",
                            "start": 4534,
                            "end": 5440,
                            "loc": {
                              "start": {
                                "line": 151,
                                "column": 9
                              },
                              "end": {
                                "line": 172,
                                "column": 58
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 4537,
                              "end": 4617,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 12
                                },
                                "end": {
                                  "line": 151,
                                  "column": 92
                                }
                              },
                              "left": {
                                "type": "CallExpression",
                                "start": 4537,
                                "end": 4562,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 37
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4537,
                                  "end": 4552,
                                  "loc": {
                                    "start": {
                                      "line": 151,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 151,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4537,
                                    "end": 4543,
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 18
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4544,
                                    "end": 4552,
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 27
                                      },
                                      "identifierName": "includes"
                                    },
                                    "name": "includes"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 4553,
                                    "end": 4561,
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 36
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "numpad",
                                      "raw": "\"numpad\""
                                    },
                                    "value": "numpad"
                                  }
                                ]
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 4566,
                                "end": 4617,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 92
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4566,
                                  "end": 4582,
                                  "loc": {
                                    "start": {
                                      "line": 151,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 151,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4566,
                                    "end": 4572,
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 47
                                      },
                                      "identifierName": "Number"
                                    },
                                    "name": "Number"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4573,
                                    "end": 4582,
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 57
                                      },
                                      "identifierName": "isInteger"
                                    },
                                    "name": "isInteger"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 4583,
                                    "end": 4616,
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 91
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 4583,
                                      "end": 4589,
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 64
                                        },
                                        "identifierName": "Number"
                                      },
                                      "name": "Number"
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 4590,
                                        "end": 4615,
                                        "loc": {
                                          "start": {
                                            "line": 151,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 151,
                                            "column": 90
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4590,
                                          "end": 4596,
                                          "loc": {
                                            "start": {
                                              "line": 151,
                                              "column": 65
                                            },
                                            "end": {
                                              "line": 151,
                                              "column": 71
                                            },
                                            "identifierName": "button"
                                          },
                                          "name": "button"
                                        },
                                        "property": {
                                          "type": "BinaryExpression",
                                          "start": 4597,
                                          "end": 4614,
                                          "loc": {
                                            "start": {
                                              "line": 151,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 151,
                                              "column": 89
                                            }
                                          },
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 4597,
                                            "end": 4610,
                                            "loc": {
                                              "start": {
                                                "line": 151,
                                                "column": 72
                                              },
                                              "end": {
                                                "line": 151,
                                                "column": 85
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 4597,
                                              "end": 4603,
                                              "loc": {
                                                "start": {
                                                  "line": 151,
                                                  "column": 72
                                                },
                                                "end": {
                                                  "line": 151,
                                                  "column": 78
                                                },
                                                "identifierName": "button"
                                              },
                                              "name": "button"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4604,
                                              "end": 4610,
                                              "loc": {
                                                "start": {
                                                  "line": 151,
                                                  "column": 79
                                                },
                                                "end": {
                                                  "line": 151,
                                                  "column": 85
                                                },
                                                "identifierName": "length"
                                              },
                                              "name": "length"
                                            },
                                            "computed": false
                                          },
                                          "operator": "-",
                                          "right": {
                                            "type": "NumericLiteral",
                                            "start": 4613,
                                            "end": 4614,
                                            "loc": {
                                              "start": {
                                                "line": 151,
                                                "column": 88
                                              },
                                              "end": {
                                                "line": 151,
                                                "column": 89
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 2,
                                              "raw": "2"
                                            },
                                            "value": 2
                                          }
                                        },
                                        "computed": true
                                      }
                                    ]
                                  }
                                ]
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 4618,
                              "end": 4705,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 93
                                },
                                "end": {
                                  "line": 153,
                                  "column": 5
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 4627,
                                  "end": 4698,
                                  "loc": {
                                    "start": {
                                      "line": 152,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 152,
                                      "column": 77
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 4627,
                                    "end": 4697,
                                    "loc": {
                                      "start": {
                                        "line": 152,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 152,
                                        "column": 76
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 4627,
                                      "end": 4633,
                                      "loc": {
                                        "start": {
                                          "line": 152,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 152,
                                          "column": 12
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 4636,
                                      "end": 4697,
                                      "loc": {
                                        "start": {
                                          "line": 152,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 152,
                                          "column": 76
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 4636,
                                        "end": 4652,
                                        "loc": {
                                          "start": {
                                            "line": 152,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 152,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 4636,
                                          "end": 4640,
                                          "loc": {
                                            "start": {
                                              "line": 152,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 152,
                                              "column": 19
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4641,
                                          "end": 4652,
                                          "loc": {
                                            "start": {
                                              "line": 152,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 152,
                                              "column": 31
                                            },
                                            "identifierName": "addStringAt"
                                          },
                                          "name": "addStringAt"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 4653,
                                          "end": 4659,
                                          "loc": {
                                            "start": {
                                              "line": 152,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 152,
                                              "column": 38
                                            },
                                            "identifierName": "output"
                                          },
                                          "name": "output"
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 4661,
                                          "end": 4686,
                                          "loc": {
                                            "start": {
                                              "line": 152,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 152,
                                              "column": 65
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 4661,
                                            "end": 4667,
                                            "loc": {
                                              "start": {
                                                "line": 152,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 152,
                                                "column": 46
                                              },
                                              "identifierName": "button"
                                            },
                                            "name": "button"
                                          },
                                          "property": {
                                            "type": "BinaryExpression",
                                            "start": 4668,
                                            "end": 4685,
                                            "loc": {
                                              "start": {
                                                "line": 152,
                                                "column": 47
                                              },
                                              "end": {
                                                "line": 152,
                                                "column": 64
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 4668,
                                              "end": 4681,
                                              "loc": {
                                                "start": {
                                                  "line": 152,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 152,
                                                  "column": 60
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4668,
                                                "end": 4674,
                                                "loc": {
                                                  "start": {
                                                    "line": 152,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 152,
                                                    "column": 53
                                                  },
                                                  "identifierName": "button"
                                                },
                                                "name": "button"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4675,
                                                "end": 4681,
                                                "loc": {
                                                  "start": {
                                                    "line": 152,
                                                    "column": 54
                                                  },
                                                  "end": {
                                                    "line": 152,
                                                    "column": 60
                                                  },
                                                  "identifierName": "length"
                                                },
                                                "name": "length"
                                              },
                                              "computed": false
                                            },
                                            "operator": "-",
                                            "right": {
                                              "type": "NumericLiteral",
                                              "start": 4684,
                                              "end": 4685,
                                              "loc": {
                                                "start": {
                                                  "line": 152,
                                                  "column": 63
                                                },
                                                "end": {
                                                  "line": 152,
                                                  "column": 64
                                                }
                                              },
                                              "extra": {
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "value": 2
                                            }
                                          },
                                          "computed": true
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 4688,
                                          "end": 4696,
                                          "loc": {
                                            "start": {
                                              "line": 152,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 152,
                                              "column": 75
                                            },
                                            "identifierName": "caretPos"
                                          },
                                          "name": "caretPos"
                                        }
                                      ]
                                    }
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": {
                              "type": "IfStatement",
                              "start": 4716,
                              "end": 5440,
                              "loc": {
                                "start": {
                                  "line": 154,
                                  "column": 9
                                },
                                "end": {
                                  "line": 172,
                                  "column": 58
                                }
                              },
                              "test": {
                                "type": "BinaryExpression",
                                "start": 4719,
                                "end": 4746,
                                "loc": {
                                  "start": {
                                    "line": 154,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 154,
                                    "column": 39
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 4719,
                                  "end": 4725,
                                  "loc": {
                                    "start": {
                                      "line": 154,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 154,
                                      "column": 18
                                    },
                                    "identifierName": "button"
                                  },
                                  "name": "button"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 4730,
                                  "end": 4746,
                                  "loc": {
                                    "start": {
                                      "line": 154,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 154,
                                      "column": 39
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "{numpaddivide}",
                                    "raw": "\"{numpaddivide}\""
                                  },
                                  "value": "{numpaddivide}"
                                }
                              },
                              "consequent": {
                                "type": "ExpressionStatement",
                                "start": 4755,
                                "end": 4804,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 55
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 4755,
                                  "end": 4803,
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 54
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4755,
                                    "end": 4761,
                                    "loc": {
                                      "start": {
                                        "line": 155,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 155,
                                        "column": 12
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 4764,
                                    "end": 4803,
                                    "loc": {
                                      "start": {
                                        "line": 155,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 155,
                                        "column": 54
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4764,
                                      "end": 4780,
                                      "loc": {
                                        "start": {
                                          "line": 155,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 155,
                                          "column": 31
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 4764,
                                        "end": 4768,
                                        "loc": {
                                          "start": {
                                            "line": 155,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 155,
                                            "column": 19
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4769,
                                        "end": 4780,
                                        "loc": {
                                          "start": {
                                            "line": 155,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 155,
                                            "column": 31
                                          },
                                          "identifierName": "addStringAt"
                                        },
                                        "name": "addStringAt"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 4781,
                                        "end": 4787,
                                        "loc": {
                                          "start": {
                                            "line": 155,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 155,
                                            "column": 38
                                          },
                                          "identifierName": "output"
                                        },
                                        "name": "output"
                                      },
                                      {
                                        "type": "StringLiteral",
                                        "start": 4789,
                                        "end": 4792,
                                        "loc": {
                                          "start": {
                                            "line": 155,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 155,
                                            "column": 43
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "/",
                                          "raw": "'/'"
                                        },
                                        "value": "/"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 4794,
                                        "end": 4802,
                                        "loc": {
                                          "start": {
                                            "line": 155,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 155,
                                            "column": 53
                                          },
                                          "identifierName": "caretPos"
                                        },
                                        "name": "caretPos"
                                      }
                                    ]
                                  }
                                }
                              },
                              "alternate": {
                                "type": "IfStatement",
                                "start": 4817,
                                "end": 5440,
                                "loc": {
                                  "start": {
                                    "line": 157,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 172,
                                    "column": 58
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 4820,
                                  "end": 4849,
                                  "loc": {
                                    "start": {
                                      "line": 157,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 157,
                                      "column": 41
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4820,
                                    "end": 4826,
                                    "loc": {
                                      "start": {
                                        "line": 157,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 157,
                                        "column": 18
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 4831,
                                    "end": 4849,
                                    "loc": {
                                      "start": {
                                        "line": 157,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 157,
                                        "column": 41
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "{numpadmultiply}",
                                      "raw": "\"{numpadmultiply}\""
                                    },
                                    "value": "{numpadmultiply}"
                                  }
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 4858,
                                  "end": 4907,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 55
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 4858,
                                    "end": 4906,
                                    "loc": {
                                      "start": {
                                        "line": 158,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 158,
                                        "column": 54
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 4858,
                                      "end": 4864,
                                      "loc": {
                                        "start": {
                                          "line": 158,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 158,
                                          "column": 12
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 4867,
                                      "end": 4906,
                                      "loc": {
                                        "start": {
                                          "line": 158,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 158,
                                          "column": 54
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 4867,
                                        "end": 4883,
                                        "loc": {
                                          "start": {
                                            "line": 158,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 158,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 4867,
                                          "end": 4871,
                                          "loc": {
                                            "start": {
                                              "line": 158,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 158,
                                              "column": 19
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4872,
                                          "end": 4883,
                                          "loc": {
                                            "start": {
                                              "line": 158,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 158,
                                              "column": 31
                                            },
                                            "identifierName": "addStringAt"
                                          },
                                          "name": "addStringAt"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 4884,
                                          "end": 4890,
                                          "loc": {
                                            "start": {
                                              "line": 158,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 158,
                                              "column": 38
                                            },
                                            "identifierName": "output"
                                          },
                                          "name": "output"
                                        },
                                        {
                                          "type": "StringLiteral",
                                          "start": 4892,
                                          "end": 4895,
                                          "loc": {
                                            "start": {
                                              "line": 158,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 158,
                                              "column": 43
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "*",
                                            "raw": "'*'"
                                          },
                                          "value": "*"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 4897,
                                          "end": 4905,
                                          "loc": {
                                            "start": {
                                              "line": 158,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 158,
                                              "column": 53
                                            },
                                            "identifierName": "caretPos"
                                          },
                                          "name": "caretPos"
                                        }
                                      ]
                                    }
                                  }
                                },
                                "alternate": {
                                  "type": "IfStatement",
                                  "start": 4918,
                                  "end": 5440,
                                  "loc": {
                                    "start": {
                                      "line": 159,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 172,
                                      "column": 58
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 4921,
                                    "end": 4950,
                                    "loc": {
                                      "start": {
                                        "line": 159,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 159,
                                        "column": 41
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 4921,
                                      "end": 4927,
                                      "loc": {
                                        "start": {
                                          "line": 159,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 159,
                                          "column": 18
                                        },
                                        "identifierName": "button"
                                      },
                                      "name": "button"
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "StringLiteral",
                                      "start": 4932,
                                      "end": 4950,
                                      "loc": {
                                        "start": {
                                          "line": 159,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 159,
                                          "column": 41
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "{numpadsubtract}",
                                        "raw": "\"{numpadsubtract}\""
                                      },
                                      "value": "{numpadsubtract}"
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 4959,
                                    "end": 5008,
                                    "loc": {
                                      "start": {
                                        "line": 160,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 160,
                                        "column": 55
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 4959,
                                      "end": 5007,
                                      "loc": {
                                        "start": {
                                          "line": 160,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 160,
                                          "column": 54
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 4959,
                                        "end": 4965,
                                        "loc": {
                                          "start": {
                                            "line": 160,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 160,
                                            "column": 12
                                          },
                                          "identifierName": "output"
                                        },
                                        "name": "output"
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 4968,
                                        "end": 5007,
                                        "loc": {
                                          "start": {
                                            "line": 160,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 160,
                                            "column": 54
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 4968,
                                          "end": 4984,
                                          "loc": {
                                            "start": {
                                              "line": 160,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 160,
                                              "column": 31
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 4968,
                                            "end": 4972,
                                            "loc": {
                                              "start": {
                                                "line": 160,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 160,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4973,
                                            "end": 4984,
                                            "loc": {
                                              "start": {
                                                "line": 160,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 160,
                                                "column": 31
                                              },
                                              "identifierName": "addStringAt"
                                            },
                                            "name": "addStringAt"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 4985,
                                            "end": 4991,
                                            "loc": {
                                              "start": {
                                                "line": 160,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 160,
                                                "column": 38
                                              },
                                              "identifierName": "output"
                                            },
                                            "name": "output"
                                          },
                                          {
                                            "type": "StringLiteral",
                                            "start": 4993,
                                            "end": 4996,
                                            "loc": {
                                              "start": {
                                                "line": 160,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 160,
                                                "column": 43
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "-",
                                              "raw": "'-'"
                                            },
                                            "value": "-"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 4998,
                                            "end": 5006,
                                            "loc": {
                                              "start": {
                                                "line": 160,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 160,
                                                "column": 53
                                              },
                                              "identifierName": "caretPos"
                                            },
                                            "name": "caretPos"
                                          }
                                        ]
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "IfStatement",
                                    "start": 5021,
                                    "end": 5440,
                                    "loc": {
                                      "start": {
                                        "line": 162,
                                        "column": 9
                                      },
                                      "end": {
                                        "line": 172,
                                        "column": 58
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 5024,
                                      "end": 5048,
                                      "loc": {
                                        "start": {
                                          "line": 162,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 162,
                                          "column": 36
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 5024,
                                        "end": 5030,
                                        "loc": {
                                          "start": {
                                            "line": 162,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 162,
                                            "column": 18
                                          },
                                          "identifierName": "button"
                                        },
                                        "name": "button"
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "StringLiteral",
                                        "start": 5035,
                                        "end": 5048,
                                        "loc": {
                                          "start": {
                                            "line": 162,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 162,
                                            "column": 36
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "{numpadadd}",
                                          "raw": "\"{numpadadd}\""
                                        },
                                        "value": "{numpadadd}"
                                      }
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 5057,
                                      "end": 5106,
                                      "loc": {
                                        "start": {
                                          "line": 163,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 163,
                                          "column": 55
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 5057,
                                        "end": 5105,
                                        "loc": {
                                          "start": {
                                            "line": 163,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 163,
                                            "column": 54
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 5057,
                                          "end": 5063,
                                          "loc": {
                                            "start": {
                                              "line": 163,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 163,
                                              "column": 12
                                            },
                                            "identifierName": "output"
                                          },
                                          "name": "output"
                                        },
                                        "right": {
                                          "type": "CallExpression",
                                          "start": 5066,
                                          "end": 5105,
                                          "loc": {
                                            "start": {
                                              "line": 163,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 163,
                                              "column": 54
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 5066,
                                            "end": 5082,
                                            "loc": {
                                              "start": {
                                                "line": 163,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 163,
                                                "column": 31
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 5066,
                                              "end": 5070,
                                              "loc": {
                                                "start": {
                                                  "line": 163,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 163,
                                                  "column": 19
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 5071,
                                              "end": 5082,
                                              "loc": {
                                                "start": {
                                                  "line": 163,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 163,
                                                  "column": 31
                                                },
                                                "identifierName": "addStringAt"
                                              },
                                              "name": "addStringAt"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 5083,
                                              "end": 5089,
                                              "loc": {
                                                "start": {
                                                  "line": 163,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 163,
                                                  "column": 38
                                                },
                                                "identifierName": "output"
                                              },
                                              "name": "output"
                                            },
                                            {
                                              "type": "StringLiteral",
                                              "start": 5091,
                                              "end": 5094,
                                              "loc": {
                                                "start": {
                                                  "line": 163,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 163,
                                                  "column": 43
                                                }
                                              },
                                              "extra": {
                                                "rawValue": "+",
                                                "raw": "'+'"
                                              },
                                              "value": "+"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 5096,
                                              "end": 5104,
                                              "loc": {
                                                "start": {
                                                  "line": 163,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 163,
                                                  "column": 53
                                                },
                                                "identifierName": "caretPos"
                                              },
                                              "name": "caretPos"
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    "alternate": {
                                      "type": "IfStatement",
                                      "start": 5119,
                                      "end": 5440,
                                      "loc": {
                                        "start": {
                                          "line": 165,
                                          "column": 9
                                        },
                                        "end": {
                                          "line": 172,
                                          "column": 58
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 5122,
                                        "end": 5150,
                                        "loc": {
                                          "start": {
                                            "line": 165,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 165,
                                            "column": 40
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 5122,
                                          "end": 5128,
                                          "loc": {
                                            "start": {
                                              "line": 165,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 165,
                                              "column": 18
                                            },
                                            "identifierName": "button"
                                          },
                                          "name": "button"
                                        },
                                        "operator": "===",
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 5133,
                                          "end": 5150,
                                          "loc": {
                                            "start": {
                                              "line": 165,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 165,
                                              "column": 40
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "{numpaddecimal}",
                                            "raw": "\"{numpaddecimal}\""
                                          },
                                          "value": "{numpaddecimal}"
                                        }
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 5159,
                                        "end": 5208,
                                        "loc": {
                                          "start": {
                                            "line": 166,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 166,
                                            "column": 55
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 5159,
                                          "end": 5207,
                                          "loc": {
                                            "start": {
                                              "line": 166,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 166,
                                              "column": 54
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 5159,
                                            "end": 5165,
                                            "loc": {
                                              "start": {
                                                "line": 166,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 166,
                                                "column": 12
                                              },
                                              "identifierName": "output"
                                            },
                                            "name": "output"
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 5168,
                                            "end": 5207,
                                            "loc": {
                                              "start": {
                                                "line": 166,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 166,
                                                "column": 54
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5168,
                                              "end": 5184,
                                              "loc": {
                                                "start": {
                                                  "line": 166,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 166,
                                                  "column": 31
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 5168,
                                                "end": 5172,
                                                "loc": {
                                                  "start": {
                                                    "line": 166,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 166,
                                                    "column": 19
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5173,
                                                "end": 5184,
                                                "loc": {
                                                  "start": {
                                                    "line": 166,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 166,
                                                    "column": 31
                                                  },
                                                  "identifierName": "addStringAt"
                                                },
                                                "name": "addStringAt"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5185,
                                                "end": 5191,
                                                "loc": {
                                                  "start": {
                                                    "line": 166,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 166,
                                                    "column": 38
                                                  },
                                                  "identifierName": "output"
                                                },
                                                "name": "output"
                                              },
                                              {
                                                "type": "StringLiteral",
                                                "start": 5193,
                                                "end": 5196,
                                                "loc": {
                                                  "start": {
                                                    "line": 166,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 166,
                                                    "column": 43
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": ".",
                                                  "raw": "'.'"
                                                },
                                                "value": "."
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 5198,
                                                "end": 5206,
                                                "loc": {
                                                  "start": {
                                                    "line": 166,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 166,
                                                    "column": 53
                                                  },
                                                  "identifierName": "caretPos"
                                                },
                                                "name": "caretPos"
                                              }
                                            ]
                                          }
                                        }
                                      },
                                      "alternate": {
                                        "type": "IfStatement",
                                        "start": 5221,
                                        "end": 5440,
                                        "loc": {
                                          "start": {
                                            "line": 168,
                                            "column": 9
                                          },
                                          "end": {
                                            "line": 172,
                                            "column": 58
                                          }
                                        },
                                        "test": {
                                          "type": "LogicalExpression",
                                          "start": 5224,
                                          "end": 5256,
                                          "loc": {
                                            "start": {
                                              "line": 168,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 168,
                                              "column": 44
                                            }
                                          },
                                          "left": {
                                            "type": "BinaryExpression",
                                            "start": 5224,
                                            "end": 5238,
                                            "loc": {
                                              "start": {
                                                "line": 168,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 168,
                                                "column": 26
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 5224,
                                              "end": 5230,
                                              "loc": {
                                                "start": {
                                                  "line": 168,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 168,
                                                  "column": 18
                                                },
                                                "identifierName": "button"
                                              },
                                              "name": "button"
                                            },
                                            "operator": "===",
                                            "right": {
                                              "type": "StringLiteral",
                                              "start": 5235,
                                              "end": 5238,
                                              "loc": {
                                                "start": {
                                                  "line": 168,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 168,
                                                  "column": 26
                                                }
                                              },
                                              "extra": {
                                                "rawValue": "{",
                                                "raw": "\"{\""
                                              },
                                              "value": "{"
                                            }
                                          },
                                          "operator": "||",
                                          "right": {
                                            "type": "BinaryExpression",
                                            "start": 5242,
                                            "end": 5256,
                                            "loc": {
                                              "start": {
                                                "line": 168,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 168,
                                                "column": 44
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 5242,
                                              "end": 5248,
                                              "loc": {
                                                "start": {
                                                  "line": 168,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 168,
                                                  "column": 36
                                                },
                                                "identifierName": "button"
                                              },
                                              "name": "button"
                                            },
                                            "operator": "===",
                                            "right": {
                                              "type": "StringLiteral",
                                              "start": 5253,
                                              "end": 5256,
                                              "loc": {
                                                "start": {
                                                  "line": 168,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 168,
                                                  "column": 44
                                                }
                                              },
                                              "extra": {
                                                "rawValue": "}",
                                                "raw": "\"}\""
                                              },
                                              "value": "}"
                                            }
                                          }
                                        },
                                        "consequent": {
                                          "type": "ExpressionStatement",
                                          "start": 5265,
                                          "end": 5317,
                                          "loc": {
                                            "start": {
                                              "line": 169,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 169,
                                              "column": 58
                                            }
                                          },
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 5265,
                                            "end": 5316,
                                            "loc": {
                                              "start": {
                                                "line": 169,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 169,
                                                "column": 57
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "start": 5265,
                                              "end": 5271,
                                              "loc": {
                                                "start": {
                                                  "line": 169,
                                                  "column": 6
                                                },
                                                "end": {
                                                  "line": 169,
                                                  "column": 12
                                                },
                                                "identifierName": "output"
                                              },
                                              "name": "output"
                                            },
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 5274,
                                              "end": 5316,
                                              "loc": {
                                                "start": {
                                                  "line": 169,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 169,
                                                  "column": 57
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5274,
                                                "end": 5290,
                                                "loc": {
                                                  "start": {
                                                    "line": 169,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 169,
                                                    "column": 31
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5274,
                                                  "end": 5278,
                                                  "loc": {
                                                    "start": {
                                                      "line": 169,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 169,
                                                      "column": 19
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5279,
                                                  "end": 5290,
                                                  "loc": {
                                                    "start": {
                                                      "line": 169,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 169,
                                                      "column": 31
                                                    },
                                                    "identifierName": "addStringAt"
                                                  },
                                                  "name": "addStringAt"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5291,
                                                  "end": 5297,
                                                  "loc": {
                                                    "start": {
                                                      "line": 169,
                                                      "column": 32
                                                    },
                                                    "end": {
                                                      "line": 169,
                                                      "column": 38
                                                    },
                                                    "identifierName": "output"
                                                  },
                                                  "name": "output"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 5299,
                                                  "end": 5305,
                                                  "loc": {
                                                    "start": {
                                                      "line": 169,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 169,
                                                      "column": 46
                                                    },
                                                    "identifierName": "button"
                                                  },
                                                  "name": "button"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 5307,
                                                  "end": 5315,
                                                  "loc": {
                                                    "start": {
                                                      "line": 169,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 169,
                                                      "column": 56
                                                    },
                                                    "identifierName": "caretPos"
                                                  },
                                                  "name": "caretPos"
                                                }
                                              ]
                                            }
                                          }
                                        },
                                        "alternate": {
                                          "type": "IfStatement",
                                          "start": 5330,
                                          "end": 5440,
                                          "loc": {
                                            "start": {
                                              "line": 171,
                                              "column": 9
                                            },
                                            "end": {
                                              "line": 172,
                                              "column": 58
                                            }
                                          },
                                          "test": {
                                            "type": "LogicalExpression",
                                            "start": 5333,
                                            "end": 5379,
                                            "loc": {
                                              "start": {
                                                "line": 171,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 171,
                                                "column": 58
                                              }
                                            },
                                            "left": {
                                              "type": "UnaryExpression",
                                              "start": 5333,
                                              "end": 5354,
                                              "loc": {
                                                "start": {
                                                  "line": 171,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 171,
                                                  "column": 33
                                                }
                                              },
                                              "operator": "!",
                                              "prefix": true,
                                              "argument": {
                                                "type": "CallExpression",
                                                "start": 5334,
                                                "end": 5354,
                                                "loc": {
                                                  "start": {
                                                    "line": 171,
                                                    "column": 13
                                                  },
                                                  "end": {
                                                    "line": 171,
                                                    "column": 33
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 5334,
                                                  "end": 5349,
                                                  "loc": {
                                                    "start": {
                                                      "line": 171,
                                                      "column": 13
                                                    },
                                                    "end": {
                                                      "line": 171,
                                                      "column": 28
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 5334,
                                                    "end": 5340,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 13
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 19
                                                      },
                                                      "identifierName": "button"
                                                    },
                                                    "name": "button"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5341,
                                                    "end": 5349,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 28
                                                      },
                                                      "identifierName": "includes"
                                                    },
                                                    "name": "includes"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "StringLiteral",
                                                    "start": 5350,
                                                    "end": 5353,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 29
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 32
                                                      }
                                                    },
                                                    "extra": {
                                                      "rawValue": "{",
                                                      "raw": "\"{\""
                                                    },
                                                    "value": "{"
                                                  }
                                                ]
                                              },
                                              "extra": {
                                                "parenthesizedArgument": false
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "UnaryExpression",
                                              "start": 5358,
                                              "end": 5379,
                                              "loc": {
                                                "start": {
                                                  "line": 171,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 171,
                                                  "column": 58
                                                }
                                              },
                                              "operator": "!",
                                              "prefix": true,
                                              "argument": {
                                                "type": "CallExpression",
                                                "start": 5359,
                                                "end": 5379,
                                                "loc": {
                                                  "start": {
                                                    "line": 171,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 171,
                                                    "column": 58
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 5359,
                                                  "end": 5374,
                                                  "loc": {
                                                    "start": {
                                                      "line": 171,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 171,
                                                      "column": 53
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 5359,
                                                    "end": 5365,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 44
                                                      },
                                                      "identifierName": "button"
                                                    },
                                                    "name": "button"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5366,
                                                    "end": 5374,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 53
                                                      },
                                                      "identifierName": "includes"
                                                    },
                                                    "name": "includes"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "StringLiteral",
                                                    "start": 5375,
                                                    "end": 5378,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 54
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 57
                                                      }
                                                    },
                                                    "extra": {
                                                      "rawValue": "}",
                                                      "raw": "\"}\""
                                                    },
                                                    "value": "}"
                                                  }
                                                ]
                                              },
                                              "extra": {
                                                "parenthesizedArgument": false
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "ExpressionStatement",
                                            "start": 5388,
                                            "end": 5440,
                                            "loc": {
                                              "start": {
                                                "line": 172,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 172,
                                                "column": 58
                                              }
                                            },
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "start": 5388,
                                              "end": 5439,
                                              "loc": {
                                                "start": {
                                                  "line": 172,
                                                  "column": 6
                                                },
                                                "end": {
                                                  "line": 172,
                                                  "column": 57
                                                }
                                              },
                                              "operator": "=",
                                              "left": {
                                                "type": "Identifier",
                                                "start": 5388,
                                                "end": 5394,
                                                "loc": {
                                                  "start": {
                                                    "line": 172,
                                                    "column": 6
                                                  },
                                                  "end": {
                                                    "line": 172,
                                                    "column": 12
                                                  },
                                                  "identifierName": "output"
                                                },
                                                "name": "output"
                                              },
                                              "right": {
                                                "type": "CallExpression",
                                                "start": 5397,
                                                "end": 5439,
                                                "loc": {
                                                  "start": {
                                                    "line": 172,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 172,
                                                    "column": 57
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 5397,
                                                  "end": 5413,
                                                  "loc": {
                                                    "start": {
                                                      "line": 172,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 172,
                                                      "column": 31
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5397,
                                                    "end": 5401,
                                                    "loc": {
                                                      "start": {
                                                        "line": 172,
                                                        "column": 15
                                                      },
                                                      "end": {
                                                        "line": 172,
                                                        "column": 19
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5402,
                                                    "end": 5413,
                                                    "loc": {
                                                      "start": {
                                                        "line": 172,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 172,
                                                        "column": 31
                                                      },
                                                      "identifierName": "addStringAt"
                                                    },
                                                    "name": "addStringAt"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5414,
                                                    "end": 5420,
                                                    "loc": {
                                                      "start": {
                                                        "line": 172,
                                                        "column": 32
                                                      },
                                                      "end": {
                                                        "line": 172,
                                                        "column": 38
                                                      },
                                                      "identifierName": "output"
                                                    },
                                                    "name": "output"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5422,
                                                    "end": 5428,
                                                    "loc": {
                                                      "start": {
                                                        "line": 172,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 172,
                                                        "column": 46
                                                      },
                                                      "identifierName": "button"
                                                    },
                                                    "name": "button"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5430,
                                                    "end": 5438,
                                                    "loc": {
                                                      "start": {
                                                        "line": 172,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 172,
                                                        "column": 56
                                                      },
                                                      "identifierName": "caretPos"
                                                    },
                                                    "name": "caretPos"
                                                  }
                                                ]
                                              }
                                            }
                                          },
                                          "alternate": null
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 5448,
                    "end": 5462,
                    "loc": {
                      "start": {
                        "line": 174,
                        "column": 4
                      },
                      "end": {
                        "line": 174,
                        "column": 18
                      }
                    },
                    "argument": {
                      "type": "Identifier",
                      "start": 5455,
                      "end": 5461,
                      "loc": {
                        "start": {
                          "line": 174,
                          "column": 11
                        },
                        "end": {
                          "line": 174,
                          "column": 17
                        },
                        "identifierName": "output"
                      },
                      "name": "output"
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Returns the updated input resulting from clicking a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {string} input The input string\r\n   * @param  {object} options The simple-keyboard options object\r\n   * @param  {number} caretPos The cursor's current position\r\n   ",
                  "start": 3560,
                  "end": 3877,
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 2
                    },
                    "end": {
                      "line": 134,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Moves the cursor position by a given amount\r\n   * \r\n   * @param  {number} length Represents by how many characters the input should be moved\r\n   * @param  {boolean} minus Whether the cursor should be moved to the left or not.\r\n   ",
                  "start": 5471,
                  "end": 5713,
                  "loc": {
                    "start": {
                      "line": 176,
                      "column": 2
                    },
                    "end": {
                      "line": 181,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 5717,
              "end": 6053,
              "loc": {
                "start": {
                  "line": 182,
                  "column": 2
                },
                "end": {
                  "line": 189,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5717,
                "end": 5731,
                "loc": {
                  "start": {
                    "line": 182,
                    "column": 2
                  },
                  "end": {
                    "line": 182,
                    "column": 16
                  },
                  "identifierName": "updateCaretPos"
                },
                "name": "updateCaretPos",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 5732,
                  "end": 5738,
                  "loc": {
                    "start": {
                      "line": 182,
                      "column": 17
                    },
                    "end": {
                      "line": 182,
                      "column": 23
                    },
                    "identifierName": "length"
                  },
                  "name": "length"
                },
                {
                  "type": "Identifier",
                  "start": 5740,
                  "end": 5745,
                  "loc": {
                    "start": {
                      "line": 182,
                      "column": 25
                    },
                    "end": {
                      "line": 182,
                      "column": 30
                    },
                    "identifierName": "minus"
                  },
                  "name": "minus"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 5746,
                "end": 6053,
                "loc": {
                  "start": {
                    "line": 182,
                    "column": 31
                  },
                  "end": {
                    "line": 189,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 5753,
                    "end": 6048,
                    "loc": {
                      "start": {
                        "line": 183,
                        "column": 4
                      },
                      "end": {
                        "line": 188,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "Identifier",
                      "start": 5756,
                      "end": 5761,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 7
                        },
                        "end": {
                          "line": 183,
                          "column": 12
                        },
                        "identifierName": "minus"
                      },
                      "name": "minus"
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 5762,
                      "end": 5931,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 13
                        },
                        "end": {
                          "line": 186,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 5771,
                          "end": 5924,
                          "loc": {
                            "start": {
                              "line": 184,
                              "column": 6
                            },
                            "end": {
                              "line": 185,
                              "column": 102
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 5774,
                            "end": 5819,
                            "loc": {
                              "start": {
                                "line": 184,
                                "column": 9
                              },
                              "end": {
                                "line": 184,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 5774,
                              "end": 5815,
                              "loc": {
                                "start": {
                                  "line": 184,
                                  "column": 9
                                },
                                "end": {
                                  "line": 184,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 5774,
                                "end": 5801,
                                "loc": {
                                  "start": {
                                    "line": 184,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 184,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5774,
                                  "end": 5778,
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 13
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5779,
                                  "end": 5801,
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 36
                                    },
                                    "identifierName": "simpleKeyboardInstance"
                                  },
                                  "name": "simpleKeyboardInstance"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5802,
                                "end": 5815,
                                "loc": {
                                  "start": {
                                    "line": 184,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 184,
                                    "column": 50
                                  },
                                  "identifierName": "caretPosition"
                                },
                                "name": "caretPosition"
                              },
                              "computed": false
                            },
                            "operator": ">",
                            "right": {
                              "type": "NumericLiteral",
                              "start": 5818,
                              "end": 5819,
                              "loc": {
                                "start": {
                                  "line": 184,
                                  "column": 53
                                },
                                "end": {
                                  "line": 184,
                                  "column": 54
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          },
                          "consequent": {
                            "type": "ExpressionStatement",
                            "start": 5830,
                            "end": 5924,
                            "loc": {
                              "start": {
                                "line": 185,
                                "column": 8
                              },
                              "end": {
                                "line": 185,
                                "column": 102
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 5830,
                              "end": 5924,
                              "loc": {
                                "start": {
                                  "line": 185,
                                  "column": 8
                                },
                                "end": {
                                  "line": 185,
                                  "column": 102
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 5830,
                                "end": 5871,
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 185,
                                    "column": 49
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 5830,
                                  "end": 5857,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5830,
                                    "end": 5834,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5835,
                                    "end": 5857,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 35
                                      },
                                      "identifierName": "simpleKeyboardInstance"
                                    },
                                    "name": "simpleKeyboardInstance"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5858,
                                  "end": 5871,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 49
                                    },
                                    "identifierName": "caretPosition"
                                  },
                                  "name": "caretPosition"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "BinaryExpression",
                                "start": 5874,
                                "end": 5924,
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 185,
                                    "column": 102
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 5874,
                                  "end": 5915,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 93
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 5874,
                                    "end": 5901,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 79
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 5874,
                                      "end": 5878,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 56
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5879,
                                      "end": 5901,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 79
                                        },
                                        "identifierName": "simpleKeyboardInstance"
                                      },
                                      "name": "simpleKeyboardInstance"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5902,
                                    "end": 5915,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 80
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 93
                                      },
                                      "identifierName": "caretPosition"
                                    },
                                    "name": "caretPosition"
                                  },
                                  "computed": false
                                },
                                "operator": "-",
                                "right": {
                                  "type": "Identifier",
                                  "start": 5918,
                                  "end": 5924,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 96
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 102
                                    },
                                    "identifierName": "length"
                                  },
                                  "name": "length"
                                }
                              }
                            }
                          },
                          "alternate": null
                        }
                      ],
                      "directives": []
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "start": 5937,
                      "end": 6048,
                      "loc": {
                        "start": {
                          "line": 186,
                          "column": 11
                        },
                        "end": {
                          "line": 188,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 5946,
                          "end": 6041,
                          "loc": {
                            "start": {
                              "line": 187,
                              "column": 6
                            },
                            "end": {
                              "line": 187,
                              "column": 101
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 5946,
                            "end": 6040,
                            "loc": {
                              "start": {
                                "line": 187,
                                "column": 6
                              },
                              "end": {
                                "line": 187,
                                "column": 100
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 5946,
                              "end": 5987,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 6
                                },
                                "end": {
                                  "line": 187,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 5946,
                                "end": 5973,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5946,
                                  "end": 5950,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 10
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5951,
                                  "end": 5973,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 33
                                    },
                                    "identifierName": "simpleKeyboardInstance"
                                  },
                                  "name": "simpleKeyboardInstance"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 5974,
                                "end": 5987,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 47
                                  },
                                  "identifierName": "caretPosition"
                                },
                                "name": "caretPosition"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "BinaryExpression",
                              "start": 5990,
                              "end": 6040,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 50
                                },
                                "end": {
                                  "line": 187,
                                  "column": 100
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 5990,
                                "end": 6031,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 91
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 5990,
                                  "end": 6017,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 77
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5990,
                                    "end": 5994,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 54
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5995,
                                    "end": 6017,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 77
                                      },
                                      "identifierName": "simpleKeyboardInstance"
                                    },
                                    "name": "simpleKeyboardInstance"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6018,
                                  "end": 6031,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 78
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 91
                                    },
                                    "identifierName": "caretPosition"
                                  },
                                  "name": "caretPosition"
                                },
                                "computed": false
                              },
                              "operator": "+",
                              "right": {
                                "type": "Identifier",
                                "start": 6034,
                                "end": 6040,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 94
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 100
                                  },
                                  "identifierName": "length"
                                },
                                "name": "length"
                              }
                            }
                          }
                        }
                      ],
                      "directives": []
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Moves the cursor position by a given amount\r\n   * \r\n   * @param  {number} length Represents by how many characters the input should be moved\r\n   * @param  {boolean} minus Whether the cursor should be moved to the left or not.\r\n   ",
                  "start": 5471,
                  "end": 5713,
                  "loc": {
                    "start": {
                      "line": 176,
                      "column": 2
                    },
                    "end": {
                      "line": 181,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Adds a string to the input at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {string} string The string to add\r\n   * @param  {number} position The (cursor) position where the string should be added\r\n   ",
                  "start": 6059,
                  "end": 6311,
                  "loc": {
                    "start": {
                      "line": 191,
                      "column": 2
                    },
                    "end": {
                      "line": 197,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 6315,
              "end": 6860,
              "loc": {
                "start": {
                  "line": 198,
                  "column": 2
                },
                "end": {
                  "line": 220,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6315,
                "end": 6326,
                "loc": {
                  "start": {
                    "line": 198,
                    "column": 2
                  },
                  "end": {
                    "line": 198,
                    "column": 13
                  },
                  "identifierName": "addStringAt"
                },
                "name": "addStringAt",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 6327,
                  "end": 6333,
                  "loc": {
                    "start": {
                      "line": 198,
                      "column": 14
                    },
                    "end": {
                      "line": 198,
                      "column": 20
                    },
                    "identifierName": "source"
                  },
                  "name": "source"
                },
                {
                  "type": "Identifier",
                  "start": 6335,
                  "end": 6341,
                  "loc": {
                    "start": {
                      "line": 198,
                      "column": 22
                    },
                    "end": {
                      "line": 198,
                      "column": 28
                    },
                    "identifierName": "string"
                  },
                  "name": "string"
                },
                {
                  "type": "Identifier",
                  "start": 6343,
                  "end": 6351,
                  "loc": {
                    "start": {
                      "line": 198,
                      "column": 30
                    },
                    "end": {
                      "line": 198,
                      "column": 38
                    },
                    "identifierName": "position"
                  },
                  "name": "position"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 6352,
                "end": 6860,
                "loc": {
                  "start": {
                    "line": 198,
                    "column": 39
                  },
                  "end": {
                    "line": 220,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 6359,
                    "end": 6370,
                    "loc": {
                      "start": {
                        "line": 199,
                        "column": 4
                      },
                      "end": {
                        "line": 199,
                        "column": 15
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6363,
                        "end": 6369,
                        "loc": {
                          "start": {
                            "line": 199,
                            "column": 8
                          },
                          "end": {
                            "line": 199,
                            "column": 14
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6363,
                          "end": 6369,
                          "loc": {
                            "start": {
                              "line": 199,
                              "column": 8
                            },
                            "end": {
                              "line": 199,
                              "column": 14
                            },
                            "identifierName": "output"
                          },
                          "name": "output"
                        },
                        "init": null
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "IfStatement",
                    "start": 6378,
                    "end": 6474,
                    "loc": {
                      "start": {
                        "line": 201,
                        "column": 4
                      },
                      "end": {
                        "line": 203,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "MemberExpression",
                      "start": 6381,
                      "end": 6422,
                      "loc": {
                        "start": {
                          "line": 201,
                          "column": 7
                        },
                        "end": {
                          "line": 201,
                          "column": 48
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 6381,
                        "end": 6416,
                        "loc": {
                          "start": {
                            "line": 201,
                            "column": 7
                          },
                          "end": {
                            "line": 201,
                            "column": 42
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 6381,
                          "end": 6408,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 7
                            },
                            "end": {
                              "line": 201,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 6381,
                            "end": 6385,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 7
                              },
                              "end": {
                                "line": 201,
                                "column": 11
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6386,
                            "end": 6408,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 12
                              },
                              "end": {
                                "line": 201,
                                "column": 34
                              },
                              "identifierName": "simpleKeyboardInstance"
                            },
                            "name": "simpleKeyboardInstance"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6409,
                          "end": 6416,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 35
                            },
                            "end": {
                              "line": 201,
                              "column": 42
                            },
                            "identifierName": "options"
                          },
                          "name": "options"
                        },
                        "computed": false
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 6417,
                        "end": 6422,
                        "loc": {
                          "start": {
                            "line": 201,
                            "column": 43
                          },
                          "end": {
                            "line": 201,
                            "column": 48
                          },
                          "identifierName": "debug"
                        },
                        "name": "debug"
                      },
                      "computed": false
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 6423,
                      "end": 6474,
                      "loc": {
                        "start": {
                          "line": 201,
                          "column": 49
                        },
                        "end": {
                          "line": 203,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 6432,
                          "end": 6467,
                          "loc": {
                            "start": {
                              "line": 202,
                              "column": 6
                            },
                            "end": {
                              "line": 202,
                              "column": 41
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 6432,
                            "end": 6466,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 6
                              },
                              "end": {
                                "line": 202,
                                "column": 40
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 6432,
                              "end": 6443,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 6
                                },
                                "end": {
                                  "line": 202,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 6432,
                                "end": 6439,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 13
                                  },
                                  "identifierName": "console"
                                },
                                "name": "console"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6440,
                                "end": 6443,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 17
                                  },
                                  "identifierName": "log"
                                },
                                "name": "log"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 6444,
                                "end": 6455,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 29
                                  }
                                },
                                "extra": {
                                  "rawValue": "Caret at:",
                                  "raw": "\"Caret at:\""
                                },
                                "value": "Caret at:"
                              },
                              {
                                "type": "Identifier",
                                "start": 6457,
                                "end": 6465,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 39
                                  },
                                  "identifierName": "position"
                                },
                                "name": "position"
                              }
                            ]
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "IfStatement",
                    "start": 6482,
                    "end": 6833,
                    "loc": {
                      "start": {
                        "line": 205,
                        "column": 4
                      },
                      "end": {
                        "line": 217,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 6485,
                      "end": 6512,
                      "loc": {
                        "start": {
                          "line": 205,
                          "column": 7
                        },
                        "end": {
                          "line": 205,
                          "column": 34
                        }
                      },
                      "left": {
                        "type": "UnaryExpression",
                        "start": 6485,
                        "end": 6494,
                        "loc": {
                          "start": {
                            "line": 205,
                            "column": 7
                          },
                          "end": {
                            "line": 205,
                            "column": 16
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 6486,
                          "end": 6494,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 8
                            },
                            "end": {
                              "line": 205,
                              "column": 16
                            },
                            "identifierName": "position"
                          },
                          "name": "position"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "operator": "&&",
                      "right": {
                        "type": "BinaryExpression",
                        "start": 6498,
                        "end": 6512,
                        "loc": {
                          "start": {
                            "line": 205,
                            "column": 20
                          },
                          "end": {
                            "line": 205,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6498,
                          "end": 6506,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 20
                            },
                            "end": {
                              "line": 205,
                              "column": 28
                            },
                            "identifierName": "position"
                          },
                          "name": "position"
                        },
                        "operator": "!==",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 6511,
                          "end": 6512,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 33
                            },
                            "end": {
                              "line": 205,
                              "column": 34
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 6513,
                      "end": 6554,
                      "loc": {
                        "start": {
                          "line": 205,
                          "column": 35
                        },
                        "end": {
                          "line": 207,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 6522,
                          "end": 6547,
                          "loc": {
                            "start": {
                              "line": 206,
                              "column": 6
                            },
                            "end": {
                              "line": 206,
                              "column": 31
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 6522,
                            "end": 6546,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 6
                              },
                              "end": {
                                "line": 206,
                                "column": 30
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 6522,
                              "end": 6528,
                              "loc": {
                                "start": {
                                  "line": 206,
                                  "column": 6
                                },
                                "end": {
                                  "line": 206,
                                  "column": 12
                                },
                                "identifierName": "output"
                              },
                              "name": "output"
                            },
                            "right": {
                              "type": "BinaryExpression",
                              "start": 6531,
                              "end": 6546,
                              "loc": {
                                "start": {
                                  "line": 206,
                                  "column": 15
                                },
                                "end": {
                                  "line": 206,
                                  "column": 30
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6531,
                                "end": 6537,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 21
                                  },
                                  "identifierName": "source"
                                },
                                "name": "source"
                              },
                              "operator": "+",
                              "right": {
                                "type": "Identifier",
                                "start": 6540,
                                "end": 6546,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 30
                                  },
                                  "identifierName": "string"
                                },
                                "name": "string"
                              }
                            }
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "start": 6560,
                      "end": 6833,
                      "loc": {
                        "start": {
                          "line": 207,
                          "column": 11
                        },
                        "end": {
                          "line": 217,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 6569,
                          "end": 6647,
                          "loc": {
                            "start": {
                              "line": 208,
                              "column": 6
                            },
                            "end": {
                              "line": 208,
                              "column": 84
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 6569,
                            "end": 6646,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 6
                              },
                              "end": {
                                "line": 208,
                                "column": 83
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 6569,
                              "end": 6575,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 6
                                },
                                "end": {
                                  "line": 208,
                                  "column": 12
                                },
                                "identifierName": "output"
                              },
                              "name": "output"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 6578,
                              "end": 6646,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 15
                                },
                                "end": {
                                  "line": 208,
                                  "column": 83
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6578,
                                "end": 6642,
                                "loc": {
                                  "start": {
                                    "line": 208,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 208,
                                    "column": 79
                                  }
                                },
                                "object": {
                                  "type": "ArrayExpression",
                                  "start": 6578,
                                  "end": 6637,
                                  "loc": {
                                    "start": {
                                      "line": 208,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 208,
                                      "column": 74
                                    }
                                  },
                                  "elements": [
                                    {
                                      "type": "CallExpression",
                                      "start": 6579,
                                      "end": 6604,
                                      "loc": {
                                        "start": {
                                          "line": 208,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 208,
                                          "column": 41
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 6579,
                                        "end": 6591,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 28
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 6579,
                                          "end": 6585,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 22
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6586,
                                          "end": 6591,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 28
                                            },
                                            "identifierName": "slice"
                                          },
                                          "name": "slice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 6592,
                                          "end": 6593,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 30
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 0,
                                            "raw": "0"
                                          },
                                          "value": 0
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 6595,
                                          "end": 6603,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 40
                                            },
                                            "identifierName": "position"
                                          },
                                          "name": "position"
                                        }
                                      ]
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 6606,
                                      "end": 6612,
                                      "loc": {
                                        "start": {
                                          "line": 208,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 208,
                                          "column": 49
                                        },
                                        "identifierName": "string"
                                      },
                                      "name": "string"
                                    },
                                    {
                                      "type": "CallExpression",
                                      "start": 6614,
                                      "end": 6636,
                                      "loc": {
                                        "start": {
                                          "line": 208,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 208,
                                          "column": 73
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 6614,
                                        "end": 6626,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 63
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 6614,
                                          "end": 6620,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 57
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6621,
                                          "end": 6626,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 63
                                            },
                                            "identifierName": "slice"
                                          },
                                          "name": "slice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 6627,
                                          "end": 6635,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 64
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 72
                                            },
                                            "identifierName": "position"
                                          },
                                          "name": "position"
                                        }
                                      ]
                                    }
                                  ]
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6638,
                                  "end": 6642,
                                  "loc": {
                                    "start": {
                                      "line": 208,
                                      "column": 75
                                    },
                                    "end": {
                                      "line": 208,
                                      "column": 79
                                    },
                                    "identifierName": "join"
                                  },
                                  "name": "join"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 6643,
                                  "end": 6645,
                                  "loc": {
                                    "start": {
                                      "line": 208,
                                      "column": 80
                                    },
                                    "end": {
                                      "line": 208,
                                      "column": 82
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "",
                                    "raw": "''"
                                  },
                                  "value": ""
                                }
                              ]
                            }
                          },
                          "trailingComments": [
                            {
                              "type": "CommentBlock",
                              "value": "*\r\n       * Avoid caret position change when maxLength is set\r\n       ",
                              "start": 6657,
                              "end": 6731,
                              "loc": {
                                "start": {
                                  "line": 210,
                                  "column": 6
                                },
                                "end": {
                                  "line": 212,
                                  "column": 9
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "IfStatement",
                          "start": 6739,
                          "end": 6824,
                          "loc": {
                            "start": {
                              "line": 213,
                              "column": 6
                            },
                            "end": {
                              "line": 215,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "UnaryExpression",
                            "start": 6742,
                            "end": 6768,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 9
                              },
                              "end": {
                                "line": 213,
                                "column": 35
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "CallExpression",
                              "start": 6743,
                              "end": 6768,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 10
                                },
                                "end": {
                                  "line": 213,
                                  "column": 35
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6743,
                                "end": 6766,
                                "loc": {
                                  "start": {
                                    "line": 213,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 213,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6743,
                                  "end": 6747,
                                  "loc": {
                                    "start": {
                                      "line": 213,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 213,
                                      "column": 14
                                    }
                                  },
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6748,
                                  "end": 6766,
                                  "loc": {
                                    "start": {
                                      "line": 213,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 213,
                                      "column": 33
                                    },
                                    "identifierName": "isMaxLengthReached"
                                  },
                                  "name": "isMaxLengthReached"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [],
                              "leadingComments": null
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            },
                            "leadingComments": null
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 6769,
                            "end": 6824,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 36
                              },
                              "end": {
                                "line": 215,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 6780,
                                "end": 6815,
                                "loc": {
                                  "start": {
                                    "line": 214,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 214,
                                    "column": 43
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 6780,
                                  "end": 6814,
                                  "loc": {
                                    "start": {
                                      "line": 214,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 214,
                                      "column": 42
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 6780,
                                    "end": 6799,
                                    "loc": {
                                      "start": {
                                        "line": 214,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 214,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 6780,
                                      "end": 6784,
                                      "loc": {
                                        "start": {
                                          "line": 214,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 214,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 6785,
                                      "end": 6799,
                                      "loc": {
                                        "start": {
                                          "line": 214,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 214,
                                          "column": 27
                                        },
                                        "identifierName": "updateCaretPos"
                                      },
                                      "name": "updateCaretPos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 6800,
                                      "end": 6813,
                                      "loc": {
                                        "start": {
                                          "line": 214,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 214,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 6800,
                                        "end": 6806,
                                        "loc": {
                                          "start": {
                                            "line": 214,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 214,
                                            "column": 34
                                          },
                                          "identifierName": "string"
                                        },
                                        "name": "string"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 6807,
                                        "end": 6813,
                                        "loc": {
                                          "start": {
                                            "line": 214,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 214,
                                            "column": 41
                                          },
                                          "identifierName": "length"
                                        },
                                        "name": "length"
                                      },
                                      "computed": false
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null,
                          "leadingComments": [
                            {
                              "type": "CommentBlock",
                              "value": "*\r\n       * Avoid caret position change when maxLength is set\r\n       ",
                              "start": 6657,
                              "end": 6731,
                              "loc": {
                                "start": {
                                  "line": 210,
                                  "column": 6
                                },
                                "end": {
                                  "line": 212,
                                  "column": 9
                                }
                              }
                            }
                          ]
                        }
                      ],
                      "directives": []
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 6841,
                    "end": 6855,
                    "loc": {
                      "start": {
                        "line": 219,
                        "column": 4
                      },
                      "end": {
                        "line": 219,
                        "column": 18
                      }
                    },
                    "argument": {
                      "type": "Identifier",
                      "start": 6848,
                      "end": 6854,
                      "loc": {
                        "start": {
                          "line": 219,
                          "column": 11
                        },
                        "end": {
                          "line": 219,
                          "column": 17
                        },
                        "identifierName": "output"
                      },
                      "name": "output"
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Adds a string to the input at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {string} string The string to add\r\n   * @param  {number} position The (cursor) position where the string should be added\r\n   ",
                  "start": 6059,
                  "end": 6311,
                  "loc": {
                    "start": {
                      "line": 191,
                      "column": 2
                    },
                    "end": {
                      "line": 197,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Removes an amount of characters at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {number} position The (cursor) position from where the characters should be removed\r\n   ",
                  "start": 6866,
                  "end": 7086,
                  "loc": {
                    "start": {
                      "line": 222,
                      "column": 2
                    },
                    "end": {
                      "line": 227,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 7090,
              "end": 8320,
              "loc": {
                "start": {
                  "line": 228,
                  "column": 2
                },
                "end": {
                  "line": 267,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7090,
                "end": 7098,
                "loc": {
                  "start": {
                    "line": 228,
                    "column": 2
                  },
                  "end": {
                    "line": 228,
                    "column": 10
                  },
                  "identifierName": "removeAt"
                },
                "name": "removeAt",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 7099,
                  "end": 7105,
                  "loc": {
                    "start": {
                      "line": 228,
                      "column": 11
                    },
                    "end": {
                      "line": 228,
                      "column": 17
                    },
                    "identifierName": "source"
                  },
                  "name": "source"
                },
                {
                  "type": "Identifier",
                  "start": 7107,
                  "end": 7115,
                  "loc": {
                    "start": {
                      "line": 228,
                      "column": 19
                    },
                    "end": {
                      "line": 228,
                      "column": 27
                    },
                    "identifierName": "position"
                  },
                  "name": "position"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 7116,
                "end": 8320,
                "loc": {
                  "start": {
                    "line": 228,
                    "column": 28
                  },
                  "end": {
                    "line": 267,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 7123,
                    "end": 7204,
                    "loc": {
                      "start": {
                        "line": 229,
                        "column": 4
                      },
                      "end": {
                        "line": 231,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 7126,
                      "end": 7173,
                      "loc": {
                        "start": {
                          "line": 229,
                          "column": 7
                        },
                        "end": {
                          "line": 229,
                          "column": 54
                        }
                      },
                      "left": {
                        "type": "MemberExpression",
                        "start": 7126,
                        "end": 7167,
                        "loc": {
                          "start": {
                            "line": 229,
                            "column": 7
                          },
                          "end": {
                            "line": 229,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 7126,
                          "end": 7153,
                          "loc": {
                            "start": {
                              "line": 229,
                              "column": 7
                            },
                            "end": {
                              "line": 229,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7126,
                            "end": 7130,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 7
                              },
                              "end": {
                                "line": 229,
                                "column": 11
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7131,
                            "end": 7153,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 12
                              },
                              "end": {
                                "line": 229,
                                "column": 34
                              },
                              "identifierName": "simpleKeyboardInstance"
                            },
                            "name": "simpleKeyboardInstance"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7154,
                          "end": 7167,
                          "loc": {
                            "start": {
                              "line": 229,
                              "column": 35
                            },
                            "end": {
                              "line": 229,
                              "column": 48
                            },
                            "identifierName": "caretPosition"
                          },
                          "name": "caretPosition"
                        },
                        "computed": false
                      },
                      "operator": "===",
                      "right": {
                        "type": "NumericLiteral",
                        "start": 7172,
                        "end": 7173,
                        "loc": {
                          "start": {
                            "line": 229,
                            "column": 53
                          },
                          "end": {
                            "line": 229,
                            "column": 54
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "value": 0
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 7174,
                      "end": 7204,
                      "loc": {
                        "start": {
                          "line": 229,
                          "column": 55
                        },
                        "end": {
                          "line": 231,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ReturnStatement",
                          "start": 7183,
                          "end": 7197,
                          "loc": {
                            "start": {
                              "line": 230,
                              "column": 6
                            },
                            "end": {
                              "line": 230,
                              "column": 20
                            }
                          },
                          "argument": {
                            "type": "Identifier",
                            "start": 7190,
                            "end": 7196,
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 13
                              },
                              "end": {
                                "line": 230,
                                "column": 19
                              },
                              "identifierName": "source"
                            },
                            "name": "source"
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 7212,
                    "end": 7223,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 4
                      },
                      "end": {
                        "line": 233,
                        "column": 15
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 7216,
                        "end": 7222,
                        "loc": {
                          "start": {
                            "line": 233,
                            "column": 8
                          },
                          "end": {
                            "line": 233,
                            "column": 14
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 7216,
                          "end": 7222,
                          "loc": {
                            "start": {
                              "line": 233,
                              "column": 8
                            },
                            "end": {
                              "line": 233,
                              "column": 14
                            },
                            "identifierName": "output"
                          },
                          "name": "output"
                        },
                        "init": null
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 7229,
                    "end": 7246,
                    "loc": {
                      "start": {
                        "line": 234,
                        "column": 4
                      },
                      "end": {
                        "line": 234,
                        "column": 21
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 7233,
                        "end": 7245,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 8
                          },
                          "end": {
                            "line": 234,
                            "column": 20
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 7233,
                          "end": 7245,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 8
                            },
                            "end": {
                              "line": 234,
                              "column": 20
                            },
                            "identifierName": "prevTwoChars"
                          },
                          "name": "prevTwoChars"
                        },
                        "init": null
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 7252,
                    "end": 7269,
                    "loc": {
                      "start": {
                        "line": 235,
                        "column": 4
                      },
                      "end": {
                        "line": 235,
                        "column": 21
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 7256,
                        "end": 7268,
                        "loc": {
                          "start": {
                            "line": 235,
                            "column": 8
                          },
                          "end": {
                            "line": 235,
                            "column": 20
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 7256,
                          "end": 7268,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 8
                            },
                            "end": {
                              "line": 235,
                              "column": 20
                            },
                            "identifierName": "emojiMatched"
                          },
                          "name": "emojiMatched"
                        },
                        "init": null
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 7275,
                    "end": 7333,
                    "loc": {
                      "start": {
                        "line": 236,
                        "column": 4
                      },
                      "end": {
                        "line": 236,
                        "column": 62
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 7279,
                        "end": 7332,
                        "loc": {
                          "start": {
                            "line": 236,
                            "column": 8
                          },
                          "end": {
                            "line": 236,
                            "column": 61
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 7279,
                          "end": 7294,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 8
                            },
                            "end": {
                              "line": 236,
                              "column": 23
                            },
                            "identifierName": "emojiMatchedReg"
                          },
                          "name": "emojiMatchedReg"
                        },
                        "init": {
                          "type": "RegExpLiteral",
                          "start": 7297,
                          "end": 7332,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 26
                            },
                            "end": {
                              "line": 236,
                              "column": 61
                            }
                          },
                          "extra": {
                            "raw": "/([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g"
                          },
                          "pattern": "([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])",
                          "flags": "g"
                        }
                      }
                    ],
                    "kind": "let",
                    "trailingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "*\r\n     * Emojis are made out of two characters, so we must take a custom approach to trim them.\r\n     * For more info: https://mathiasbynens.be/notes/javascript-unicode\r\n     ",
                        "start": 7341,
                        "end": 7521,
                        "loc": {
                          "start": {
                            "line": 238,
                            "column": 4
                          },
                          "end": {
                            "line": 241,
                            "column": 7
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "IfStatement",
                    "start": 7527,
                    "end": 8293,
                    "loc": {
                      "start": {
                        "line": 242,
                        "column": 4
                      },
                      "end": {
                        "line": 264,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 7530,
                      "end": 7555,
                      "loc": {
                        "start": {
                          "line": 242,
                          "column": 7
                        },
                        "end": {
                          "line": 242,
                          "column": 32
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 7530,
                        "end": 7538,
                        "loc": {
                          "start": {
                            "line": 242,
                            "column": 7
                          },
                          "end": {
                            "line": 242,
                            "column": 15
                          },
                          "identifierName": "position"
                        },
                        "name": "position",
                        "leadingComments": null
                      },
                      "operator": "&&",
                      "right": {
                        "type": "BinaryExpression",
                        "start": 7542,
                        "end": 7555,
                        "loc": {
                          "start": {
                            "line": 242,
                            "column": 19
                          },
                          "end": {
                            "line": 242,
                            "column": 32
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 7542,
                          "end": 7550,
                          "loc": {
                            "start": {
                              "line": 242,
                              "column": 19
                            },
                            "end": {
                              "line": 242,
                              "column": 27
                            },
                            "identifierName": "position"
                          },
                          "name": "position"
                        },
                        "operator": ">=",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 7554,
                          "end": 7555,
                          "loc": {
                            "start": {
                              "line": 242,
                              "column": 31
                            },
                            "end": {
                              "line": 242,
                              "column": 32
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      },
                      "leadingComments": null
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 7556,
                      "end": 7972,
                      "loc": {
                        "start": {
                          "line": 242,
                          "column": 33
                        },
                        "end": {
                          "line": 253,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 7565,
                          "end": 7620,
                          "loc": {
                            "start": {
                              "line": 243,
                              "column": 6
                            },
                            "end": {
                              "line": 243,
                              "column": 61
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 7565,
                            "end": 7620,
                            "loc": {
                              "start": {
                                "line": 243,
                                "column": 6
                              },
                              "end": {
                                "line": 243,
                                "column": 61
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 7565,
                              "end": 7577,
                              "loc": {
                                "start": {
                                  "line": 243,
                                  "column": 6
                                },
                                "end": {
                                  "line": 243,
                                  "column": 18
                                },
                                "identifierName": "prevTwoChars"
                              },
                              "name": "prevTwoChars"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 7580,
                              "end": 7620,
                              "loc": {
                                "start": {
                                  "line": 243,
                                  "column": 21
                                },
                                "end": {
                                  "line": 243,
                                  "column": 61
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7580,
                                "end": 7596,
                                "loc": {
                                  "start": {
                                    "line": 243,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 243,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7580,
                                  "end": 7586,
                                  "loc": {
                                    "start": {
                                      "line": 243,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 243,
                                      "column": 27
                                    },
                                    "identifierName": "source"
                                  },
                                  "name": "source"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7587,
                                  "end": 7596,
                                  "loc": {
                                    "start": {
                                      "line": 243,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 243,
                                      "column": 37
                                    },
                                    "identifierName": "substring"
                                  },
                                  "name": "substring"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 7597,
                                  "end": 7609,
                                  "loc": {
                                    "start": {
                                      "line": 243,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 243,
                                      "column": 50
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 7597,
                                    "end": 7605,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 46
                                      },
                                      "identifierName": "position"
                                    },
                                    "name": "position"
                                  },
                                  "operator": "-",
                                  "right": {
                                    "type": "NumericLiteral",
                                    "start": 7608,
                                    "end": 7609,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 50
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 2,
                                      "raw": "2"
                                    },
                                    "value": 2
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "start": 7611,
                                  "end": 7619,
                                  "loc": {
                                    "start": {
                                      "line": 243,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 243,
                                      "column": 60
                                    },
                                    "identifierName": "position"
                                  },
                                  "name": "position"
                                }
                              ]
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 7628,
                          "end": 7679,
                          "loc": {
                            "start": {
                              "line": 244,
                              "column": 6
                            },
                            "end": {
                              "line": 244,
                              "column": 57
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 7628,
                            "end": 7678,
                            "loc": {
                              "start": {
                                "line": 244,
                                "column": 6
                              },
                              "end": {
                                "line": 244,
                                "column": 56
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 7628,
                              "end": 7640,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 6
                                },
                                "end": {
                                  "line": 244,
                                  "column": 18
                                },
                                "identifierName": "emojiMatched"
                              },
                              "name": "emojiMatched"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 7643,
                              "end": 7678,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 21
                                },
                                "end": {
                                  "line": 244,
                                  "column": 56
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7643,
                                "end": 7661,
                                "loc": {
                                  "start": {
                                    "line": 244,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 244,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7643,
                                  "end": 7655,
                                  "loc": {
                                    "start": {
                                      "line": 244,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 244,
                                      "column": 33
                                    },
                                    "identifierName": "prevTwoChars"
                                  },
                                  "name": "prevTwoChars"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7656,
                                  "end": 7661,
                                  "loc": {
                                    "start": {
                                      "line": 244,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 244,
                                      "column": 39
                                    },
                                    "identifierName": "match"
                                  },
                                  "name": "match"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 7662,
                                  "end": 7677,
                                  "loc": {
                                    "start": {
                                      "line": 244,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 244,
                                      "column": 55
                                    },
                                    "identifierName": "emojiMatchedReg"
                                  },
                                  "name": "emojiMatchedReg"
                                }
                              ]
                            }
                          }
                        },
                        {
                          "type": "IfStatement",
                          "start": 7689,
                          "end": 7965,
                          "loc": {
                            "start": {
                              "line": 246,
                              "column": 6
                            },
                            "end": {
                              "line": 252,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "Identifier",
                            "start": 7692,
                            "end": 7704,
                            "loc": {
                              "start": {
                                "line": 246,
                                "column": 9
                              },
                              "end": {
                                "line": 246,
                                "column": 21
                              },
                              "identifierName": "emojiMatched"
                            },
                            "name": "emojiMatched"
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 7705,
                            "end": 7832,
                            "loc": {
                              "start": {
                                "line": 246,
                                "column": 22
                              },
                              "end": {
                                "line": 249,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 7716,
                                "end": 7784,
                                "loc": {
                                  "start": {
                                    "line": 247,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 247,
                                    "column": 76
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 7716,
                                  "end": 7783,
                                  "loc": {
                                    "start": {
                                      "line": 247,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 247,
                                      "column": 75
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 7716,
                                    "end": 7722,
                                    "loc": {
                                      "start": {
                                        "line": 247,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 247,
                                        "column": 14
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 7725,
                                    "end": 7783,
                                    "loc": {
                                      "start": {
                                        "line": 247,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 247,
                                        "column": 75
                                      }
                                    },
                                    "left": {
                                      "type": "CallExpression",
                                      "start": 7725,
                                      "end": 7757,
                                      "loc": {
                                        "start": {
                                          "line": 247,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 247,
                                          "column": 49
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 7725,
                                        "end": 7738,
                                        "loc": {
                                          "start": {
                                            "line": 247,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 247,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 7725,
                                          "end": 7731,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 23
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7732,
                                          "end": 7738,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 30
                                            },
                                            "identifierName": "substr"
                                          },
                                          "name": "substr"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 7739,
                                          "end": 7740,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 32
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 0,
                                            "raw": "0"
                                          },
                                          "value": 0
                                        },
                                        {
                                          "type": "BinaryExpression",
                                          "start": 7743,
                                          "end": 7755,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 47
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 7743,
                                            "end": 7751,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 43
                                              },
                                              "identifierName": "position"
                                            },
                                            "name": "position"
                                          },
                                          "operator": "-",
                                          "right": {
                                            "type": "NumericLiteral",
                                            "start": 7754,
                                            "end": 7755,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 47
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 2,
                                              "raw": "2"
                                            },
                                            "value": 2
                                          },
                                          "extra": {
                                            "parenthesized": true,
                                            "parenStart": 7742
                                          }
                                        }
                                      ]
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 7760,
                                      "end": 7783,
                                      "loc": {
                                        "start": {
                                          "line": 247,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 247,
                                          "column": 75
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 7760,
                                        "end": 7773,
                                        "loc": {
                                          "start": {
                                            "line": 247,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 247,
                                            "column": 65
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 7760,
                                          "end": 7766,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 58
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7767,
                                          "end": 7773,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 65
                                            },
                                            "identifierName": "substr"
                                          },
                                          "name": "substr"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 7774,
                                          "end": 7782,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 66
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 74
                                            },
                                            "identifierName": "position"
                                          },
                                          "name": "position"
                                        }
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 7794,
                                "end": 7823,
                                "loc": {
                                  "start": {
                                    "line": 248,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 248,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 7794,
                                  "end": 7822,
                                  "loc": {
                                    "start": {
                                      "line": 248,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 248,
                                      "column": 36
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 7794,
                                    "end": 7813,
                                    "loc": {
                                      "start": {
                                        "line": 248,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 248,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 7794,
                                      "end": 7798,
                                      "loc": {
                                        "start": {
                                          "line": 248,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 248,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7799,
                                      "end": 7813,
                                      "loc": {
                                        "start": {
                                          "line": 248,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 248,
                                          "column": 27
                                        },
                                        "identifierName": "updateCaretPos"
                                      },
                                      "name": "updateCaretPos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "NumericLiteral",
                                      "start": 7814,
                                      "end": 7815,
                                      "loc": {
                                        "start": {
                                          "line": 248,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 248,
                                          "column": 29
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 2,
                                        "raw": "2"
                                      },
                                      "value": 2
                                    },
                                    {
                                      "type": "BooleanLiteral",
                                      "start": 7817,
                                      "end": 7821,
                                      "loc": {
                                        "start": {
                                          "line": 248,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 248,
                                          "column": 35
                                        }
                                      },
                                      "value": true
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": {
                            "type": "BlockStatement",
                            "start": 7838,
                            "end": 7965,
                            "loc": {
                              "start": {
                                "line": 249,
                                "column": 13
                              },
                              "end": {
                                "line": 252,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 7849,
                                "end": 7917,
                                "loc": {
                                  "start": {
                                    "line": 250,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 250,
                                    "column": 76
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 7849,
                                  "end": 7916,
                                  "loc": {
                                    "start": {
                                      "line": 250,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 250,
                                      "column": 75
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 7849,
                                    "end": 7855,
                                    "loc": {
                                      "start": {
                                        "line": 250,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 250,
                                        "column": 14
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 7858,
                                    "end": 7916,
                                    "loc": {
                                      "start": {
                                        "line": 250,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 250,
                                        "column": 75
                                      }
                                    },
                                    "left": {
                                      "type": "CallExpression",
                                      "start": 7858,
                                      "end": 7890,
                                      "loc": {
                                        "start": {
                                          "line": 250,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 250,
                                          "column": 49
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 7858,
                                        "end": 7871,
                                        "loc": {
                                          "start": {
                                            "line": 250,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 250,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 7858,
                                          "end": 7864,
                                          "loc": {
                                            "start": {
                                              "line": 250,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 250,
                                              "column": 23
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7865,
                                          "end": 7871,
                                          "loc": {
                                            "start": {
                                              "line": 250,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 250,
                                              "column": 30
                                            },
                                            "identifierName": "substr"
                                          },
                                          "name": "substr"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 7872,
                                          "end": 7873,
                                          "loc": {
                                            "start": {
                                              "line": 250,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 250,
                                              "column": 32
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 0,
                                            "raw": "0"
                                          },
                                          "value": 0
                                        },
                                        {
                                          "type": "BinaryExpression",
                                          "start": 7876,
                                          "end": 7888,
                                          "loc": {
                                            "start": {
                                              "line": 250,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 250,
                                              "column": 47
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 7876,
                                            "end": 7884,
                                            "loc": {
                                              "start": {
                                                "line": 250,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 250,
                                                "column": 43
                                              },
                                              "identifierName": "position"
                                            },
                                            "name": "position"
                                          },
                                          "operator": "-",
                                          "right": {
                                            "type": "NumericLiteral",
                                            "start": 7887,
                                            "end": 7888,
                                            "loc": {
                                              "start": {
                                                "line": 250,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 250,
                                                "column": 47
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 1,
                                              "raw": "1"
                                            },
                                            "value": 1
                                          },
                                          "extra": {
                                            "parenthesized": true,
                                            "parenStart": 7875
                                          }
                                        }
                                      ]
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 7893,
                                      "end": 7916,
                                      "loc": {
                                        "start": {
                                          "line": 250,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 250,
                                          "column": 75
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 7893,
                                        "end": 7906,
                                        "loc": {
                                          "start": {
                                            "line": 250,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 250,
                                            "column": 65
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 7893,
                                          "end": 7899,
                                          "loc": {
                                            "start": {
                                              "line": 250,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 250,
                                              "column": 58
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7900,
                                          "end": 7906,
                                          "loc": {
                                            "start": {
                                              "line": 250,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 250,
                                              "column": 65
                                            },
                                            "identifierName": "substr"
                                          },
                                          "name": "substr"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 7907,
                                          "end": 7915,
                                          "loc": {
                                            "start": {
                                              "line": 250,
                                              "column": 66
                                            },
                                            "end": {
                                              "line": 250,
                                              "column": 74
                                            },
                                            "identifierName": "position"
                                          },
                                          "name": "position"
                                        }
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 7927,
                                "end": 7956,
                                "loc": {
                                  "start": {
                                    "line": 251,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 251,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 7927,
                                  "end": 7955,
                                  "loc": {
                                    "start": {
                                      "line": 251,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 251,
                                      "column": 36
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 7927,
                                    "end": 7946,
                                    "loc": {
                                      "start": {
                                        "line": 251,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 251,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 7927,
                                      "end": 7931,
                                      "loc": {
                                        "start": {
                                          "line": 251,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 251,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 7932,
                                      "end": 7946,
                                      "loc": {
                                        "start": {
                                          "line": 251,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 251,
                                          "column": 27
                                        },
                                        "identifierName": "updateCaretPos"
                                      },
                                      "name": "updateCaretPos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "NumericLiteral",
                                      "start": 7947,
                                      "end": 7948,
                                      "loc": {
                                        "start": {
                                          "line": 251,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 251,
                                          "column": 29
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 1,
                                        "raw": "1"
                                      },
                                      "value": 1
                                    },
                                    {
                                      "type": "BooleanLiteral",
                                      "start": 7950,
                                      "end": 7954,
                                      "loc": {
                                        "start": {
                                          "line": 251,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 251,
                                          "column": 35
                                        }
                                      },
                                      "value": true
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "start": 7978,
                      "end": 8293,
                      "loc": {
                        "start": {
                          "line": 253,
                          "column": 11
                        },
                        "end": {
                          "line": 264,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 7987,
                          "end": 8019,
                          "loc": {
                            "start": {
                              "line": 254,
                              "column": 6
                            },
                            "end": {
                              "line": 254,
                              "column": 38
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 7987,
                            "end": 8018,
                            "loc": {
                              "start": {
                                "line": 254,
                                "column": 6
                              },
                              "end": {
                                "line": 254,
                                "column": 37
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 7987,
                              "end": 7999,
                              "loc": {
                                "start": {
                                  "line": 254,
                                  "column": 6
                                },
                                "end": {
                                  "line": 254,
                                  "column": 18
                                },
                                "identifierName": "prevTwoChars"
                              },
                              "name": "prevTwoChars"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 8002,
                              "end": 8018,
                              "loc": {
                                "start": {
                                  "line": 254,
                                  "column": 21
                                },
                                "end": {
                                  "line": 254,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8002,
                                "end": 8014,
                                "loc": {
                                  "start": {
                                    "line": 254,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 254,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8002,
                                  "end": 8008,
                                  "loc": {
                                    "start": {
                                      "line": 254,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 254,
                                      "column": 27
                                    },
                                    "identifierName": "source"
                                  },
                                  "name": "source"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8009,
                                  "end": 8014,
                                  "loc": {
                                    "start": {
                                      "line": 254,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 254,
                                      "column": 33
                                    },
                                    "identifierName": "slice"
                                  },
                                  "name": "slice"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "UnaryExpression",
                                  "start": 8015,
                                  "end": 8017,
                                  "loc": {
                                    "start": {
                                      "line": 254,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 254,
                                      "column": 36
                                    }
                                  },
                                  "operator": "-",
                                  "prefix": true,
                                  "argument": {
                                    "type": "NumericLiteral",
                                    "start": 8016,
                                    "end": 8017,
                                    "loc": {
                                      "start": {
                                        "line": 254,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 254,
                                        "column": 36
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 2,
                                      "raw": "2"
                                    },
                                    "value": 2
                                  },
                                  "extra": {
                                    "parenthesizedArgument": false
                                  }
                                }
                              ]
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 8027,
                          "end": 8078,
                          "loc": {
                            "start": {
                              "line": 255,
                              "column": 6
                            },
                            "end": {
                              "line": 255,
                              "column": 57
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 8027,
                            "end": 8077,
                            "loc": {
                              "start": {
                                "line": 255,
                                "column": 6
                              },
                              "end": {
                                "line": 255,
                                "column": 56
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 8027,
                              "end": 8039,
                              "loc": {
                                "start": {
                                  "line": 255,
                                  "column": 6
                                },
                                "end": {
                                  "line": 255,
                                  "column": 18
                                },
                                "identifierName": "emojiMatched"
                              },
                              "name": "emojiMatched"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 8042,
                              "end": 8077,
                              "loc": {
                                "start": {
                                  "line": 255,
                                  "column": 21
                                },
                                "end": {
                                  "line": 255,
                                  "column": 56
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8042,
                                "end": 8060,
                                "loc": {
                                  "start": {
                                    "line": 255,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 255,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8042,
                                  "end": 8054,
                                  "loc": {
                                    "start": {
                                      "line": 255,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 255,
                                      "column": 33
                                    },
                                    "identifierName": "prevTwoChars"
                                  },
                                  "name": "prevTwoChars"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8055,
                                  "end": 8060,
                                  "loc": {
                                    "start": {
                                      "line": 255,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 255,
                                      "column": 39
                                    },
                                    "identifierName": "match"
                                  },
                                  "name": "match"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 8061,
                                  "end": 8076,
                                  "loc": {
                                    "start": {
                                      "line": 255,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 255,
                                      "column": 55
                                    },
                                    "identifierName": "emojiMatchedReg"
                                  },
                                  "name": "emojiMatchedReg"
                                }
                              ]
                            }
                          }
                        },
                        {
                          "type": "IfStatement",
                          "start": 8088,
                          "end": 8286,
                          "loc": {
                            "start": {
                              "line": 257,
                              "column": 6
                            },
                            "end": {
                              "line": 263,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "Identifier",
                            "start": 8091,
                            "end": 8103,
                            "loc": {
                              "start": {
                                "line": 257,
                                "column": 9
                              },
                              "end": {
                                "line": 257,
                                "column": 21
                              },
                              "identifierName": "emojiMatched"
                            },
                            "name": "emojiMatched"
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 8104,
                            "end": 8192,
                            "loc": {
                              "start": {
                                "line": 257,
                                "column": 22
                              },
                              "end": {
                                "line": 260,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 8115,
                                "end": 8144,
                                "loc": {
                                  "start": {
                                    "line": 258,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 258,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 8115,
                                  "end": 8143,
                                  "loc": {
                                    "start": {
                                      "line": 258,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 258,
                                      "column": 36
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 8115,
                                    "end": 8121,
                                    "loc": {
                                      "start": {
                                        "line": 258,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 258,
                                        "column": 14
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 8124,
                                    "end": 8143,
                                    "loc": {
                                      "start": {
                                        "line": 258,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 258,
                                        "column": 36
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8124,
                                      "end": 8136,
                                      "loc": {
                                        "start": {
                                          "line": 258,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 258,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8124,
                                        "end": 8130,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 23
                                          },
                                          "identifierName": "source"
                                        },
                                        "name": "source"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8131,
                                        "end": 8136,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 29
                                          },
                                          "identifierName": "slice"
                                        },
                                        "name": "slice"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 8137,
                                        "end": 8138,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 31
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "value": 0
                                      },
                                      {
                                        "type": "UnaryExpression",
                                        "start": 8140,
                                        "end": 8142,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 35
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "NumericLiteral",
                                          "start": 8141,
                                          "end": 8142,
                                          "loc": {
                                            "start": {
                                              "line": 258,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 258,
                                              "column": 35
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 2,
                                            "raw": "2"
                                          },
                                          "value": 2
                                        },
                                        "extra": {
                                          "parenthesizedArgument": false
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 8154,
                                "end": 8183,
                                "loc": {
                                  "start": {
                                    "line": 259,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 259,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 8154,
                                  "end": 8182,
                                  "loc": {
                                    "start": {
                                      "line": 259,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 259,
                                      "column": 36
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 8154,
                                    "end": 8173,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 8154,
                                      "end": 8158,
                                      "loc": {
                                        "start": {
                                          "line": 259,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 259,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8159,
                                      "end": 8173,
                                      "loc": {
                                        "start": {
                                          "line": 259,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 259,
                                          "column": 27
                                        },
                                        "identifierName": "updateCaretPos"
                                      },
                                      "name": "updateCaretPos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "NumericLiteral",
                                      "start": 8174,
                                      "end": 8175,
                                      "loc": {
                                        "start": {
                                          "line": 259,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 259,
                                          "column": 29
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 2,
                                        "raw": "2"
                                      },
                                      "value": 2
                                    },
                                    {
                                      "type": "BooleanLiteral",
                                      "start": 8177,
                                      "end": 8181,
                                      "loc": {
                                        "start": {
                                          "line": 259,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 259,
                                          "column": 35
                                        }
                                      },
                                      "value": true
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": {
                            "type": "BlockStatement",
                            "start": 8198,
                            "end": 8286,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 13
                              },
                              "end": {
                                "line": 263,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 8209,
                                "end": 8238,
                                "loc": {
                                  "start": {
                                    "line": 261,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 261,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 8209,
                                  "end": 8237,
                                  "loc": {
                                    "start": {
                                      "line": 261,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 261,
                                      "column": 36
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 8209,
                                    "end": 8215,
                                    "loc": {
                                      "start": {
                                        "line": 261,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 261,
                                        "column": 14
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 8218,
                                    "end": 8237,
                                    "loc": {
                                      "start": {
                                        "line": 261,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 261,
                                        "column": 36
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8218,
                                      "end": 8230,
                                      "loc": {
                                        "start": {
                                          "line": 261,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 261,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8218,
                                        "end": 8224,
                                        "loc": {
                                          "start": {
                                            "line": 261,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 261,
                                            "column": 23
                                          },
                                          "identifierName": "source"
                                        },
                                        "name": "source"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8225,
                                        "end": 8230,
                                        "loc": {
                                          "start": {
                                            "line": 261,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 261,
                                            "column": 29
                                          },
                                          "identifierName": "slice"
                                        },
                                        "name": "slice"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 8231,
                                        "end": 8232,
                                        "loc": {
                                          "start": {
                                            "line": 261,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 261,
                                            "column": 31
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "value": 0
                                      },
                                      {
                                        "type": "UnaryExpression",
                                        "start": 8234,
                                        "end": 8236,
                                        "loc": {
                                          "start": {
                                            "line": 261,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 261,
                                            "column": 35
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "NumericLiteral",
                                          "start": 8235,
                                          "end": 8236,
                                          "loc": {
                                            "start": {
                                              "line": 261,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 261,
                                              "column": 35
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 1,
                                            "raw": "1"
                                          },
                                          "value": 1
                                        },
                                        "extra": {
                                          "parenthesizedArgument": false
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 8248,
                                "end": 8277,
                                "loc": {
                                  "start": {
                                    "line": 262,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 262,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 8248,
                                  "end": 8276,
                                  "loc": {
                                    "start": {
                                      "line": 262,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 262,
                                      "column": 36
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 8248,
                                    "end": 8267,
                                    "loc": {
                                      "start": {
                                        "line": 262,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 262,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 8248,
                                      "end": 8252,
                                      "loc": {
                                        "start": {
                                          "line": 262,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 262,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8253,
                                      "end": 8267,
                                      "loc": {
                                        "start": {
                                          "line": 262,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 262,
                                          "column": 27
                                        },
                                        "identifierName": "updateCaretPos"
                                      },
                                      "name": "updateCaretPos"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "NumericLiteral",
                                      "start": 8268,
                                      "end": 8269,
                                      "loc": {
                                        "start": {
                                          "line": 262,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 262,
                                          "column": 29
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 1,
                                        "raw": "1"
                                      },
                                      "value": 1
                                    },
                                    {
                                      "type": "BooleanLiteral",
                                      "start": 8271,
                                      "end": 8275,
                                      "loc": {
                                        "start": {
                                          "line": 262,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 262,
                                          "column": 35
                                        }
                                      },
                                      "value": true
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          }
                        }
                      ],
                      "directives": []
                    },
                    "leadingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "*\r\n     * Emojis are made out of two characters, so we must take a custom approach to trim them.\r\n     * For more info: https://mathiasbynens.be/notes/javascript-unicode\r\n     ",
                        "start": 7341,
                        "end": 7521,
                        "loc": {
                          "start": {
                            "line": 238,
                            "column": 4
                          },
                          "end": {
                            "line": 241,
                            "column": 7
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 8301,
                    "end": 8315,
                    "loc": {
                      "start": {
                        "line": 266,
                        "column": 4
                      },
                      "end": {
                        "line": 266,
                        "column": 18
                      }
                    },
                    "argument": {
                      "type": "Identifier",
                      "start": 8308,
                      "end": 8314,
                      "loc": {
                        "start": {
                          "line": 266,
                          "column": 11
                        },
                        "end": {
                          "line": 266,
                          "column": 17
                        },
                        "identifierName": "output"
                      },
                      "name": "output"
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Removes an amount of characters at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {number} position The (cursor) position from where the characters should be removed\r\n   ",
                  "start": 6866,
                  "end": 7086,
                  "loc": {
                    "start": {
                      "line": 222,
                      "column": 2
                    },
                    "end": {
                      "line": 227,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Determines whether the maxLength has been reached. This function is called when the maxLength option it set.\r\n   * \r\n   * @param  {object} inputObj\r\n   * @param  {object} options\r\n   * @param  {string} updatedInput\r\n   ",
                  "start": 8324,
                  "end": 8555,
                  "loc": {
                    "start": {
                      "line": 268,
                      "column": 2
                    },
                    "end": {
                      "line": 274,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 8559,
              "end": 9817,
              "loc": {
                "start": {
                  "line": 275,
                  "column": 2
                },
                "end": {
                  "line": 323,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 8559,
                "end": 8574,
                "loc": {
                  "start": {
                    "line": 275,
                    "column": 2
                  },
                  "end": {
                    "line": 275,
                    "column": 17
                  },
                  "identifierName": "handleMaxLength"
                },
                "name": "handleMaxLength",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 8575,
                  "end": 8583,
                  "loc": {
                    "start": {
                      "line": 275,
                      "column": 18
                    },
                    "end": {
                      "line": 275,
                      "column": 26
                    },
                    "identifierName": "inputObj"
                  },
                  "name": "inputObj"
                },
                {
                  "type": "Identifier",
                  "start": 8585,
                  "end": 8592,
                  "loc": {
                    "start": {
                      "line": 275,
                      "column": 28
                    },
                    "end": {
                      "line": 275,
                      "column": 35
                    },
                    "identifierName": "options"
                  },
                  "name": "options"
                },
                {
                  "type": "Identifier",
                  "start": 8594,
                  "end": 8606,
                  "loc": {
                    "start": {
                      "line": 275,
                      "column": 37
                    },
                    "end": {
                      "line": 275,
                      "column": 49
                    },
                    "identifierName": "updatedInput"
                  },
                  "name": "updatedInput"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 8607,
                "end": 9817,
                "loc": {
                  "start": {
                    "line": 275,
                    "column": 50
                  },
                  "end": {
                    "line": 323,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 8614,
                    "end": 8648,
                    "loc": {
                      "start": {
                        "line": 276,
                        "column": 4
                      },
                      "end": {
                        "line": 276,
                        "column": 38
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 8618,
                        "end": 8647,
                        "loc": {
                          "start": {
                            "line": 276,
                            "column": 8
                          },
                          "end": {
                            "line": 276,
                            "column": 37
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 8618,
                          "end": 8627,
                          "loc": {
                            "start": {
                              "line": 276,
                              "column": 8
                            },
                            "end": {
                              "line": 276,
                              "column": 17
                            },
                            "identifierName": "maxLength"
                          },
                          "name": "maxLength"
                        },
                        "init": {
                          "type": "MemberExpression",
                          "start": 8630,
                          "end": 8647,
                          "loc": {
                            "start": {
                              "line": 276,
                              "column": 20
                            },
                            "end": {
                              "line": 276,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8630,
                            "end": 8637,
                            "loc": {
                              "start": {
                                "line": 276,
                                "column": 20
                              },
                              "end": {
                                "line": 276,
                                "column": 27
                              },
                              "identifierName": "options"
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8638,
                            "end": 8647,
                            "loc": {
                              "start": {
                                "line": 276,
                                "column": 28
                              },
                              "end": {
                                "line": 276,
                                "column": 37
                              },
                              "identifierName": "maxLength"
                            },
                            "name": "maxLength"
                          },
                          "computed": false
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 8654,
                    "end": 8701,
                    "loc": {
                      "start": {
                        "line": 277,
                        "column": 4
                      },
                      "end": {
                        "line": 277,
                        "column": 51
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 8658,
                        "end": 8700,
                        "loc": {
                          "start": {
                            "line": 277,
                            "column": 8
                          },
                          "end": {
                            "line": 277,
                            "column": 50
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 8658,
                          "end": 8670,
                          "loc": {
                            "start": {
                              "line": 277,
                              "column": 8
                            },
                            "end": {
                              "line": 277,
                              "column": 20
                            },
                            "identifierName": "currentInput"
                          },
                          "name": "currentInput"
                        },
                        "init": {
                          "type": "MemberExpression",
                          "start": 8673,
                          "end": 8700,
                          "loc": {
                            "start": {
                              "line": 277,
                              "column": 23
                            },
                            "end": {
                              "line": 277,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8673,
                            "end": 8681,
                            "loc": {
                              "start": {
                                "line": 277,
                                "column": 23
                              },
                              "end": {
                                "line": 277,
                                "column": 31
                              },
                              "identifierName": "inputObj"
                            },
                            "name": "inputObj"
                          },
                          "property": {
                            "type": "MemberExpression",
                            "start": 8682,
                            "end": 8699,
                            "loc": {
                              "start": {
                                "line": 277,
                                "column": 32
                              },
                              "end": {
                                "line": 277,
                                "column": 49
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8682,
                              "end": 8689,
                              "loc": {
                                "start": {
                                  "line": 277,
                                  "column": 32
                                },
                                "end": {
                                  "line": 277,
                                  "column": 39
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8690,
                              "end": 8699,
                              "loc": {
                                "start": {
                                  "line": 277,
                                  "column": 40
                                },
                                "end": {
                                  "line": 277,
                                  "column": 49
                                },
                                "identifierName": "inputName"
                              },
                              "name": "inputName"
                            },
                            "computed": false
                          },
                          "computed": true
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 8707,
                    "end": 8757,
                    "loc": {
                      "start": {
                        "line": 278,
                        "column": 4
                      },
                      "end": {
                        "line": 278,
                        "column": 54
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 8711,
                        "end": 8756,
                        "loc": {
                          "start": {
                            "line": 278,
                            "column": 8
                          },
                          "end": {
                            "line": 278,
                            "column": 53
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 8711,
                          "end": 8720,
                          "loc": {
                            "start": {
                              "line": 278,
                              "column": 8
                            },
                            "end": {
                              "line": 278,
                              "column": 17
                            },
                            "identifierName": "condition"
                          },
                          "name": "condition"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 8723,
                          "end": 8756,
                          "loc": {
                            "start": {
                              "line": 278,
                              "column": 20
                            },
                            "end": {
                              "line": 278,
                              "column": 53
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 8723,
                            "end": 8742,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 20
                              },
                              "end": {
                                "line": 278,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8723,
                              "end": 8735,
                              "loc": {
                                "start": {
                                  "line": 278,
                                  "column": 20
                                },
                                "end": {
                                  "line": 278,
                                  "column": 32
                                },
                                "identifierName": "currentInput"
                              },
                              "name": "currentInput"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8736,
                              "end": 8742,
                              "loc": {
                                "start": {
                                  "line": 278,
                                  "column": 33
                                },
                                "end": {
                                  "line": 278,
                                  "column": 39
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "operator": "===",
                          "right": {
                            "type": "Identifier",
                            "start": 8747,
                            "end": 8756,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 44
                              },
                              "end": {
                                "line": 278,
                                "column": 53
                              },
                              "identifierName": "maxLength"
                            },
                            "name": "maxLength"
                          }
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "IfStatement",
                    "start": 8767,
                    "end": 8985,
                    "loc": {
                      "start": {
                        "line": 281,
                        "column": 4
                      },
                      "end": {
                        "line": 289,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 8907,
                      "end": 8949,
                      "loc": {
                        "start": {
                          "line": 286,
                          "column": 6
                        },
                        "end": {
                          "line": 286,
                          "column": 48
                        }
                      },
                      "left": {
                        "type": "MemberExpression",
                        "start": 8907,
                        "end": 8926,
                        "loc": {
                          "start": {
                            "line": 286,
                            "column": 6
                          },
                          "end": {
                            "line": 286,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 8907,
                          "end": 8919,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 6
                            },
                            "end": {
                              "line": 286,
                              "column": 18
                            },
                            "identifierName": "updatedInput"
                          },
                          "name": "updatedInput",
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 8920,
                          "end": 8926,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 19
                            },
                            "end": {
                              "line": 286,
                              "column": 25
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "operator": "<=",
                      "right": {
                        "type": "MemberExpression",
                        "start": 8930,
                        "end": 8949,
                        "loc": {
                          "start": {
                            "line": 286,
                            "column": 29
                          },
                          "end": {
                            "line": 286,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 8930,
                          "end": 8942,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 29
                            },
                            "end": {
                              "line": 286,
                              "column": 41
                            },
                            "identifierName": "currentInput"
                          },
                          "name": "currentInput"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 8943,
                          "end": 8949,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 42
                            },
                            "end": {
                              "line": 286,
                              "column": 48
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n       * If pressing this button won't add more characters\r\n       * We exit out of this limiter function\r\n       ",
                          "start": 8778,
                          "end": 8899,
                          "loc": {
                            "start": {
                              "line": 282,
                              "column": 6
                            },
                            "end": {
                              "line": 285,
                              "column": 9
                            }
                          }
                        }
                      ]
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 8956,
                      "end": 8985,
                      "loc": {
                        "start": {
                          "line": 287,
                          "column": 5
                        },
                        "end": {
                          "line": 289,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ReturnStatement",
                          "start": 8965,
                          "end": 8978,
                          "loc": {
                            "start": {
                              "line": 288,
                              "column": 6
                            },
                            "end": {
                              "line": 288,
                              "column": 19
                            }
                          },
                          "argument": {
                            "type": "BooleanLiteral",
                            "start": 8972,
                            "end": 8977,
                            "loc": {
                              "start": {
                                "line": 288,
                                "column": 13
                              },
                              "end": {
                                "line": 288,
                                "column": 18
                              }
                            },
                            "value": false
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "IfStatement",
                    "start": 8993,
                    "end": 9415,
                    "loc": {
                      "start": {
                        "line": 291,
                        "column": 4
                      },
                      "end": {
                        "line": 306,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "CallExpression",
                      "start": 8996,
                      "end": 9023,
                      "loc": {
                        "start": {
                          "line": 291,
                          "column": 7
                        },
                        "end": {
                          "line": 291,
                          "column": 34
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 8996,
                        "end": 9012,
                        "loc": {
                          "start": {
                            "line": 291,
                            "column": 7
                          },
                          "end": {
                            "line": 291,
                            "column": 23
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 8996,
                          "end": 9002,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 7
                            },
                            "end": {
                              "line": 291,
                              "column": 13
                            },
                            "identifierName": "Number"
                          },
                          "name": "Number"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 9003,
                          "end": 9012,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 14
                            },
                            "end": {
                              "line": 291,
                              "column": 23
                            },
                            "identifierName": "isInteger"
                          },
                          "name": "isInteger"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 9013,
                          "end": 9022,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 24
                            },
                            "end": {
                              "line": 291,
                              "column": 33
                            },
                            "identifierName": "maxLength"
                          },
                          "name": "maxLength"
                        }
                      ]
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 9024,
                      "end": 9415,
                      "loc": {
                        "start": {
                          "line": 291,
                          "column": 35
                        },
                        "end": {
                          "line": 306,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 9033,
                          "end": 9121,
                          "loc": {
                            "start": {
                              "line": 292,
                              "column": 6
                            },
                            "end": {
                              "line": 294,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "MemberExpression",
                            "start": 9036,
                            "end": 9049,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 9
                              },
                              "end": {
                                "line": 292,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9036,
                              "end": 9043,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 9
                                },
                                "end": {
                                  "line": 292,
                                  "column": 16
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9044,
                              "end": 9049,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 17
                                },
                                "end": {
                                  "line": 292,
                                  "column": 22
                                },
                                "identifierName": "debug"
                              },
                              "name": "debug"
                            },
                            "computed": false
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 9050,
                            "end": 9121,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 23
                              },
                              "end": {
                                "line": 294,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 9061,
                                "end": 9112,
                                "loc": {
                                  "start": {
                                    "line": 293,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 293,
                                    "column": 59
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 9061,
                                  "end": 9111,
                                  "loc": {
                                    "start": {
                                      "line": 293,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 293,
                                      "column": 58
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 9061,
                                    "end": 9072,
                                    "loc": {
                                      "start": {
                                        "line": 293,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 293,
                                        "column": 19
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9061,
                                      "end": 9068,
                                      "loc": {
                                        "start": {
                                          "line": 293,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 293,
                                          "column": 15
                                        },
                                        "identifierName": "console"
                                      },
                                      "name": "console"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9069,
                                      "end": 9072,
                                      "loc": {
                                        "start": {
                                          "line": 293,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 293,
                                          "column": 19
                                        },
                                        "identifierName": "log"
                                      },
                                      "name": "log"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 9073,
                                      "end": 9099,
                                      "loc": {
                                        "start": {
                                          "line": 293,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 293,
                                          "column": 46
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "maxLength (num) reached:",
                                        "raw": "\"maxLength (num) reached:\""
                                      },
                                      "value": "maxLength (num) reached:"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 9101,
                                      "end": 9110,
                                      "loc": {
                                        "start": {
                                          "line": 293,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 293,
                                          "column": 57
                                        },
                                        "identifierName": "condition"
                                      },
                                      "name": "condition"
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null
                        },
                        {
                          "type": "IfStatement",
                          "start": 9131,
                          "end": 9408,
                          "loc": {
                            "start": {
                              "line": 296,
                              "column": 6
                            },
                            "end": {
                              "line": 305,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "Identifier",
                            "start": 9134,
                            "end": 9143,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 9
                              },
                              "end": {
                                "line": 296,
                                "column": 18
                              },
                              "identifierName": "condition"
                            },
                            "name": "condition"
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 9144,
                            "end": 9329,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 19
                              },
                              "end": {
                                "line": 302,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 9269,
                                "end": 9298,
                                "loc": {
                                  "start": {
                                    "line": 300,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 300,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 9269,
                                  "end": 9297,
                                  "loc": {
                                    "start": {
                                      "line": 300,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 300,
                                      "column": 36
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9269,
                                    "end": 9290,
                                    "loc": {
                                      "start": {
                                        "line": 300,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 300,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9269,
                                      "end": 9273,
                                      "loc": {
                                        "start": {
                                          "line": 300,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 300,
                                          "column": 12
                                        }
                                      },
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9274,
                                      "end": 9290,
                                      "loc": {
                                        "start": {
                                          "line": 300,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 300,
                                          "column": 29
                                        },
                                        "identifierName": "maxLengthReached"
                                      },
                                      "name": "maxLengthReached"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "right": {
                                    "type": "BooleanLiteral",
                                    "start": 9293,
                                    "end": 9297,
                                    "loc": {
                                      "start": {
                                        "line": 300,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 300,
                                        "column": 36
                                      }
                                    },
                                    "value": true
                                  },
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentBlock",
                                    "value": "*\r\n         * @type {boolean} Boolean value that shows whether maxLength has been reached\r\n         ",
                                    "start": 9155,
                                    "end": 9259,
                                    "loc": {
                                      "start": {
                                        "line": 297,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 299,
                                        "column": 11
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 9308,
                                "end": 9320,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 20
                                  }
                                },
                                "argument": {
                                  "type": "BooleanLiteral",
                                  "start": 9315,
                                  "end": 9319,
                                  "loc": {
                                    "start": {
                                      "line": 301,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 301,
                                      "column": 19
                                    }
                                  },
                                  "value": true
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": {
                            "type": "BlockStatement",
                            "start": 9335,
                            "end": 9408,
                            "loc": {
                              "start": {
                                "line": 302,
                                "column": 13
                              },
                              "end": {
                                "line": 305,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 9346,
                                "end": 9376,
                                "loc": {
                                  "start": {
                                    "line": 303,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 303,
                                    "column": 38
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 9346,
                                  "end": 9375,
                                  "loc": {
                                    "start": {
                                      "line": 303,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 303,
                                      "column": 37
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9346,
                                    "end": 9367,
                                    "loc": {
                                      "start": {
                                        "line": 303,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 303,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9346,
                                      "end": 9350,
                                      "loc": {
                                        "start": {
                                          "line": 303,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 303,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9351,
                                      "end": 9367,
                                      "loc": {
                                        "start": {
                                          "line": 303,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 303,
                                          "column": 29
                                        },
                                        "identifierName": "maxLengthReached"
                                      },
                                      "name": "maxLengthReached"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "BooleanLiteral",
                                    "start": 9370,
                                    "end": 9375,
                                    "loc": {
                                      "start": {
                                        "line": 303,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 303,
                                        "column": 37
                                      }
                                    },
                                    "value": false
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 9386,
                                "end": 9399,
                                "loc": {
                                  "start": {
                                    "line": 304,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 304,
                                    "column": 21
                                  }
                                },
                                "argument": {
                                  "type": "BooleanLiteral",
                                  "start": 9393,
                                  "end": 9398,
                                  "loc": {
                                    "start": {
                                      "line": 304,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 304,
                                      "column": 20
                                    }
                                  },
                                  "value": false
                                }
                              }
                            ],
                            "directives": []
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "IfStatement",
                    "start": 9423,
                    "end": 9812,
                    "loc": {
                      "start": {
                        "line": 308,
                        "column": 4
                      },
                      "end": {
                        "line": 322,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 9426,
                      "end": 9455,
                      "loc": {
                        "start": {
                          "line": 308,
                          "column": 7
                        },
                        "end": {
                          "line": 308,
                          "column": 36
                        }
                      },
                      "left": {
                        "type": "UnaryExpression",
                        "start": 9426,
                        "end": 9442,
                        "loc": {
                          "start": {
                            "line": 308,
                            "column": 7
                          },
                          "end": {
                            "line": 308,
                            "column": 23
                          }
                        },
                        "operator": "typeof",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 9433,
                          "end": 9442,
                          "loc": {
                            "start": {
                              "line": 308,
                              "column": 14
                            },
                            "end": {
                              "line": 308,
                              "column": 23
                            },
                            "identifierName": "maxLength"
                          },
                          "name": "maxLength"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "operator": "===",
                      "right": {
                        "type": "StringLiteral",
                        "start": 9447,
                        "end": 9455,
                        "loc": {
                          "start": {
                            "line": 308,
                            "column": 28
                          },
                          "end": {
                            "line": 308,
                            "column": 36
                          }
                        },
                        "extra": {
                          "rawValue": "object",
                          "raw": "\"object\""
                        },
                        "value": "object"
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 9456,
                      "end": 9812,
                      "loc": {
                        "start": {
                          "line": 308,
                          "column": 37
                        },
                        "end": {
                          "line": 322,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 9465,
                          "end": 9534,
                          "loc": {
                            "start": {
                              "line": 309,
                              "column": 6
                            },
                            "end": {
                              "line": 309,
                              "column": 75
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 9469,
                              "end": 9533,
                              "loc": {
                                "start": {
                                  "line": 309,
                                  "column": 10
                                },
                                "end": {
                                  "line": 309,
                                  "column": 74
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 9469,
                                "end": 9478,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 19
                                  },
                                  "identifierName": "condition"
                                },
                                "name": "condition"
                              },
                              "init": {
                                "type": "BinaryExpression",
                                "start": 9481,
                                "end": 9533,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 74
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 9481,
                                  "end": 9500,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9481,
                                    "end": 9493,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 34
                                      },
                                      "identifierName": "currentInput"
                                    },
                                    "name": "currentInput"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 9494,
                                    "end": 9500,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 41
                                      },
                                      "identifierName": "length"
                                    },
                                    "name": "length"
                                  },
                                  "computed": false
                                },
                                "operator": "===",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 9505,
                                  "end": 9533,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 74
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 9505,
                                    "end": 9514,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 55
                                      },
                                      "identifierName": "maxLength"
                                    },
                                    "name": "maxLength"
                                  },
                                  "property": {
                                    "type": "MemberExpression",
                                    "start": 9515,
                                    "end": 9532,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 73
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9515,
                                      "end": 9522,
                                      "loc": {
                                        "start": {
                                          "line": 309,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 309,
                                          "column": 63
                                        },
                                        "identifierName": "options"
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9523,
                                      "end": 9532,
                                      "loc": {
                                        "start": {
                                          "line": 309,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 309,
                                          "column": 73
                                        },
                                        "identifierName": "inputName"
                                      },
                                      "name": "inputName"
                                    },
                                    "computed": false
                                  },
                                  "computed": true
                                }
                              }
                            }
                          ],
                          "kind": "let"
                        },
                        {
                          "type": "IfStatement",
                          "start": 9544,
                          "end": 9632,
                          "loc": {
                            "start": {
                              "line": 311,
                              "column": 6
                            },
                            "end": {
                              "line": 313,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "MemberExpression",
                            "start": 9547,
                            "end": 9560,
                            "loc": {
                              "start": {
                                "line": 311,
                                "column": 9
                              },
                              "end": {
                                "line": 311,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9547,
                              "end": 9554,
                              "loc": {
                                "start": {
                                  "line": 311,
                                  "column": 9
                                },
                                "end": {
                                  "line": 311,
                                  "column": 16
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9555,
                              "end": 9560,
                              "loc": {
                                "start": {
                                  "line": 311,
                                  "column": 17
                                },
                                "end": {
                                  "line": 311,
                                  "column": 22
                                },
                                "identifierName": "debug"
                              },
                              "name": "debug"
                            },
                            "computed": false
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 9561,
                            "end": 9632,
                            "loc": {
                              "start": {
                                "line": 311,
                                "column": 23
                              },
                              "end": {
                                "line": 313,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 9572,
                                "end": 9623,
                                "loc": {
                                  "start": {
                                    "line": 312,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 312,
                                    "column": 59
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 9572,
                                  "end": 9622,
                                  "loc": {
                                    "start": {
                                      "line": 312,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 312,
                                      "column": 58
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 9572,
                                    "end": 9583,
                                    "loc": {
                                      "start": {
                                        "line": 312,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 312,
                                        "column": 19
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9572,
                                      "end": 9579,
                                      "loc": {
                                        "start": {
                                          "line": 312,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 312,
                                          "column": 15
                                        },
                                        "identifierName": "console"
                                      },
                                      "name": "console"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9580,
                                      "end": 9583,
                                      "loc": {
                                        "start": {
                                          "line": 312,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 312,
                                          "column": 19
                                        },
                                        "identifierName": "log"
                                      },
                                      "name": "log"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 9584,
                                      "end": 9610,
                                      "loc": {
                                        "start": {
                                          "line": 312,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 312,
                                          "column": 46
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "maxLength (obj) reached:",
                                        "raw": "\"maxLength (obj) reached:\""
                                      },
                                      "value": "maxLength (obj) reached:"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 9612,
                                      "end": 9621,
                                      "loc": {
                                        "start": {
                                          "line": 312,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 312,
                                          "column": 57
                                        },
                                        "identifierName": "condition"
                                      },
                                      "name": "condition"
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null
                        },
                        {
                          "type": "IfStatement",
                          "start": 9642,
                          "end": 9805,
                          "loc": {
                            "start": {
                              "line": 315,
                              "column": 6
                            },
                            "end": {
                              "line": 321,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "Identifier",
                            "start": 9645,
                            "end": 9654,
                            "loc": {
                              "start": {
                                "line": 315,
                                "column": 9
                              },
                              "end": {
                                "line": 315,
                                "column": 18
                              },
                              "identifierName": "condition"
                            },
                            "name": "condition"
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 9655,
                            "end": 9726,
                            "loc": {
                              "start": {
                                "line": 315,
                                "column": 19
                              },
                              "end": {
                                "line": 318,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 9666,
                                "end": 9695,
                                "loc": {
                                  "start": {
                                    "line": 316,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 316,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 9666,
                                  "end": 9694,
                                  "loc": {
                                    "start": {
                                      "line": 316,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 316,
                                      "column": 36
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9666,
                                    "end": 9687,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9666,
                                      "end": 9670,
                                      "loc": {
                                        "start": {
                                          "line": 316,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 316,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9671,
                                      "end": 9687,
                                      "loc": {
                                        "start": {
                                          "line": 316,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 316,
                                          "column": 29
                                        },
                                        "identifierName": "maxLengthReached"
                                      },
                                      "name": "maxLengthReached"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "BooleanLiteral",
                                    "start": 9690,
                                    "end": 9694,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 36
                                      }
                                    },
                                    "value": true
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 9705,
                                "end": 9717,
                                "loc": {
                                  "start": {
                                    "line": 317,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 317,
                                    "column": 20
                                  }
                                },
                                "argument": {
                                  "type": "BooleanLiteral",
                                  "start": 9712,
                                  "end": 9716,
                                  "loc": {
                                    "start": {
                                      "line": 317,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 317,
                                      "column": 19
                                    }
                                  },
                                  "value": true
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": {
                            "type": "BlockStatement",
                            "start": 9732,
                            "end": 9805,
                            "loc": {
                              "start": {
                                "line": 318,
                                "column": 13
                              },
                              "end": {
                                "line": 321,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 9743,
                                "end": 9773,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 38
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 9743,
                                  "end": 9772,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 37
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9743,
                                    "end": 9764,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9743,
                                      "end": 9747,
                                      "loc": {
                                        "start": {
                                          "line": 319,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 319,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9748,
                                      "end": 9764,
                                      "loc": {
                                        "start": {
                                          "line": 319,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 319,
                                          "column": 29
                                        },
                                        "identifierName": "maxLengthReached"
                                      },
                                      "name": "maxLengthReached"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "BooleanLiteral",
                                    "start": 9767,
                                    "end": 9772,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 37
                                      }
                                    },
                                    "value": false
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 9783,
                                "end": 9796,
                                "loc": {
                                  "start": {
                                    "line": 320,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 320,
                                    "column": 21
                                  }
                                },
                                "argument": {
                                  "type": "BooleanLiteral",
                                  "start": 9790,
                                  "end": 9795,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 20
                                    }
                                  },
                                  "value": false
                                }
                              }
                            ],
                            "directives": []
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Determines whether the maxLength has been reached. This function is called when the maxLength option it set.\r\n   * \r\n   * @param  {object} inputObj\r\n   * @param  {object} options\r\n   * @param  {string} updatedInput\r\n   ",
                  "start": 8324,
                  "end": 8555,
                  "loc": {
                    "start": {
                      "line": 268,
                      "column": 2
                    },
                    "end": {
                      "line": 274,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Gets the current value of maxLengthReached\r\n   ",
                  "start": 9823,
                  "end": 9882,
                  "loc": {
                    "start": {
                      "line": 325,
                      "column": 2
                    },
                    "end": {
                      "line": 327,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 9886,
              "end": 9956,
              "loc": {
                "start": {
                  "line": 328,
                  "column": 2
                },
                "end": {
                  "line": 330,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9886,
                "end": 9904,
                "loc": {
                  "start": {
                    "line": 328,
                    "column": 2
                  },
                  "end": {
                    "line": 328,
                    "column": 20
                  },
                  "identifierName": "isMaxLengthReached"
                },
                "name": "isMaxLengthReached",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 9906,
                "end": 9956,
                "loc": {
                  "start": {
                    "line": 328,
                    "column": 22
                  },
                  "end": {
                    "line": 330,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 9913,
                    "end": 9951,
                    "loc": {
                      "start": {
                        "line": 329,
                        "column": 4
                      },
                      "end": {
                        "line": 329,
                        "column": 42
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 9920,
                      "end": 9950,
                      "loc": {
                        "start": {
                          "line": 329,
                          "column": 11
                        },
                        "end": {
                          "line": 329,
                          "column": 41
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 9920,
                        "end": 9927,
                        "loc": {
                          "start": {
                            "line": 329,
                            "column": 11
                          },
                          "end": {
                            "line": 329,
                            "column": 18
                          },
                          "identifierName": "Boolean"
                        },
                        "name": "Boolean"
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 9928,
                          "end": 9949,
                          "loc": {
                            "start": {
                              "line": 329,
                              "column": 19
                            },
                            "end": {
                              "line": 329,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 9928,
                            "end": 9932,
                            "loc": {
                              "start": {
                                "line": 329,
                                "column": 19
                              },
                              "end": {
                                "line": 329,
                                "column": 23
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9933,
                            "end": 9949,
                            "loc": {
                              "start": {
                                "line": 329,
                                "column": 24
                              },
                              "end": {
                                "line": 329,
                                "column": 40
                              },
                              "identifierName": "maxLengthReached"
                            },
                            "name": "maxLengthReached"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Gets the current value of maxLengthReached\r\n   ",
                  "start": 9823,
                  "end": 9882,
                  "loc": {
                    "start": {
                      "line": 325,
                      "column": 2
                    },
                    "end": {
                      "line": 327,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Transforms an arbitrary string to camelCase\r\n   * \r\n   * @param  {string} string The string to transform.\r\n   ",
                  "start": 9962,
                  "end": 10084,
                  "loc": {
                    "start": {
                      "line": 332,
                      "column": 2
                    },
                    "end": {
                      "line": 336,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 10088,
              "end": 10244,
              "loc": {
                "start": {
                  "line": 337,
                  "column": 2
                },
                "end": {
                  "line": 339,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10088,
                "end": 10097,
                "loc": {
                  "start": {
                    "line": 337,
                    "column": 2
                  },
                  "end": {
                    "line": 337,
                    "column": 11
                  },
                  "identifierName": "camelCase"
                },
                "name": "camelCase",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 10098,
                  "end": 10104,
                  "loc": {
                    "start": {
                      "line": 337,
                      "column": 12
                    },
                    "end": {
                      "line": 337,
                      "column": 18
                    },
                    "identifierName": "string"
                  },
                  "name": "string"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 10105,
                "end": 10244,
                "loc": {
                  "start": {
                    "line": 337,
                    "column": 19
                  },
                  "end": {
                    "line": 339,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 10112,
                    "end": 10239,
                    "loc": {
                      "start": {
                        "line": 338,
                        "column": 4
                      },
                      "end": {
                        "line": 338,
                        "column": 131
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 10119,
                      "end": 10238,
                      "loc": {
                        "start": {
                          "line": 338,
                          "column": 11
                        },
                        "end": {
                          "line": 338,
                          "column": 130
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 10119,
                        "end": 10172,
                        "loc": {
                          "start": {
                            "line": 338,
                            "column": 11
                          },
                          "end": {
                            "line": 338,
                            "column": 64
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 10119,
                          "end": 10165,
                          "loc": {
                            "start": {
                              "line": 338,
                              "column": 11
                            },
                            "end": {
                              "line": 338,
                              "column": 57
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 10119,
                            "end": 10152,
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 11
                              },
                              "end": {
                                "line": 338,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 10119,
                              "end": 10146,
                              "loc": {
                                "start": {
                                  "line": 338,
                                  "column": 11
                                },
                                "end": {
                                  "line": 338,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 10119,
                                "end": 10144,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 10119,
                                  "end": 10139,
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 31
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 10119,
                                    "end": 10137,
                                    "loc": {
                                      "start": {
                                        "line": 338,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 338,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10119,
                                      "end": 10125,
                                      "loc": {
                                        "start": {
                                          "line": 338,
                                          "column": 11
                                        },
                                        "end": {
                                          "line": 338,
                                          "column": 17
                                        },
                                        "identifierName": "string"
                                      },
                                      "name": "string"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10126,
                                      "end": 10137,
                                      "loc": {
                                        "start": {
                                          "line": 338,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 338,
                                          "column": 29
                                        },
                                        "identifierName": "toLowerCase"
                                      },
                                      "name": "toLowerCase"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10140,
                                  "end": 10144,
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 36
                                    },
                                    "identifierName": "trim"
                                  },
                                  "name": "trim"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10147,
                              "end": 10152,
                              "loc": {
                                "start": {
                                  "line": 338,
                                  "column": 39
                                },
                                "end": {
                                  "line": 338,
                                  "column": 44
                                },
                                "identifierName": "split"
                              },
                              "name": "split"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "RegExpLiteral",
                              "start": 10153,
                              "end": 10164,
                              "loc": {
                                "start": {
                                  "line": 338,
                                  "column": 45
                                },
                                "end": {
                                  "line": 338,
                                  "column": 56
                                }
                              },
                              "extra": {
                                "raw": "/[.\\-_\\s]/g"
                              },
                              "pattern": "[.\\-_\\s]",
                              "flags": "g"
                            }
                          ]
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 10166,
                          "end": 10172,
                          "loc": {
                            "start": {
                              "line": 338,
                              "column": 58
                            },
                            "end": {
                              "line": 338,
                              "column": 64
                            },
                            "identifierName": "reduce"
                          },
                          "name": "reduce"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 10173,
                          "end": 10237,
                          "loc": {
                            "start": {
                              "line": 338,
                              "column": 65
                            },
                            "end": {
                              "line": 338,
                              "column": 129
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": true,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 10174,
                              "end": 10180,
                              "loc": {
                                "start": {
                                  "line": 338,
                                  "column": 66
                                },
                                "end": {
                                  "line": 338,
                                  "column": 72
                                },
                                "identifierName": "string"
                              },
                              "name": "string"
                            },
                            {
                              "type": "Identifier",
                              "start": 10182,
                              "end": 10186,
                              "loc": {
                                "start": {
                                  "line": 338,
                                  "column": 74
                                },
                                "end": {
                                  "line": 338,
                                  "column": 78
                                },
                                "identifierName": "word"
                              },
                              "name": "word"
                            }
                          ],
                          "body": {
                            "type": "BinaryExpression",
                            "start": 10191,
                            "end": 10237,
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 83
                              },
                              "end": {
                                "line": 338,
                                "column": 129
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 10191,
                              "end": 10221,
                              "loc": {
                                "start": {
                                  "line": 338,
                                  "column": 83
                                },
                                "end": {
                                  "line": 338,
                                  "column": 113
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 10191,
                                "end": 10197,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 89
                                  },
                                  "identifierName": "string"
                                },
                                "name": "string"
                              },
                              "operator": "+",
                              "right": {
                                "type": "CallExpression",
                                "start": 10200,
                                "end": 10221,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 92
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 113
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10200,
                                  "end": 10219,
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 92
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 111
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10200,
                                    "end": 10207,
                                    "loc": {
                                      "start": {
                                        "line": 338,
                                        "column": 92
                                      },
                                      "end": {
                                        "line": 338,
                                        "column": 99
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10200,
                                      "end": 10204,
                                      "loc": {
                                        "start": {
                                          "line": 338,
                                          "column": 92
                                        },
                                        "end": {
                                          "line": 338,
                                          "column": 96
                                        },
                                        "identifierName": "word"
                                      },
                                      "name": "word"
                                    },
                                    "property": {
                                      "type": "NumericLiteral",
                                      "start": 10205,
                                      "end": 10206,
                                      "loc": {
                                        "start": {
                                          "line": 338,
                                          "column": 97
                                        },
                                        "end": {
                                          "line": 338,
                                          "column": 98
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "value": 0
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10208,
                                    "end": 10219,
                                    "loc": {
                                      "start": {
                                        "line": 338,
                                        "column": 100
                                      },
                                      "end": {
                                        "line": 338,
                                        "column": 111
                                      },
                                      "identifierName": "toUpperCase"
                                    },
                                    "name": "toUpperCase"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "CallExpression",
                              "start": 10224,
                              "end": 10237,
                              "loc": {
                                "start": {
                                  "line": 338,
                                  "column": 116
                                },
                                "end": {
                                  "line": 338,
                                  "column": 129
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 10224,
                                "end": 10234,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 116
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 126
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 10224,
                                  "end": 10228,
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 116
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 120
                                    },
                                    "identifierName": "word"
                                  },
                                  "name": "word"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10229,
                                  "end": 10234,
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 121
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 126
                                    },
                                    "identifierName": "slice"
                                  },
                                  "name": "slice"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "NumericLiteral",
                                  "start": 10235,
                                  "end": 10236,
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 127
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 128
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "value": 1
                                }
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Transforms an arbitrary string to camelCase\r\n   * \r\n   * @param  {string} string The string to transform.\r\n   ",
                  "start": 9962,
                  "end": 10084,
                  "loc": {
                    "start": {
                      "line": 332,
                      "column": 2
                    },
                    "end": {
                      "line": 336,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 10435,
              "end": 10525,
              "loc": {
                "start": {
                  "line": 347,
                  "column": 2
                },
                "end": {
                  "line": 349,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10435,
                "end": 10447,
                "loc": {
                  "start": {
                    "line": 347,
                    "column": 2
                  },
                  "end": {
                    "line": 347,
                    "column": 14
                  },
                  "identifierName": "countInArray"
                },
                "name": "countInArray",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 10448,
                  "end": 10453,
                  "loc": {
                    "start": {
                      "line": 347,
                      "column": 15
                    },
                    "end": {
                      "line": 347,
                      "column": 20
                    },
                    "identifierName": "array"
                  },
                  "name": "array"
                },
                {
                  "type": "Identifier",
                  "start": 10455,
                  "end": 10460,
                  "loc": {
                    "start": {
                      "line": 347,
                      "column": 22
                    },
                    "end": {
                      "line": 347,
                      "column": 27
                    },
                    "identifierName": "value"
                  },
                  "name": "value"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 10461,
                "end": 10525,
                "loc": {
                  "start": {
                    "line": 347,
                    "column": 28
                  },
                  "end": {
                    "line": 349,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 10468,
                    "end": 10520,
                    "loc": {
                      "start": {
                        "line": 348,
                        "column": 4
                      },
                      "end": {
                        "line": 348,
                        "column": 56
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 10475,
                      "end": 10519,
                      "loc": {
                        "start": {
                          "line": 348,
                          "column": 11
                        },
                        "end": {
                          "line": 348,
                          "column": 55
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 10475,
                        "end": 10487,
                        "loc": {
                          "start": {
                            "line": 348,
                            "column": 11
                          },
                          "end": {
                            "line": 348,
                            "column": 23
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 10475,
                          "end": 10480,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 11
                            },
                            "end": {
                              "line": 348,
                              "column": 16
                            },
                            "identifierName": "array"
                          },
                          "name": "array"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 10481,
                          "end": 10487,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 17
                            },
                            "end": {
                              "line": 348,
                              "column": 23
                            },
                            "identifierName": "reduce"
                          },
                          "name": "reduce"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 10488,
                          "end": 10515,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 24
                            },
                            "end": {
                              "line": 348,
                              "column": 51
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": true,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 10489,
                              "end": 10490,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 25
                                },
                                "end": {
                                  "line": 348,
                                  "column": 26
                                },
                                "identifierName": "n"
                              },
                              "name": "n"
                            },
                            {
                              "type": "Identifier",
                              "start": 10492,
                              "end": 10493,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 28
                                },
                                "end": {
                                  "line": 348,
                                  "column": 29
                                },
                                "identifierName": "x"
                              },
                              "name": "x"
                            }
                          ],
                          "body": {
                            "type": "BinaryExpression",
                            "start": 10498,
                            "end": 10515,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 34
                              },
                              "end": {
                                "line": 348,
                                "column": 51
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 10498,
                              "end": 10499,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 34
                                },
                                "end": {
                                  "line": 348,
                                  "column": 35
                                },
                                "identifierName": "n"
                              },
                              "name": "n"
                            },
                            "operator": "+",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 10503,
                              "end": 10514,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 39
                                },
                                "end": {
                                  "line": 348,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 10503,
                                "end": 10504,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 40
                                  },
                                  "identifierName": "x"
                                },
                                "name": "x"
                              },
                              "operator": "===",
                              "right": {
                                "type": "Identifier",
                                "start": 10509,
                                "end": 10514,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 50
                                  },
                                  "identifierName": "value"
                                },
                                "name": "value"
                              },
                              "extra": {
                                "parenthesized": true,
                                "parenStart": 10502
                              }
                            }
                          }
                        },
                        {
                          "type": "NumericLiteral",
                          "start": 10517,
                          "end": 10518,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 53
                            },
                            "end": {
                              "line": 348,
                              "column": 54
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Counts the number of duplicates in a given array\r\n   * \r\n   * @param  {Array} array The haystack to search in\r\n   * @param  {string} value The needle to search for\r\n   ",
                  "start": 10251,
                  "end": 10431,
                  "loc": {
                    "start": {
                      "line": 341,
                      "column": 2
                    },
                    "end": {
                      "line": 346,
                      "column": 5
                    }
                  }
                }
              ]
            }
          ]
        },
        "leadingComments": [],
        "name": "_",
        "trailingComments": []
      },
      {
        "type": "Identifier",
        "start": 10534,
        "end": 10559,
        "loc": {
          "start": {
            "line": 353,
            "column": 0
          },
          "end": {
            "line": 353,
            "column": 25
          }
        },
        "declaration": {
          "type": "Identifier",
          "start": 10549,
          "end": 10558,
          "loc": {
            "start": {
              "line": 353,
              "column": 15
            },
            "end": {
              "line": 353,
              "column": 24
            },
            "identifierName": "Utilities"
          },
          "name": "Utilities"
        },
        "name": "_",
        "leadingComments": [],
        "trailingComments": []
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 10534,
        "end": 10559,
        "loc": {
          "start": {
            "line": 353,
            "column": 0
          },
          "end": {
            "line": 353,
            "column": 25
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 30,
          "end": 10530,
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 351,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 36,
            "end": 45,
            "loc": {
              "start": {
                "line": 4,
                "column": 6
              },
              "end": {
                "line": 4,
                "column": 15
              },
              "identifierName": "Utilities"
            },
            "name": "Utilities",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 46,
            "end": 10530,
            "loc": {
              "start": {
                "line": 4,
                "column": 16
              },
              "end": {
                "line": 351,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 114,
                "end": 740,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 2
                  },
                  "end": {
                    "line": 24,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 114,
                  "end": 125,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 2
                    },
                    "end": {
                      "line": 8,
                      "column": 13
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor",
                  "leadingComments": null
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 126,
                    "end": 148,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 14
                      },
                      "end": {
                        "line": 8,
                        "column": 36
                      },
                      "identifierName": "simpleKeyboardInstance"
                    },
                    "name": "simpleKeyboardInstance"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 149,
                  "end": 740,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 37
                    },
                    "end": {
                      "line": 24,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 224,
                      "end": 277,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 4
                        },
                        "end": {
                          "line": 12,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 224,
                        "end": 276,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 4
                          },
                          "end": {
                            "line": 12,
                            "column": 56
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 224,
                          "end": 251,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 4
                            },
                            "end": {
                              "line": 12,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 224,
                            "end": 228,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 4
                              },
                              "end": {
                                "line": 12,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 229,
                            "end": 251,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 9
                              },
                              "end": {
                                "line": 12,
                                "column": 31
                              },
                              "identifierName": "simpleKeyboardInstance"
                            },
                            "name": "simpleKeyboardInstance"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 254,
                          "end": 276,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 34
                            },
                            "end": {
                              "line": 12,
                              "column": 56
                            },
                            "identifierName": "simpleKeyboardInstance"
                          },
                          "name": "simpleKeyboardInstance"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * @type {object} A simple-keyboard instance\r\n     ",
                          "start": 156,
                          "end": 218,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 4
                            },
                            "end": {
                              "line": 11,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Bindings\r\n     ",
                          "start": 285,
                          "end": 314,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 4
                            },
                            "end": {
                              "line": 16,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 320,
                      "end": 373,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 4
                        },
                        "end": {
                          "line": 17,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 320,
                        "end": 372,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 4
                          },
                          "end": {
                            "line": 17,
                            "column": 56
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 320,
                          "end": 339,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 4
                            },
                            "end": {
                              "line": 17,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 320,
                            "end": 324,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 4
                              },
                              "end": {
                                "line": 17,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 325,
                            "end": 339,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 9
                              },
                              "end": {
                                "line": 17,
                                "column": 23
                              },
                              "identifierName": "getButtonClass"
                            },
                            "name": "getButtonClass"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 342,
                          "end": 372,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 26
                            },
                            "end": {
                              "line": 17,
                              "column": 56
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 342,
                            "end": 366,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 26
                              },
                              "end": {
                                "line": 17,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 342,
                              "end": 361,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 26
                                },
                                "end": {
                                  "line": 17,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 342,
                                "end": 346,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 30
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 347,
                                "end": 361,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 45
                                  },
                                  "identifierName": "getButtonClass"
                                },
                                "name": "getButtonClass"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 362,
                              "end": 366,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 46
                                },
                                "end": {
                                  "line": 17,
                                  "column": 50
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 367,
                              "end": 371,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 51
                                },
                                "end": {
                                  "line": 17,
                                  "column": 55
                                }
                              }
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Bindings\r\n     ",
                          "start": 285,
                          "end": 314,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 4
                            },
                            "end": {
                              "line": 16,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 379,
                      "end": 444,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 4
                        },
                        "end": {
                          "line": 18,
                          "column": 69
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 379,
                        "end": 443,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 4
                          },
                          "end": {
                            "line": 18,
                            "column": 68
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 379,
                          "end": 404,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 4
                            },
                            "end": {
                              "line": 18,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 379,
                            "end": 383,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 4
                              },
                              "end": {
                                "line": 18,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 384,
                            "end": 404,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 9
                              },
                              "end": {
                                "line": 18,
                                "column": 29
                              },
                              "identifierName": "getButtonDisplayName"
                            },
                            "name": "getButtonDisplayName"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 407,
                          "end": 443,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 32
                            },
                            "end": {
                              "line": 18,
                              "column": 68
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 407,
                            "end": 437,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 32
                              },
                              "end": {
                                "line": 18,
                                "column": 62
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 407,
                              "end": 432,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 32
                                },
                                "end": {
                                  "line": 18,
                                  "column": 57
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 407,
                                "end": 411,
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 36
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 412,
                                "end": 432,
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 57
                                  },
                                  "identifierName": "getButtonDisplayName"
                                },
                                "name": "getButtonDisplayName"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 433,
                              "end": 437,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 58
                                },
                                "end": {
                                  "line": 18,
                                  "column": 62
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 438,
                              "end": 442,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 63
                                },
                                "end": {
                                  "line": 18,
                                  "column": 67
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 450,
                      "end": 505,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 4
                        },
                        "end": {
                          "line": 19,
                          "column": 59
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 450,
                        "end": 504,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 4
                          },
                          "end": {
                            "line": 19,
                            "column": 58
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 450,
                          "end": 470,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 4
                            },
                            "end": {
                              "line": 19,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 450,
                            "end": 454,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 4
                              },
                              "end": {
                                "line": 19,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 455,
                            "end": 470,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 9
                              },
                              "end": {
                                "line": 19,
                                "column": 24
                              },
                              "identifierName": "getUpdatedInput"
                            },
                            "name": "getUpdatedInput"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 473,
                          "end": 504,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 27
                            },
                            "end": {
                              "line": 19,
                              "column": 58
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 473,
                            "end": 498,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 27
                              },
                              "end": {
                                "line": 19,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 473,
                              "end": 493,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 27
                                },
                                "end": {
                                  "line": 19,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 473,
                                "end": 477,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 31
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 478,
                                "end": 493,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 47
                                  },
                                  "identifierName": "getUpdatedInput"
                                },
                                "name": "getUpdatedInput"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 494,
                              "end": 498,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 48
                                },
                                "end": {
                                  "line": 19,
                                  "column": 52
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 499,
                              "end": 503,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 53
                                },
                                "end": {
                                  "line": 19,
                                  "column": 57
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 511,
                      "end": 564,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 4
                        },
                        "end": {
                          "line": 20,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 511,
                        "end": 563,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 4
                          },
                          "end": {
                            "line": 20,
                            "column": 56
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 511,
                          "end": 530,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 4
                            },
                            "end": {
                              "line": 20,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 511,
                            "end": 515,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 4
                              },
                              "end": {
                                "line": 20,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 516,
                            "end": 530,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 9
                              },
                              "end": {
                                "line": 20,
                                "column": 23
                              },
                              "identifierName": "updateCaretPos"
                            },
                            "name": "updateCaretPos"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 533,
                          "end": 563,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 26
                            },
                            "end": {
                              "line": 20,
                              "column": 56
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 533,
                            "end": 557,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 26
                              },
                              "end": {
                                "line": 20,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 533,
                              "end": 552,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 26
                                },
                                "end": {
                                  "line": 20,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 533,
                                "end": 537,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 30
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 538,
                                "end": 552,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 45
                                  },
                                  "identifierName": "updateCaretPos"
                                },
                                "name": "updateCaretPos"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 553,
                              "end": 557,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 46
                                },
                                "end": {
                                  "line": 20,
                                  "column": 50
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 558,
                              "end": 562,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 51
                                },
                                "end": {
                                  "line": 20,
                                  "column": 55
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 570,
                      "end": 631,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 4
                        },
                        "end": {
                          "line": 21,
                          "column": 65
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 570,
                        "end": 630,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 4
                          },
                          "end": {
                            "line": 21,
                            "column": 64
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 570,
                          "end": 593,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 4
                            },
                            "end": {
                              "line": 21,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 570,
                            "end": 574,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 4
                              },
                              "end": {
                                "line": 21,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 575,
                            "end": 593,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 9
                              },
                              "end": {
                                "line": 21,
                                "column": 27
                              },
                              "identifierName": "isMaxLengthReached"
                            },
                            "name": "isMaxLengthReached"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 596,
                          "end": 630,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 30
                            },
                            "end": {
                              "line": 21,
                              "column": 64
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 596,
                            "end": 624,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 30
                              },
                              "end": {
                                "line": 21,
                                "column": 58
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 596,
                              "end": 619,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 30
                                },
                                "end": {
                                  "line": 21,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 596,
                                "end": 600,
                                "loc": {
                                  "start": {
                                    "line": 21,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 34
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 601,
                                "end": 619,
                                "loc": {
                                  "start": {
                                    "line": 21,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 53
                                  },
                                  "identifierName": "isMaxLengthReached"
                                },
                                "name": "isMaxLengthReached"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 620,
                              "end": 624,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 54
                                },
                                "end": {
                                  "line": 21,
                                  "column": 58
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 625,
                              "end": 629,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 59
                                },
                                "end": {
                                  "line": 21,
                                  "column": 63
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 637,
                      "end": 680,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 4
                        },
                        "end": {
                          "line": 22,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 637,
                        "end": 679,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 4
                          },
                          "end": {
                            "line": 22,
                            "column": 46
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 637,
                          "end": 651,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 4
                            },
                            "end": {
                              "line": 22,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 637,
                            "end": 641,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 4
                              },
                              "end": {
                                "line": 22,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 642,
                            "end": 651,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 9
                              },
                              "end": {
                                "line": 22,
                                "column": 18
                              },
                              "identifierName": "camelCase"
                            },
                            "name": "camelCase"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 654,
                          "end": 679,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 21
                            },
                            "end": {
                              "line": 22,
                              "column": 46
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 654,
                            "end": 673,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 21
                              },
                              "end": {
                                "line": 22,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 654,
                              "end": 668,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 21
                                },
                                "end": {
                                  "line": 22,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 654,
                                "end": 658,
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 25
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 659,
                                "end": 668,
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 35
                                  },
                                  "identifierName": "camelCase"
                                },
                                "name": "camelCase"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 669,
                              "end": 673,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 36
                                },
                                "end": {
                                  "line": 22,
                                  "column": 40
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 674,
                              "end": 678,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 41
                                },
                                "end": {
                                  "line": 22,
                                  "column": 45
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 686,
                      "end": 735,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 4
                        },
                        "end": {
                          "line": 23,
                          "column": 53
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 686,
                        "end": 734,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 4
                          },
                          "end": {
                            "line": 23,
                            "column": 52
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 686,
                          "end": 703,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 4
                            },
                            "end": {
                              "line": 23,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 686,
                            "end": 690,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 4
                              },
                              "end": {
                                "line": 23,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 691,
                            "end": 703,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 9
                              },
                              "end": {
                                "line": 23,
                                "column": 21
                              },
                              "identifierName": "countInArray"
                            },
                            "name": "countInArray"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 706,
                          "end": 734,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 24
                            },
                            "end": {
                              "line": 23,
                              "column": 52
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 706,
                            "end": 728,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 24
                              },
                              "end": {
                                "line": 23,
                                "column": 46
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 706,
                              "end": 723,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 24
                                },
                                "end": {
                                  "line": 23,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 706,
                                "end": 710,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 28
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 711,
                                "end": 723,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 41
                                  },
                                  "identifierName": "countInArray"
                                },
                                "name": "countInArray"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 724,
                              "end": 728,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 42
                                },
                                "end": {
                                  "line": 23,
                                  "column": 46
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 729,
                              "end": 733,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 47
                                },
                                "end": {
                                  "line": 23,
                                  "column": 51
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Creates an instance of the Utility service\r\n   ",
                    "start": 51,
                    "end": 110,
                    "loc": {
                      "start": {
                        "line": 5,
                        "column": 2
                      },
                      "end": {
                        "line": 7,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Adds default classes to a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @return {string} The classes to be added to the button\r\n   ",
                    "start": 746,
                    "end": 924,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 2
                      },
                      "end": {
                        "line": 31,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 928,
                "end": 1355,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 2
                  },
                  "end": {
                    "line": 41,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 928,
                  "end": 942,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 2
                    },
                    "end": {
                      "line": 32,
                      "column": 16
                    },
                    "identifierName": "getButtonClass"
                  },
                  "name": "getButtonClass",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 943,
                    "end": 949,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 17
                      },
                      "end": {
                        "line": 32,
                        "column": 23
                      },
                      "identifierName": "button"
                    },
                    "name": "button"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 950,
                  "end": 1355,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 24
                    },
                    "end": {
                      "line": 41,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 957,
                      "end": 1079,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 4
                        },
                        "end": {
                          "line": 33,
                          "column": 126
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 961,
                          "end": 1078,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 125
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 961,
                            "end": 976,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 8
                              },
                              "end": {
                                "line": 33,
                                "column": 23
                              },
                              "identifierName": "buttonTypeClass"
                            },
                            "name": "buttonTypeClass"
                          },
                          "init": {
                            "type": "ConditionalExpression",
                            "start": 979,
                            "end": 1078,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 26
                              },
                              "end": {
                                "line": 33,
                                "column": 125
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 980,
                              "end": 1045,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 27
                                },
                                "end": {
                                  "line": 33,
                                  "column": 92
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 980,
                                "end": 1024,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 71
                                  }
                                },
                                "left": {
                                  "type": "CallExpression",
                                  "start": 980,
                                  "end": 1000,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 47
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 980,
                                    "end": 995,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 980,
                                      "end": 986,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 33
                                        },
                                        "identifierName": "button"
                                      },
                                      "name": "button"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 987,
                                      "end": 995,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 42
                                        },
                                        "identifierName": "includes"
                                      },
                                      "name": "includes"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 996,
                                      "end": 999,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 46
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "{",
                                        "raw": "\"{\""
                                      },
                                      "value": "{"
                                    }
                                  ]
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 1004,
                                  "end": 1024,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 71
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 1004,
                                    "end": 1019,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 66
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1004,
                                      "end": 1010,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 57
                                        },
                                        "identifierName": "button"
                                      },
                                      "name": "button"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1011,
                                      "end": 1019,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 66
                                        },
                                        "identifierName": "includes"
                                      },
                                      "name": "includes"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 1020,
                                      "end": 1023,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 67
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 70
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "}",
                                        "raw": "\"}\""
                                      },
                                      "value": "}"
                                    }
                                  ]
                                }
                              },
                              "operator": "&&",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 1028,
                                "end": 1045,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 92
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 1028,
                                  "end": 1034,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 75
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 81
                                    },
                                    "identifierName": "button"
                                  },
                                  "name": "button"
                                },
                                "operator": "!==",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 1039,
                                  "end": 1045,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 86
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 92
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "{//}",
                                    "raw": "'{//}'"
                                  },
                                  "value": "{//}"
                                }
                              },
                              "extra": {
                                "parenthesized": true,
                                "parenStart": 979
                              }
                            },
                            "consequent": {
                              "type": "StringLiteral",
                              "start": 1049,
                              "end": 1062,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 96
                                },
                                "end": {
                                  "line": 33,
                                  "column": 109
                                }
                              },
                              "extra": {
                                "rawValue": "functionBtn",
                                "raw": "\"functionBtn\""
                              },
                              "value": "functionBtn"
                            },
                            "alternate": {
                              "type": "StringLiteral",
                              "start": 1065,
                              "end": 1078,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 112
                                },
                                "end": {
                                  "line": 33,
                                  "column": 125
                                }
                              },
                              "extra": {
                                "rawValue": "standardBtn",
                                "raw": "\"standardBtn\""
                              },
                              "value": "standardBtn"
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1085,
                      "end": 1152,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 4
                        },
                        "end": {
                          "line": 34,
                          "column": 71
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1089,
                          "end": 1151,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 70
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1089,
                            "end": 1108,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 8
                              },
                              "end": {
                                "line": 34,
                                "column": 27
                              },
                              "identifierName": "buttonWithoutBraces"
                            },
                            "name": "buttonWithoutBraces"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1111,
                            "end": 1151,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 30
                              },
                              "end": {
                                "line": 34,
                                "column": 70
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1111,
                              "end": 1142,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 30
                                },
                                "end": {
                                  "line": 34,
                                  "column": 61
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 1111,
                                "end": 1134,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 53
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1111,
                                  "end": 1125,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 44
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1111,
                                    "end": 1117,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 36
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1118,
                                    "end": 1125,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 44
                                      },
                                      "identifierName": "replace"
                                    },
                                    "name": "replace"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 1126,
                                    "end": 1129,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 48
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "{",
                                      "raw": "\"{\""
                                    },
                                    "value": "{"
                                  },
                                  {
                                    "type": "StringLiteral",
                                    "start": 1131,
                                    "end": 1133,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 52
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "",
                                      "raw": "\"\""
                                    },
                                    "value": ""
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1135,
                                "end": 1142,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 61
                                  },
                                  "identifierName": "replace"
                                },
                                "name": "replace"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 1143,
                                "end": 1146,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 62
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 65
                                  }
                                },
                                "extra": {
                                  "rawValue": "}",
                                  "raw": "\"}\""
                                },
                                "value": "}"
                              },
                              {
                                "type": "StringLiteral",
                                "start": 1148,
                                "end": 1150,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 69
                                  }
                                },
                                "extra": {
                                  "rawValue": "",
                                  "raw": "\"\""
                                },
                                "value": ""
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1158,
                      "end": 1184,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 4
                        },
                        "end": {
                          "line": 35,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1162,
                          "end": 1183,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1162,
                            "end": 1178,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 24
                              },
                              "identifierName": "buttonNormalized"
                            },
                            "name": "buttonNormalized"
                          },
                          "init": {
                            "type": "StringLiteral",
                            "start": 1181,
                            "end": 1183,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 27
                              },
                              "end": {
                                "line": 35,
                                "column": 29
                              }
                            },
                            "extra": {
                              "rawValue": "",
                              "raw": "''"
                            },
                            "value": ""
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 1192,
                      "end": 1292,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 4
                        },
                        "end": {
                          "line": 38,
                          "column": 61
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1195,
                        "end": 1228,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 7
                          },
                          "end": {
                            "line": 37,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1195,
                          "end": 1210,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 7
                            },
                            "end": {
                              "line": 37,
                              "column": 22
                            },
                            "identifierName": "buttonTypeClass"
                          },
                          "name": "buttonTypeClass"
                        },
                        "operator": "!==",
                        "right": {
                          "type": "StringLiteral",
                          "start": 1215,
                          "end": 1228,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 27
                            },
                            "end": {
                              "line": 37,
                              "column": 40
                            }
                          },
                          "extra": {
                            "rawValue": "standardBtn",
                            "raw": "\"standardBtn\""
                          },
                          "value": "standardBtn"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1237,
                        "end": 1292,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 6
                          },
                          "end": {
                            "line": 38,
                            "column": 61
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 1237,
                          "end": 1291,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 6
                            },
                            "end": {
                              "line": 38,
                              "column": 60
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 1237,
                            "end": 1253,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 6
                              },
                              "end": {
                                "line": 38,
                                "column": 22
                              },
                              "identifierName": "buttonNormalized"
                            },
                            "name": "buttonNormalized"
                          },
                          "right": {
                            "type": "TemplateLiteral",
                            "start": 1256,
                            "end": 1291,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 25
                              },
                              "end": {
                                "line": 38,
                                "column": 60
                              }
                            },
                            "expressions": [
                              {
                                "type": "Identifier",
                                "start": 1270,
                                "end": 1289,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 58
                                  },
                                  "identifierName": "buttonWithoutBraces"
                                },
                                "name": "buttonWithoutBraces"
                              }
                            ],
                            "quasis": [
                              {
                                "type": "TemplateElement",
                                "start": 1257,
                                "end": 1268,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 37
                                  }
                                },
                                "value": {
                                  "raw": " hg-button-",
                                  "cooked": " hg-button-"
                                },
                                "tail": false
                              },
                              {
                                "type": "TemplateElement",
                                "start": 1290,
                                "end": 1290,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 59
                                  }
                                },
                                "value": {
                                  "raw": "",
                                  "cooked": ""
                                },
                                "tail": true
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 1300,
                      "end": 1350,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 4
                        },
                        "end": {
                          "line": 40,
                          "column": 54
                        }
                      },
                      "argument": {
                        "type": "TemplateLiteral",
                        "start": 1307,
                        "end": 1349,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 11
                          },
                          "end": {
                            "line": 40,
                            "column": 53
                          }
                        },
                        "expressions": [
                          {
                            "type": "Identifier",
                            "start": 1313,
                            "end": 1328,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 17
                              },
                              "end": {
                                "line": 40,
                                "column": 32
                              },
                              "identifierName": "buttonTypeClass"
                            },
                            "name": "buttonTypeClass"
                          },
                          {
                            "type": "Identifier",
                            "start": 1331,
                            "end": 1347,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 35
                              },
                              "end": {
                                "line": 40,
                                "column": 51
                              },
                              "identifierName": "buttonNormalized"
                            },
                            "name": "buttonNormalized"
                          }
                        ],
                        "quasis": [
                          {
                            "type": "TemplateElement",
                            "start": 1308,
                            "end": 1311,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 12
                              },
                              "end": {
                                "line": 40,
                                "column": 15
                              }
                            },
                            "value": {
                              "raw": "hg-",
                              "cooked": "hg-"
                            },
                            "tail": false
                          },
                          {
                            "type": "TemplateElement",
                            "start": 1329,
                            "end": 1329,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 33
                              },
                              "end": {
                                "line": 40,
                                "column": 33
                              }
                            },
                            "value": {
                              "raw": "",
                              "cooked": ""
                            },
                            "tail": false
                          },
                          {
                            "type": "TemplateElement",
                            "start": 1348,
                            "end": 1348,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 52
                              },
                              "end": {
                                "line": 40,
                                "column": 52
                              }
                            },
                            "value": {
                              "raw": "",
                              "cooked": ""
                            },
                            "tail": true
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Adds default classes to a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @return {string} The classes to be added to the button\r\n   ",
                    "start": 746,
                    "end": 924,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 2
                      },
                      "end": {
                        "line": 31,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Default button display labels\r\n   ",
                    "start": 1361,
                    "end": 1407,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 2
                      },
                      "end": {
                        "line": 45,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1411,
                "end": 2979,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 2
                  },
                  "end": {
                    "line": 108,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1411,
                  "end": 1427,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 2
                    },
                    "end": {
                      "line": 46,
                      "column": 18
                    },
                    "identifierName": "getDefaultDiplay"
                  },
                  "name": "getDefaultDiplay",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1429,
                  "end": 2979,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 20
                    },
                    "end": {
                      "line": 108,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 1436,
                      "end": 2974,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 4
                        },
                        "end": {
                          "line": 107,
                          "column": 6
                        }
                      },
                      "argument": {
                        "type": "ObjectExpression",
                        "start": 1443,
                        "end": 2973,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 11
                          },
                          "end": {
                            "line": 107,
                            "column": 5
                          }
                        },
                        "properties": [
                          {
                            "type": "ObjectProperty",
                            "start": 1452,
                            "end": 1473,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 6
                              },
                              "end": {
                                "line": 48,
                                "column": 27
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1452,
                              "end": 1460,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 6
                                },
                                "end": {
                                  "line": 48,
                                  "column": 14
                                }
                              },
                              "extra": {
                                "rawValue": "{bksp}",
                                "raw": "'{bksp}'"
                              },
                              "value": "{bksp}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1462,
                              "end": 1473,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 16
                                },
                                "end": {
                                  "line": 48,
                                  "column": 27
                                }
                              },
                              "extra": {
                                "rawValue": "backspace",
                                "raw": "'backspace'"
                              },
                              "value": "backspace"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1482,
                            "end": 1508,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 6
                              },
                              "end": {
                                "line": 49,
                                "column": 32
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1482,
                              "end": 1495,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 6
                                },
                                "end": {
                                  "line": 49,
                                  "column": 19
                                }
                              },
                              "extra": {
                                "rawValue": "{backspace}",
                                "raw": "'{backspace}'"
                              },
                              "value": "{backspace}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1497,
                              "end": 1508,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 21
                                },
                                "end": {
                                  "line": 49,
                                  "column": 32
                                }
                              },
                              "extra": {
                                "rawValue": "backspace",
                                "raw": "'backspace'"
                              },
                              "value": "backspace"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1517,
                            "end": 1537,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 6
                              },
                              "end": {
                                "line": 50,
                                "column": 26
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1517,
                              "end": 1526,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 6
                                },
                                "end": {
                                  "line": 50,
                                  "column": 15
                                }
                              },
                              "extra": {
                                "rawValue": "{enter}",
                                "raw": "'{enter}'"
                              },
                              "value": "{enter}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1528,
                              "end": 1537,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 17
                                },
                                "end": {
                                  "line": 50,
                                  "column": 26
                                }
                              },
                              "extra": {
                                "rawValue": "< enter",
                                "raw": "'< enter'"
                              },
                              "value": "< enter"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1546,
                            "end": 1564,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 6
                              },
                              "end": {
                                "line": 51,
                                "column": 24
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1546,
                              "end": 1555,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 6
                                },
                                "end": {
                                  "line": 51,
                                  "column": 15
                                }
                              },
                              "extra": {
                                "rawValue": "{shift}",
                                "raw": "'{shift}'"
                              },
                              "value": "{shift}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1557,
                              "end": 1564,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 17
                                },
                                "end": {
                                  "line": 51,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "shift",
                                "raw": "'shift'"
                              },
                              "value": "shift"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1573,
                            "end": 1595,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 6
                              },
                              "end": {
                                "line": 52,
                                "column": 28
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1573,
                              "end": 1586,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 6
                                },
                                "end": {
                                  "line": 52,
                                  "column": 19
                                }
                              },
                              "extra": {
                                "rawValue": "{shiftleft}",
                                "raw": "'{shiftleft}'"
                              },
                              "value": "{shiftleft}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1588,
                              "end": 1595,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 21
                                },
                                "end": {
                                  "line": 52,
                                  "column": 28
                                }
                              },
                              "extra": {
                                "rawValue": "shift",
                                "raw": "'shift'"
                              },
                              "value": "shift"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1604,
                            "end": 1627,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 6
                              },
                              "end": {
                                "line": 53,
                                "column": 29
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1604,
                              "end": 1618,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 6
                                },
                                "end": {
                                  "line": 53,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "{shiftright}",
                                "raw": "'{shiftright}'"
                              },
                              "value": "{shiftright}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1620,
                              "end": 1627,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 22
                                },
                                "end": {
                                  "line": 53,
                                  "column": 29
                                }
                              },
                              "extra": {
                                "rawValue": "shift",
                                "raw": "'shift'"
                              },
                              "value": "shift"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1636,
                            "end": 1650,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 6
                              },
                              "end": {
                                "line": 54,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1636,
                              "end": 1643,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 6
                                },
                                "end": {
                                  "line": 54,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{alt}",
                                "raw": "'{alt}'"
                              },
                              "value": "{alt}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1645,
                              "end": 1650,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 15
                                },
                                "end": {
                                  "line": 54,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "alt",
                                "raw": "'alt'"
                              },
                              "value": "alt"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1659,
                            "end": 1673,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 6
                              },
                              "end": {
                                "line": 55,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1659,
                              "end": 1664,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 6
                                },
                                "end": {
                                  "line": 55,
                                  "column": 11
                                }
                              },
                              "extra": {
                                "rawValue": "{s}",
                                "raw": "'{s}'"
                              },
                              "value": "{s}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1666,
                              "end": 1673,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 13
                                },
                                "end": {
                                  "line": 55,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "shift",
                                "raw": "'shift'"
                              },
                              "value": "shift"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1682,
                            "end": 1696,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 6
                              },
                              "end": {
                                "line": 56,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1682,
                              "end": 1689,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 6
                                },
                                "end": {
                                  "line": 56,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{tab}",
                                "raw": "'{tab}'"
                              },
                              "value": "{tab}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1691,
                              "end": 1696,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 15
                                },
                                "end": {
                                  "line": 56,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "tab",
                                "raw": "'tab'"
                              },
                              "value": "tab"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1705,
                            "end": 1721,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 6
                              },
                              "end": {
                                "line": 57,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1705,
                              "end": 1713,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 6
                                },
                                "end": {
                                  "line": 57,
                                  "column": 14
                                }
                              },
                              "extra": {
                                "rawValue": "{lock}",
                                "raw": "'{lock}'"
                              },
                              "value": "{lock}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1715,
                              "end": 1721,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 16
                                },
                                "end": {
                                  "line": 57,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "caps",
                                "raw": "'caps'"
                              },
                              "value": "caps"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1730,
                            "end": 1750,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 6
                              },
                              "end": {
                                "line": 58,
                                "column": 26
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1730,
                              "end": 1742,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 6
                                },
                                "end": {
                                  "line": 58,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "{capslock}",
                                "raw": "'{capslock}'"
                              },
                              "value": "{capslock}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1744,
                              "end": 1750,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 20
                                },
                                "end": {
                                  "line": 58,
                                  "column": 26
                                }
                              },
                              "extra": {
                                "rawValue": "caps",
                                "raw": "'caps'"
                              },
                              "value": "caps"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1759,
                            "end": 1779,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 6
                              },
                              "end": {
                                "line": 59,
                                "column": 26
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1759,
                              "end": 1769,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 6
                                },
                                "end": {
                                  "line": 59,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{accept}",
                                "raw": "'{accept}'"
                              },
                              "value": "{accept}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1771,
                              "end": 1779,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 18
                                },
                                "end": {
                                  "line": 59,
                                  "column": 26
                                }
                              },
                              "extra": {
                                "rawValue": "Submit",
                                "raw": "'Submit'"
                              },
                              "value": "Submit"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1788,
                            "end": 1802,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 6
                              },
                              "end": {
                                "line": 60,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1788,
                              "end": 1797,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 6
                                },
                                "end": {
                                  "line": 60,
                                  "column": 15
                                }
                              },
                              "extra": {
                                "rawValue": "{space}",
                                "raw": "'{space}'"
                              },
                              "value": "{space}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1799,
                              "end": 1802,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 17
                                },
                                "end": {
                                  "line": 60,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": " ",
                                "raw": "' '"
                              },
                              "value": " "
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1811,
                            "end": 1822,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 6
                              },
                              "end": {
                                "line": 61,
                                "column": 17
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1811,
                              "end": 1817,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 6
                                },
                                "end": {
                                  "line": 61,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{//}",
                                "raw": "'{//}'"
                              },
                              "value": "{//}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1819,
                              "end": 1822,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 14
                                },
                                "end": {
                                  "line": 61,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": " ",
                                "raw": "' '"
                              },
                              "value": " "
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1831,
                            "end": 1845,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 6
                              },
                              "end": {
                                "line": 62,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1831,
                              "end": 1838,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 6
                                },
                                "end": {
                                  "line": 62,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{esc}",
                                "raw": "\"{esc}\""
                              },
                              "value": "{esc}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1840,
                              "end": 1845,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 15
                                },
                                "end": {
                                  "line": 62,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "esc",
                                "raw": "\"esc\""
                              },
                              "value": "esc"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1854,
                            "end": 1871,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 6
                              },
                              "end": {
                                "line": 63,
                                "column": 23
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1854,
                              "end": 1864,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 6
                                },
                                "end": {
                                  "line": 63,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{escape}",
                                "raw": "\"{escape}\""
                              },
                              "value": "{escape}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1866,
                              "end": 1871,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 18
                                },
                                "end": {
                                  "line": 63,
                                  "column": 23
                                }
                              },
                              "extra": {
                                "rawValue": "esc",
                                "raw": "\"esc\""
                              },
                              "value": "esc"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1880,
                            "end": 1892,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 6
                              },
                              "end": {
                                "line": 64,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1880,
                              "end": 1886,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 6
                                },
                                "end": {
                                  "line": 64,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f1}",
                                "raw": "\"{f1}\""
                              },
                              "value": "{f1}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1888,
                              "end": 1892,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 14
                                },
                                "end": {
                                  "line": 64,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f1",
                                "raw": "\"f1\""
                              },
                              "value": "f1"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1901,
                            "end": 1913,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 6
                              },
                              "end": {
                                "line": 65,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1901,
                              "end": 1907,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 6
                                },
                                "end": {
                                  "line": 65,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f2}",
                                "raw": "\"{f2}\""
                              },
                              "value": "{f2}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1909,
                              "end": 1913,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 14
                                },
                                "end": {
                                  "line": 65,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f2",
                                "raw": "\"f2\""
                              },
                              "value": "f2"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1922,
                            "end": 1934,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 6
                              },
                              "end": {
                                "line": 66,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1922,
                              "end": 1928,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 6
                                },
                                "end": {
                                  "line": 66,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f3}",
                                "raw": "\"{f3}\""
                              },
                              "value": "{f3}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1930,
                              "end": 1934,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 14
                                },
                                "end": {
                                  "line": 66,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f3",
                                "raw": "\"f3\""
                              },
                              "value": "f3"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1943,
                            "end": 1955,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 6
                              },
                              "end": {
                                "line": 67,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1943,
                              "end": 1949,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 6
                                },
                                "end": {
                                  "line": 67,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f4}",
                                "raw": "\"{f4}\""
                              },
                              "value": "{f4}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1951,
                              "end": 1955,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 14
                                },
                                "end": {
                                  "line": 67,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f4",
                                "raw": "\"f4\""
                              },
                              "value": "f4"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1964,
                            "end": 1976,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 6
                              },
                              "end": {
                                "line": 68,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1964,
                              "end": 1970,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 6
                                },
                                "end": {
                                  "line": 68,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f5}",
                                "raw": "\"{f5}\""
                              },
                              "value": "{f5}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1972,
                              "end": 1976,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 14
                                },
                                "end": {
                                  "line": 68,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f5",
                                "raw": "\"f5\""
                              },
                              "value": "f5"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1985,
                            "end": 1997,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 6
                              },
                              "end": {
                                "line": 69,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1985,
                              "end": 1991,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 6
                                },
                                "end": {
                                  "line": 69,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f6}",
                                "raw": "\"{f6}\""
                              },
                              "value": "{f6}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1993,
                              "end": 1997,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 14
                                },
                                "end": {
                                  "line": 69,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f6",
                                "raw": "\"f6\""
                              },
                              "value": "f6"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2006,
                            "end": 2018,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 6
                              },
                              "end": {
                                "line": 70,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2006,
                              "end": 2012,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 6
                                },
                                "end": {
                                  "line": 70,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f7}",
                                "raw": "\"{f7}\""
                              },
                              "value": "{f7}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2014,
                              "end": 2018,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 14
                                },
                                "end": {
                                  "line": 70,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f7",
                                "raw": "\"f7\""
                              },
                              "value": "f7"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2027,
                            "end": 2039,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 6
                              },
                              "end": {
                                "line": 71,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2027,
                              "end": 2033,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 6
                                },
                                "end": {
                                  "line": 71,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f8}",
                                "raw": "\"{f8}\""
                              },
                              "value": "{f8}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2035,
                              "end": 2039,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 14
                                },
                                "end": {
                                  "line": 71,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f8",
                                "raw": "\"f8\""
                              },
                              "value": "f8"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2048,
                            "end": 2060,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 6
                              },
                              "end": {
                                "line": 72,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2048,
                              "end": 2054,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 6
                                },
                                "end": {
                                  "line": 72,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f9}",
                                "raw": "\"{f9}\""
                              },
                              "value": "{f9}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2056,
                              "end": 2060,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 14
                                },
                                "end": {
                                  "line": 72,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f9",
                                "raw": "\"f9\""
                              },
                              "value": "f9"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2069,
                            "end": 2083,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 6
                              },
                              "end": {
                                "line": 73,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2069,
                              "end": 2076,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 6
                                },
                                "end": {
                                  "line": 73,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{f10}",
                                "raw": "\"{f10}\""
                              },
                              "value": "{f10}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2078,
                              "end": 2083,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 15
                                },
                                "end": {
                                  "line": 73,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "f10",
                                "raw": "\"f10\""
                              },
                              "value": "f10"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2092,
                            "end": 2106,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 6
                              },
                              "end": {
                                "line": 74,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2092,
                              "end": 2099,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 6
                                },
                                "end": {
                                  "line": 74,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{f11}",
                                "raw": "\"{f11}\""
                              },
                              "value": "{f11}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2101,
                              "end": 2106,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 15
                                },
                                "end": {
                                  "line": 74,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "f11",
                                "raw": "\"f11\""
                              },
                              "value": "f11"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2115,
                            "end": 2129,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 6
                              },
                              "end": {
                                "line": 75,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2115,
                              "end": 2122,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 6
                                },
                                "end": {
                                  "line": 75,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{f12}",
                                "raw": "\"{f12}\""
                              },
                              "value": "{f12}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2124,
                              "end": 2129,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 15
                                },
                                "end": {
                                  "line": 75,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "f12",
                                "raw": "\"f12\""
                              },
                              "value": "f12"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2138,
                            "end": 2159,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 6
                              },
                              "end": {
                                "line": 76,
                                "column": 27
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2138,
                              "end": 2154,
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 6
                                },
                                "end": {
                                  "line": 76,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "{numpaddivide}",
                                "raw": "'{numpaddivide}'"
                              },
                              "value": "{numpaddivide}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2156,
                              "end": 2159,
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 24
                                },
                                "end": {
                                  "line": 76,
                                  "column": 27
                                }
                              },
                              "extra": {
                                "rawValue": "/",
                                "raw": "'/'"
                              },
                              "value": "/"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2168,
                            "end": 2187,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 6
                              },
                              "end": {
                                "line": 77,
                                "column": 25
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2168,
                              "end": 2179,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 6
                                },
                                "end": {
                                  "line": 77,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numlock}",
                                "raw": "'{numlock}'"
                              },
                              "value": "{numlock}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2181,
                              "end": 2187,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 19
                                },
                                "end": {
                                  "line": 77,
                                  "column": 25
                                }
                              },
                              "extra": {
                                "rawValue": "lock",
                                "raw": "'lock'"
                              },
                              "value": "lock"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2196,
                            "end": 2212,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 6
                              },
                              "end": {
                                "line": 78,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2196,
                              "end": 2207,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 6
                                },
                                "end": {
                                  "line": 78,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{arrowup}",
                                "raw": "\"{arrowup}\""
                              },
                              "value": "{arrowup}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2209,
                              "end": 2212,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 19
                                },
                                "end": {
                                  "line": 78,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "↑",
                                "raw": "\"↑\""
                              },
                              "value": "↑"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2221,
                            "end": 2239,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 6
                              },
                              "end": {
                                "line": 79,
                                "column": 24
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2221,
                              "end": 2234,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 6
                                },
                                "end": {
                                  "line": 79,
                                  "column": 19
                                }
                              },
                              "extra": {
                                "rawValue": "{arrowleft}",
                                "raw": "\"{arrowleft}\""
                              },
                              "value": "{arrowleft}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2236,
                              "end": 2239,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 21
                                },
                                "end": {
                                  "line": 79,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "←",
                                "raw": "\"←\""
                              },
                              "value": "←"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2248,
                            "end": 2266,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 6
                              },
                              "end": {
                                "line": 80,
                                "column": 24
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2248,
                              "end": 2261,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 6
                                },
                                "end": {
                                  "line": 80,
                                  "column": 19
                                }
                              },
                              "extra": {
                                "rawValue": "{arrowdown}",
                                "raw": "\"{arrowdown}\""
                              },
                              "value": "{arrowdown}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2263,
                              "end": 2266,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 21
                                },
                                "end": {
                                  "line": 80,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "↓",
                                "raw": "\"↓\""
                              },
                              "value": "↓"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2275,
                            "end": 2294,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 6
                              },
                              "end": {
                                "line": 81,
                                "column": 25
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2275,
                              "end": 2289,
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 6
                                },
                                "end": {
                                  "line": 81,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "{arrowright}",
                                "raw": "\"{arrowright}\""
                              },
                              "value": "{arrowright}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2291,
                              "end": 2294,
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 22
                                },
                                "end": {
                                  "line": 81,
                                  "column": 25
                                }
                              },
                              "extra": {
                                "rawValue": "→",
                                "raw": "\"→\""
                              },
                              "value": "→"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2303,
                            "end": 2322,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 6
                              },
                              "end": {
                                "line": 82,
                                "column": 25
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2303,
                              "end": 2313,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 6
                                },
                                "end": {
                                  "line": 82,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{prtscr}",
                                "raw": "\"{prtscr}\""
                              },
                              "value": "{prtscr}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2315,
                              "end": 2322,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 18
                                },
                                "end": {
                                  "line": 82,
                                  "column": 25
                                }
                              },
                              "extra": {
                                "rawValue": "print",
                                "raw": "\"print\""
                              },
                              "value": "print"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2331,
                            "end": 2355,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 6
                              },
                              "end": {
                                "line": 83,
                                "column": 30
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2331,
                              "end": 2345,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 6
                                },
                                "end": {
                                  "line": 83,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "{scrolllock}",
                                "raw": "\"{scrolllock}\""
                              },
                              "value": "{scrolllock}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2347,
                              "end": 2355,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 22
                                },
                                "end": {
                                  "line": 83,
                                  "column": 30
                                }
                              },
                              "extra": {
                                "rawValue": "scroll",
                                "raw": "\"scroll\""
                              },
                              "value": "scroll"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2364,
                            "end": 2382,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 6
                              },
                              "end": {
                                "line": 84,
                                "column": 24
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2364,
                              "end": 2373,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 6
                                },
                                "end": {
                                  "line": 84,
                                  "column": 15
                                }
                              },
                              "extra": {
                                "rawValue": "{pause}",
                                "raw": "\"{pause}\""
                              },
                              "value": "{pause}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2375,
                              "end": 2382,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 17
                                },
                                "end": {
                                  "line": 84,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "pause",
                                "raw": "\"pause\""
                              },
                              "value": "pause"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2391,
                            "end": 2408,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 6
                              },
                              "end": {
                                "line": 85,
                                "column": 23
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2391,
                              "end": 2401,
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 6
                                },
                                "end": {
                                  "line": 85,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{insert}",
                                "raw": "\"{insert}\""
                              },
                              "value": "{insert}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2403,
                              "end": 2408,
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 18
                                },
                                "end": {
                                  "line": 85,
                                  "column": 23
                                }
                              },
                              "extra": {
                                "rawValue": "ins",
                                "raw": "\"ins\""
                              },
                              "value": "ins"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2417,
                            "end": 2433,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 6
                              },
                              "end": {
                                "line": 86,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2417,
                              "end": 2425,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 6
                                },
                                "end": {
                                  "line": 86,
                                  "column": 14
                                }
                              },
                              "extra": {
                                "rawValue": "{home}",
                                "raw": "\"{home}\""
                              },
                              "value": "{home}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2427,
                              "end": 2433,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 16
                                },
                                "end": {
                                  "line": 86,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "home",
                                "raw": "\"home\""
                              },
                              "value": "home"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2442,
                            "end": 2458,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 6
                              },
                              "end": {
                                "line": 87,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2442,
                              "end": 2452,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 6
                                },
                                "end": {
                                  "line": 87,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{pageup}",
                                "raw": "\"{pageup}\""
                              },
                              "value": "{pageup}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2454,
                              "end": 2458,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 18
                                },
                                "end": {
                                  "line": 87,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "up",
                                "raw": "\"up\""
                              },
                              "value": "up"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2467,
                            "end": 2484,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 6
                              },
                              "end": {
                                "line": 88,
                                "column": 23
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2467,
                              "end": 2477,
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 6
                                },
                                "end": {
                                  "line": 88,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{delete}",
                                "raw": "\"{delete}\""
                              },
                              "value": "{delete}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2479,
                              "end": 2484,
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 18
                                },
                                "end": {
                                  "line": 88,
                                  "column": 23
                                }
                              },
                              "extra": {
                                "rawValue": "del",
                                "raw": "\"del\""
                              },
                              "value": "del"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2493,
                            "end": 2507,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 6
                              },
                              "end": {
                                "line": 89,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2493,
                              "end": 2500,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 6
                                },
                                "end": {
                                  "line": 89,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{end}",
                                "raw": "\"{end}\""
                              },
                              "value": "{end}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2502,
                              "end": 2507,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 15
                                },
                                "end": {
                                  "line": 89,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "end",
                                "raw": "\"end\""
                              },
                              "value": "end"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2516,
                            "end": 2536,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 6
                              },
                              "end": {
                                "line": 90,
                                "column": 26
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2516,
                              "end": 2528,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 6
                                },
                                "end": {
                                  "line": 90,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "{pagedown}",
                                "raw": "\"{pagedown}\""
                              },
                              "value": "{pagedown}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2530,
                              "end": 2536,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 20
                                },
                                "end": {
                                  "line": 90,
                                  "column": 26
                                }
                              },
                              "extra": {
                                "rawValue": "down",
                                "raw": "\"down\""
                              },
                              "value": "down"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2545,
                            "end": 2568,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 6
                              },
                              "end": {
                                "line": 91,
                                "column": 29
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2545,
                              "end": 2563,
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 6
                                },
                                "end": {
                                  "line": 91,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "{numpadmultiply}",
                                "raw": "\"{numpadmultiply}\""
                              },
                              "value": "{numpadmultiply}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2565,
                              "end": 2568,
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 26
                                },
                                "end": {
                                  "line": 91,
                                  "column": 29
                                }
                              },
                              "extra": {
                                "rawValue": "*",
                                "raw": "\"*\""
                              },
                              "value": "*"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2577,
                            "end": 2600,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 6
                              },
                              "end": {
                                "line": 92,
                                "column": 29
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2577,
                              "end": 2595,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 6
                                },
                                "end": {
                                  "line": 92,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "{numpadsubtract}",
                                "raw": "\"{numpadsubtract}\""
                              },
                              "value": "{numpadsubtract}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2597,
                              "end": 2600,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 26
                                },
                                "end": {
                                  "line": 92,
                                  "column": 29
                                }
                              },
                              "extra": {
                                "rawValue": "-",
                                "raw": "\"-\""
                              },
                              "value": "-"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2609,
                            "end": 2627,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 6
                              },
                              "end": {
                                "line": 93,
                                "column": 24
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2609,
                              "end": 2622,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 6
                                },
                                "end": {
                                  "line": 93,
                                  "column": 19
                                }
                              },
                              "extra": {
                                "rawValue": "{numpadadd}",
                                "raw": "\"{numpadadd}\""
                              },
                              "value": "{numpadadd}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2624,
                              "end": 2627,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 21
                                },
                                "end": {
                                  "line": 93,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "+",
                                "raw": "\"+\""
                              },
                              "value": "+"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2636,
                            "end": 2660,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 6
                              },
                              "end": {
                                "line": 94,
                                "column": 30
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2636,
                              "end": 2651,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 6
                                },
                                "end": {
                                  "line": 94,
                                  "column": 21
                                }
                              },
                              "extra": {
                                "rawValue": "{numpadenter}",
                                "raw": "\"{numpadenter}\""
                              },
                              "value": "{numpadenter}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2653,
                              "end": 2660,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 23
                                },
                                "end": {
                                  "line": 94,
                                  "column": 30
                                }
                              },
                              "extra": {
                                "rawValue": "enter",
                                "raw": "\"enter\""
                              },
                              "value": "enter"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2669,
                            "end": 2684,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 6
                              },
                              "end": {
                                "line": 95,
                                "column": 21
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2669,
                              "end": 2679,
                              "loc": {
                                "start": {
                                  "line": 95,
                                  "column": 6
                                },
                                "end": {
                                  "line": 95,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{period}",
                                "raw": "\"{period}\""
                              },
                              "value": "{period}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2681,
                              "end": 2684,
                              "loc": {
                                "start": {
                                  "line": 95,
                                  "column": 18
                                },
                                "end": {
                                  "line": 95,
                                  "column": 21
                                }
                              },
                              "extra": {
                                "rawValue": ".",
                                "raw": "\".\""
                              },
                              "value": "."
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2693,
                            "end": 2715,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 6
                              },
                              "end": {
                                "line": 96,
                                "column": 28
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2693,
                              "end": 2710,
                              "loc": {
                                "start": {
                                  "line": 96,
                                  "column": 6
                                },
                                "end": {
                                  "line": 96,
                                  "column": 23
                                }
                              },
                              "extra": {
                                "rawValue": "{numpaddecimal}",
                                "raw": "\"{numpaddecimal}\""
                              },
                              "value": "{numpaddecimal}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2712,
                              "end": 2715,
                              "loc": {
                                "start": {
                                  "line": 96,
                                  "column": 25
                                },
                                "end": {
                                  "line": 96,
                                  "column": 28
                                }
                              },
                              "extra": {
                                "rawValue": ".",
                                "raw": "\".\""
                              },
                              "value": "."
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2724,
                            "end": 2740,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 6
                              },
                              "end": {
                                "line": 97,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2724,
                              "end": 2735,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 6
                                },
                                "end": {
                                  "line": 97,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad0}",
                                "raw": "\"{numpad0}\""
                              },
                              "value": "{numpad0}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2737,
                              "end": 2740,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 19
                                },
                                "end": {
                                  "line": 97,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "0",
                                "raw": "\"0\""
                              },
                              "value": "0"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2749,
                            "end": 2765,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 6
                              },
                              "end": {
                                "line": 98,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2749,
                              "end": 2760,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 6
                                },
                                "end": {
                                  "line": 98,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad1}",
                                "raw": "\"{numpad1}\""
                              },
                              "value": "{numpad1}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2762,
                              "end": 2765,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 19
                                },
                                "end": {
                                  "line": 98,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "1",
                                "raw": "\"1\""
                              },
                              "value": "1"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2774,
                            "end": 2790,
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 6
                              },
                              "end": {
                                "line": 99,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2774,
                              "end": 2785,
                              "loc": {
                                "start": {
                                  "line": 99,
                                  "column": 6
                                },
                                "end": {
                                  "line": 99,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad2}",
                                "raw": "\"{numpad2}\""
                              },
                              "value": "{numpad2}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2787,
                              "end": 2790,
                              "loc": {
                                "start": {
                                  "line": 99,
                                  "column": 19
                                },
                                "end": {
                                  "line": 99,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "2",
                                "raw": "\"2\""
                              },
                              "value": "2"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2799,
                            "end": 2815,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 6
                              },
                              "end": {
                                "line": 100,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2799,
                              "end": 2810,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 6
                                },
                                "end": {
                                  "line": 100,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad3}",
                                "raw": "\"{numpad3}\""
                              },
                              "value": "{numpad3}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2812,
                              "end": 2815,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 19
                                },
                                "end": {
                                  "line": 100,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "3",
                                "raw": "\"3\""
                              },
                              "value": "3"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2824,
                            "end": 2840,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 6
                              },
                              "end": {
                                "line": 101,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2824,
                              "end": 2835,
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 6
                                },
                                "end": {
                                  "line": 101,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad4}",
                                "raw": "\"{numpad4}\""
                              },
                              "value": "{numpad4}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2837,
                              "end": 2840,
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 19
                                },
                                "end": {
                                  "line": 101,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "4",
                                "raw": "\"4\""
                              },
                              "value": "4"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2849,
                            "end": 2865,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 6
                              },
                              "end": {
                                "line": 102,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2849,
                              "end": 2860,
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 6
                                },
                                "end": {
                                  "line": 102,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad5}",
                                "raw": "\"{numpad5}\""
                              },
                              "value": "{numpad5}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2862,
                              "end": 2865,
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 19
                                },
                                "end": {
                                  "line": 102,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "5",
                                "raw": "\"5\""
                              },
                              "value": "5"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2874,
                            "end": 2890,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 6
                              },
                              "end": {
                                "line": 103,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2874,
                              "end": 2885,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 6
                                },
                                "end": {
                                  "line": 103,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad6}",
                                "raw": "\"{numpad6}\""
                              },
                              "value": "{numpad6}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2887,
                              "end": 2890,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 19
                                },
                                "end": {
                                  "line": 103,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "6",
                                "raw": "\"6\""
                              },
                              "value": "6"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2899,
                            "end": 2915,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 6
                              },
                              "end": {
                                "line": 104,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2899,
                              "end": 2910,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 6
                                },
                                "end": {
                                  "line": 104,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad7}",
                                "raw": "\"{numpad7}\""
                              },
                              "value": "{numpad7}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2912,
                              "end": 2915,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 19
                                },
                                "end": {
                                  "line": 104,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "7",
                                "raw": "\"7\""
                              },
                              "value": "7"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2924,
                            "end": 2940,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 6
                              },
                              "end": {
                                "line": 105,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2924,
                              "end": 2935,
                              "loc": {
                                "start": {
                                  "line": 105,
                                  "column": 6
                                },
                                "end": {
                                  "line": 105,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad8}",
                                "raw": "\"{numpad8}\""
                              },
                              "value": "{numpad8}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2937,
                              "end": 2940,
                              "loc": {
                                "start": {
                                  "line": 105,
                                  "column": 19
                                },
                                "end": {
                                  "line": 105,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "8",
                                "raw": "\"8\""
                              },
                              "value": "8"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2949,
                            "end": 2965,
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 6
                              },
                              "end": {
                                "line": 106,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2949,
                              "end": 2960,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 6
                                },
                                "end": {
                                  "line": 106,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad9}",
                                "raw": "\"{numpad9}\""
                              },
                              "value": "{numpad9}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2962,
                              "end": 2965,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 19
                                },
                                "end": {
                                  "line": 106,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "9",
                                "raw": "\"9\""
                              },
                              "value": "9"
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Default button display labels\r\n   ",
                    "start": 1361,
                    "end": 1407,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 2
                      },
                      "end": {
                        "line": 45,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Returns the display (label) name for a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {object} display The provided display option\r\n   * @param  {boolean} mergeDisplay Whether the provided param value should be merged with the default one.\r\n   ",
                    "start": 2983,
                    "end": 3281,
                    "loc": {
                      "start": {
                        "line": 109,
                        "column": 2
                      },
                      "end": {
                        "line": 115,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3285,
                "end": 3550,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 2
                  },
                  "end": {
                    "line": 124,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3285,
                  "end": 3305,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 2
                    },
                    "end": {
                      "line": 116,
                      "column": 22
                    },
                    "identifierName": "getButtonDisplayName"
                  },
                  "name": "getButtonDisplayName",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3306,
                    "end": 3312,
                    "loc": {
                      "start": {
                        "line": 116,
                        "column": 23
                      },
                      "end": {
                        "line": 116,
                        "column": 29
                      },
                      "identifierName": "button"
                    },
                    "name": "button"
                  },
                  {
                    "type": "Identifier",
                    "start": 3314,
                    "end": 3321,
                    "loc": {
                      "start": {
                        "line": 116,
                        "column": 31
                      },
                      "end": {
                        "line": 116,
                        "column": 38
                      },
                      "identifierName": "display"
                    },
                    "name": "display"
                  },
                  {
                    "type": "Identifier",
                    "start": 3323,
                    "end": 3335,
                    "loc": {
                      "start": {
                        "line": 116,
                        "column": 40
                      },
                      "end": {
                        "line": 116,
                        "column": 52
                      },
                      "identifierName": "mergeDisplay"
                    },
                    "name": "mergeDisplay"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3336,
                  "end": 3550,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 53
                    },
                    "end": {
                      "line": 124,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 3343,
                      "end": 3504,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 4
                        },
                        "end": {
                          "line": 121,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 3346,
                        "end": 3358,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 7
                          },
                          "end": {
                            "line": 117,
                            "column": 19
                          },
                          "identifierName": "mergeDisplay"
                        },
                        "name": "mergeDisplay"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 3359,
                        "end": 3437,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 20
                          },
                          "end": {
                            "line": 119,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 3368,
                            "end": 3430,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 6
                              },
                              "end": {
                                "line": 118,
                                "column": 68
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 3368,
                              "end": 3429,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 6
                                },
                                "end": {
                                  "line": 118,
                                  "column": 67
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 3368,
                                "end": 3375,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 13
                                  },
                                  "identifierName": "display"
                                },
                                "name": "display"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 3378,
                                "end": 3429,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 67
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3378,
                                  "end": 3391,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3378,
                                    "end": 3384,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 22
                                      },
                                      "identifierName": "Object"
                                    },
                                    "name": "Object"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3385,
                                    "end": 3391,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 29
                                      },
                                      "identifierName": "assign"
                                    },
                                    "name": "assign"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ObjectExpression",
                                    "start": 3392,
                                    "end": 3394,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 32
                                      }
                                    },
                                    "properties": []
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 3396,
                                    "end": 3419,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 57
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 3396,
                                      "end": 3417,
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 55
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 3396,
                                        "end": 3400,
                                        "loc": {
                                          "start": {
                                            "line": 118,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 118,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3401,
                                        "end": 3417,
                                        "loc": {
                                          "start": {
                                            "line": 118,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 118,
                                            "column": 55
                                          },
                                          "identifierName": "getDefaultDiplay"
                                        },
                                        "name": "getDefaultDiplay"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 3421,
                                    "end": 3428,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 66
                                      },
                                      "identifierName": "display"
                                    },
                                    "name": "display"
                                  }
                                ]
                              }
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 3443,
                        "end": 3504,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 11
                          },
                          "end": {
                            "line": 121,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 3452,
                            "end": 3497,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 6
                              },
                              "end": {
                                "line": 120,
                                "column": 51
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 3452,
                              "end": 3496,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 6
                                },
                                "end": {
                                  "line": 120,
                                  "column": 50
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 3452,
                                "end": 3459,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 13
                                  },
                                  "identifierName": "display"
                                },
                                "name": "display"
                              },
                              "right": {
                                "type": "LogicalExpression",
                                "start": 3462,
                                "end": 3496,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 50
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 3462,
                                  "end": 3469,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 23
                                    },
                                    "identifierName": "display"
                                  },
                                  "name": "display"
                                },
                                "operator": "||",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 3473,
                                  "end": 3496,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 50
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3473,
                                    "end": 3494,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 48
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3473,
                                      "end": 3477,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3478,
                                      "end": 3494,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 48
                                        },
                                        "identifierName": "getDefaultDiplay"
                                      },
                                      "name": "getDefaultDiplay"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                }
                              }
                            }
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 3512,
                      "end": 3545,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 4
                        },
                        "end": {
                          "line": 123,
                          "column": 37
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 3519,
                        "end": 3544,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 11
                          },
                          "end": {
                            "line": 123,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3519,
                          "end": 3534,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 11
                            },
                            "end": {
                              "line": 123,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3519,
                            "end": 3526,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 11
                              },
                              "end": {
                                "line": 123,
                                "column": 18
                              },
                              "identifierName": "display"
                            },
                            "name": "display"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3527,
                            "end": 3533,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 19
                              },
                              "end": {
                                "line": 123,
                                "column": 25
                              },
                              "identifierName": "button"
                            },
                            "name": "button"
                          },
                          "computed": true
                        },
                        "operator": "||",
                        "right": {
                          "type": "Identifier",
                          "start": 3538,
                          "end": 3544,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 30
                            },
                            "end": {
                              "line": 123,
                              "column": 36
                            },
                            "identifierName": "button"
                          },
                          "name": "button"
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Returns the display (label) name for a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {object} display The provided display option\r\n   * @param  {boolean} mergeDisplay Whether the provided param value should be merged with the default one.\r\n   ",
                    "start": 2983,
                    "end": 3281,
                    "loc": {
                      "start": {
                        "line": 109,
                        "column": 2
                      },
                      "end": {
                        "line": 115,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Returns the updated input resulting from clicking a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {string} input The input string\r\n   * @param  {object} options The simple-keyboard options object\r\n   * @param  {number} caretPos The cursor's current position\r\n   ",
                    "start": 3560,
                    "end": 3877,
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 2
                      },
                      "end": {
                        "line": 134,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3881,
                "end": 5467,
                "loc": {
                  "start": {
                    "line": 135,
                    "column": 2
                  },
                  "end": {
                    "line": 175,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3881,
                  "end": 3896,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 2
                    },
                    "end": {
                      "line": 135,
                      "column": 17
                    },
                    "identifierName": "getUpdatedInput"
                  },
                  "name": "getUpdatedInput",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3897,
                    "end": 3903,
                    "loc": {
                      "start": {
                        "line": 135,
                        "column": 18
                      },
                      "end": {
                        "line": 135,
                        "column": 24
                      },
                      "identifierName": "button"
                    },
                    "name": "button"
                  },
                  {
                    "type": "Identifier",
                    "start": 3905,
                    "end": 3910,
                    "loc": {
                      "start": {
                        "line": 135,
                        "column": 26
                      },
                      "end": {
                        "line": 135,
                        "column": 31
                      },
                      "identifierName": "input"
                    },
                    "name": "input"
                  },
                  {
                    "type": "Identifier",
                    "start": 3912,
                    "end": 3919,
                    "loc": {
                      "start": {
                        "line": 135,
                        "column": 33
                      },
                      "end": {
                        "line": 135,
                        "column": 40
                      },
                      "identifierName": "options"
                    },
                    "name": "options"
                  },
                  {
                    "type": "Identifier",
                    "start": 3921,
                    "end": 3929,
                    "loc": {
                      "start": {
                        "line": 135,
                        "column": 42
                      },
                      "end": {
                        "line": 135,
                        "column": 50
                      },
                      "identifierName": "caretPos"
                    },
                    "name": "caretPos"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3930,
                  "end": 5467,
                  "loc": {
                    "start": {
                      "line": 135,
                      "column": 51
                    },
                    "end": {
                      "line": 175,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 3943,
                      "end": 3962,
                      "loc": {
                        "start": {
                          "line": 137,
                          "column": 4
                        },
                        "end": {
                          "line": 137,
                          "column": 23
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 3947,
                          "end": 3961,
                          "loc": {
                            "start": {
                              "line": 137,
                              "column": 8
                            },
                            "end": {
                              "line": 137,
                              "column": 22
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 3947,
                            "end": 3953,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 8
                              },
                              "end": {
                                "line": 137,
                                "column": 14
                              },
                              "identifierName": "output"
                            },
                            "name": "output"
                          },
                          "init": {
                            "type": "Identifier",
                            "start": 3956,
                            "end": 3961,
                            "loc": {
                              "start": {
                                "line": 137,
                                "column": 17
                              },
                              "end": {
                                "line": 137,
                                "column": 22
                              },
                              "identifierName": "input"
                            },
                            "name": "input"
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 3970,
                      "end": 5440,
                      "loc": {
                        "start": {
                          "line": 139,
                          "column": 4
                        },
                        "end": {
                          "line": 172,
                          "column": 58
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 3973,
                        "end": 4043,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 7
                          },
                          "end": {
                            "line": 139,
                            "column": 77
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 3974,
                          "end": 4021,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 8
                            },
                            "end": {
                              "line": 139,
                              "column": 55
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 3974,
                            "end": 3993,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 8
                              },
                              "end": {
                                "line": 139,
                                "column": 27
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 3974,
                              "end": 3980,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 8
                                },
                                "end": {
                                  "line": 139,
                                  "column": 14
                                },
                                "identifierName": "button"
                              },
                              "name": "button"
                            },
                            "operator": "===",
                            "right": {
                              "type": "StringLiteral",
                              "start": 3985,
                              "end": 3993,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 19
                                },
                                "end": {
                                  "line": 139,
                                  "column": 27
                                }
                              },
                              "extra": {
                                "rawValue": "{bksp}",
                                "raw": "\"{bksp}\""
                              },
                              "value": "{bksp}"
                            }
                          },
                          "operator": "||",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 3997,
                            "end": 4021,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 31
                              },
                              "end": {
                                "line": 139,
                                "column": 55
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 3997,
                              "end": 4003,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 31
                                },
                                "end": {
                                  "line": 139,
                                  "column": 37
                                },
                                "identifierName": "button"
                              },
                              "name": "button"
                            },
                            "operator": "===",
                            "right": {
                              "type": "StringLiteral",
                              "start": 4008,
                              "end": 4021,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 42
                                },
                                "end": {
                                  "line": 139,
                                  "column": 55
                                }
                              },
                              "extra": {
                                "rawValue": "{backspace}",
                                "raw": "\"{backspace}\""
                              },
                              "value": "{backspace}"
                            }
                          },
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 3973
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 4026,
                          "end": 4043,
                          "loc": {
                            "start": {
                              "line": 139,
                              "column": 60
                            },
                            "end": {
                              "line": 139,
                              "column": 77
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 4026,
                            "end": 4039,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 60
                              },
                              "end": {
                                "line": 139,
                                "column": 73
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4026,
                              "end": 4032,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 60
                                },
                                "end": {
                                  "line": 139,
                                  "column": 66
                                },
                                "identifierName": "output"
                              },
                              "name": "output"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4033,
                              "end": 4039,
                              "loc": {
                                "start": {
                                  "line": 139,
                                  "column": 67
                                },
                                "end": {
                                  "line": 139,
                                  "column": 73
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "operator": ">",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 4042,
                            "end": 4043,
                            "loc": {
                              "start": {
                                "line": 139,
                                "column": 76
                              },
                              "end": {
                                "line": 139,
                                "column": 77
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4044,
                        "end": 4103,
                        "loc": {
                          "start": {
                            "line": 139,
                            "column": 78
                          },
                          "end": {
                            "line": 142,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 4053,
                            "end": 4094,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 6
                              },
                              "end": {
                                "line": 140,
                                "column": 47
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4053,
                              "end": 4093,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 6
                                },
                                "end": {
                                  "line": 140,
                                  "column": 46
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 4053,
                                "end": 4059,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 12
                                  },
                                  "identifierName": "output"
                                },
                                "name": "output"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 4062,
                                "end": 4093,
                                "loc": {
                                  "start": {
                                    "line": 140,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 140,
                                    "column": 46
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4062,
                                  "end": 4075,
                                  "loc": {
                                    "start": {
                                      "line": 140,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 140,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4062,
                                    "end": 4066,
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4067,
                                    "end": 4075,
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 28
                                      },
                                      "identifierName": "removeAt"
                                    },
                                    "name": "removeAt"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 4076,
                                    "end": 4082,
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 35
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 4084,
                                    "end": 4092,
                                    "loc": {
                                      "start": {
                                        "line": 140,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 140,
                                        "column": 45
                                      },
                                      "identifierName": "caretPos"
                                    },
                                    "name": "caretPos"
                                  }
                                ]
                              }
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 4109,
                        "end": 5440,
                        "loc": {
                          "start": {
                            "line": 142,
                            "column": 11
                          },
                          "end": {
                            "line": 172,
                            "column": 58
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 4112,
                          "end": 4132,
                          "loc": {
                            "start": {
                              "line": 142,
                              "column": 14
                            },
                            "end": {
                              "line": 142,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 4112,
                            "end": 4118,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 14
                              },
                              "end": {
                                "line": 142,
                                "column": 20
                              },
                              "identifierName": "button"
                            },
                            "name": "button"
                          },
                          "operator": "===",
                          "right": {
                            "type": "StringLiteral",
                            "start": 4123,
                            "end": 4132,
                            "loc": {
                              "start": {
                                "line": 142,
                                "column": 25
                              },
                              "end": {
                                "line": 142,
                                "column": 34
                              }
                            },
                            "extra": {
                              "rawValue": "{space}",
                              "raw": "\"{space}\""
                            },
                            "value": "{space}"
                          }
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 4141,
                          "end": 4190,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 6
                            },
                            "end": {
                              "line": 143,
                              "column": 55
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 4141,
                            "end": 4189,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 6
                              },
                              "end": {
                                "line": 143,
                                "column": 54
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 4141,
                              "end": 4147,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 6
                                },
                                "end": {
                                  "line": 143,
                                  "column": 12
                                },
                                "identifierName": "output"
                              },
                              "name": "output"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 4150,
                              "end": 4189,
                              "loc": {
                                "start": {
                                  "line": 143,
                                  "column": 15
                                },
                                "end": {
                                  "line": 143,
                                  "column": 54
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4150,
                                "end": 4166,
                                "loc": {
                                  "start": {
                                    "line": 143,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 143,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4150,
                                  "end": 4154,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4155,
                                  "end": 4166,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 31
                                    },
                                    "identifierName": "addStringAt"
                                  },
                                  "name": "addStringAt"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 4167,
                                  "end": 4173,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 38
                                    },
                                    "identifierName": "output"
                                  },
                                  "name": "output"
                                },
                                {
                                  "type": "StringLiteral",
                                  "start": 4175,
                                  "end": 4178,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 43
                                    }
                                  },
                                  "extra": {
                                    "rawValue": " ",
                                    "raw": "\" \""
                                  },
                                  "value": " "
                                },
                                {
                                  "type": "Identifier",
                                  "start": 4180,
                                  "end": 4188,
                                  "loc": {
                                    "start": {
                                      "line": 143,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 143,
                                      "column": 53
                                    },
                                    "identifierName": "caretPos"
                                  },
                                  "name": "caretPos"
                                }
                              ]
                            }
                          }
                        },
                        "alternate": {
                          "type": "IfStatement",
                          "start": 4203,
                          "end": 5440,
                          "loc": {
                            "start": {
                              "line": 145,
                              "column": 9
                            },
                            "end": {
                              "line": 172,
                              "column": 58
                            }
                          },
                          "test": {
                            "type": "LogicalExpression",
                            "start": 4206,
                            "end": 4306,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 12
                              },
                              "end": {
                                "line": 145,
                                "column": 112
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 4206,
                              "end": 4224,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 12
                                },
                                "end": {
                                  "line": 145,
                                  "column": 30
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 4206,
                                "end": 4212,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 18
                                  },
                                  "identifierName": "button"
                                },
                                "name": "button"
                              },
                              "operator": "===",
                              "right": {
                                "type": "StringLiteral",
                                "start": 4217,
                                "end": 4224,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 30
                                  }
                                },
                                "extra": {
                                  "rawValue": "{tab}",
                                  "raw": "\"{tab}\""
                                },
                                "value": "{tab}"
                              }
                            },
                            "operator": "&&",
                            "right": {
                              "type": "UnaryExpression",
                              "start": 4228,
                              "end": 4306,
                              "loc": {
                                "start": {
                                  "line": 145,
                                  "column": 34
                                },
                                "end": {
                                  "line": 145,
                                  "column": 112
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "LogicalExpression",
                                "start": 4230,
                                "end": 4305,
                                "loc": {
                                  "start": {
                                    "line": 145,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 145,
                                    "column": 111
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 4230,
                                  "end": 4271,
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 77
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 4230,
                                    "end": 4257,
                                    "loc": {
                                      "start": {
                                        "line": 145,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 145,
                                        "column": 63
                                      }
                                    },
                                    "operator": "typeof",
                                    "prefix": true,
                                    "argument": {
                                      "type": "MemberExpression",
                                      "start": 4237,
                                      "end": 4257,
                                      "loc": {
                                        "start": {
                                          "line": 145,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 145,
                                          "column": 63
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4237,
                                        "end": 4244,
                                        "loc": {
                                          "start": {
                                            "line": 145,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 145,
                                            "column": 50
                                          },
                                          "identifierName": "options"
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4245,
                                        "end": 4257,
                                        "loc": {
                                          "start": {
                                            "line": 145,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 145,
                                            "column": 63
                                          },
                                          "identifierName": "tabCharOnTab"
                                        },
                                        "name": "tabCharOnTab"
                                      },
                                      "computed": false
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 4262,
                                    "end": 4271,
                                    "loc": {
                                      "start": {
                                        "line": 145,
                                        "column": 68
                                      },
                                      "end": {
                                        "line": 145,
                                        "column": 77
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "boolean",
                                      "raw": "\"boolean\""
                                    },
                                    "value": "boolean"
                                  }
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 4275,
                                  "end": 4305,
                                  "loc": {
                                    "start": {
                                      "line": 145,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 145,
                                      "column": 111
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 4275,
                                    "end": 4295,
                                    "loc": {
                                      "start": {
                                        "line": 145,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 145,
                                        "column": 101
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4275,
                                      "end": 4282,
                                      "loc": {
                                        "start": {
                                          "line": 145,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 145,
                                          "column": 88
                                        },
                                        "identifierName": "options"
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4283,
                                      "end": 4295,
                                      "loc": {
                                        "start": {
                                          "line": 145,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 145,
                                          "column": 101
                                        },
                                        "identifierName": "tabCharOnTab"
                                      },
                                      "name": "tabCharOnTab"
                                    },
                                    "computed": false
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "BooleanLiteral",
                                    "start": 4300,
                                    "end": 4305,
                                    "loc": {
                                      "start": {
                                        "line": 145,
                                        "column": 106
                                      },
                                      "end": {
                                        "line": 145,
                                        "column": 111
                                      }
                                    },
                                    "value": false
                                  }
                                },
                                "extra": {
                                  "parenthesized": true,
                                  "parenStart": 4229
                                }
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            }
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 4307,
                            "end": 4375,
                            "loc": {
                              "start": {
                                "line": 145,
                                "column": 113
                              },
                              "end": {
                                "line": 148,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 4316,
                                "end": 4366,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 56
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 4316,
                                  "end": 4365,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 55
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4316,
                                    "end": 4322,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 12
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 4325,
                                    "end": 4365,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 55
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4325,
                                      "end": 4341,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 31
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 4325,
                                        "end": 4329,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 19
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4330,
                                        "end": 4341,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 31
                                          },
                                          "identifierName": "addStringAt"
                                        },
                                        "name": "addStringAt"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 4342,
                                        "end": 4348,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 38
                                          },
                                          "identifierName": "output"
                                        },
                                        "name": "output"
                                      },
                                      {
                                        "type": "StringLiteral",
                                        "start": 4350,
                                        "end": 4354,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 44
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "\t",
                                          "raw": "\"\\t\""
                                        },
                                        "value": "\t"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 4356,
                                        "end": 4364,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 54
                                          },
                                          "identifierName": "caretPos"
                                        },
                                        "name": "caretPos"
                                      }
                                    ]
                                  }
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": {
                            "type": "IfStatement",
                            "start": 4381,
                            "end": 5440,
                            "loc": {
                              "start": {
                                "line": 148,
                                "column": 11
                              },
                              "end": {
                                "line": 172,
                                "column": 58
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 4384,
                              "end": 4462,
                              "loc": {
                                "start": {
                                  "line": 148,
                                  "column": 14
                                },
                                "end": {
                                  "line": 148,
                                  "column": 92
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 4385,
                                "end": 4435,
                                "loc": {
                                  "start": {
                                    "line": 148,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 148,
                                    "column": 65
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 4385,
                                  "end": 4405,
                                  "loc": {
                                    "start": {
                                      "line": 148,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 148,
                                      "column": 35
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4385,
                                    "end": 4391,
                                    "loc": {
                                      "start": {
                                        "line": 148,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 148,
                                        "column": 21
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 4396,
                                    "end": 4405,
                                    "loc": {
                                      "start": {
                                        "line": 148,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 148,
                                        "column": 35
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "{enter}",
                                      "raw": "\"{enter}\""
                                    },
                                    "value": "{enter}"
                                  }
                                },
                                "operator": "||",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 4409,
                                  "end": 4435,
                                  "loc": {
                                    "start": {
                                      "line": 148,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 148,
                                      "column": 65
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4409,
                                    "end": 4415,
                                    "loc": {
                                      "start": {
                                        "line": 148,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 148,
                                        "column": 45
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 4420,
                                    "end": 4435,
                                    "loc": {
                                      "start": {
                                        "line": 148,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 148,
                                        "column": 65
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "{numpadenter}",
                                      "raw": "\"{numpadenter}\""
                                    },
                                    "value": "{numpadenter}"
                                  }
                                },
                                "extra": {
                                  "parenthesized": true,
                                  "parenStart": 4384
                                }
                              },
                              "operator": "&&",
                              "right": {
                                "type": "MemberExpression",
                                "start": 4440,
                                "end": 4462,
                                "loc": {
                                  "start": {
                                    "line": 148,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 148,
                                    "column": 92
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4440,
                                  "end": 4447,
                                  "loc": {
                                    "start": {
                                      "line": 148,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 148,
                                      "column": 77
                                    },
                                    "identifierName": "options"
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4448,
                                  "end": 4462,
                                  "loc": {
                                    "start": {
                                      "line": 148,
                                      "column": 78
                                    },
                                    "end": {
                                      "line": 148,
                                      "column": 92
                                    },
                                    "identifierName": "newLineOnEnter"
                                  },
                                  "name": "newLineOnEnter"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 4471,
                              "end": 4521,
                              "loc": {
                                "start": {
                                  "line": 149,
                                  "column": 6
                                },
                                "end": {
                                  "line": 149,
                                  "column": 56
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 4471,
                                "end": 4520,
                                "loc": {
                                  "start": {
                                    "line": 149,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 149,
                                    "column": 55
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 4471,
                                  "end": 4477,
                                  "loc": {
                                    "start": {
                                      "line": 149,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 12
                                    },
                                    "identifierName": "output"
                                  },
                                  "name": "output"
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 4480,
                                  "end": 4520,
                                  "loc": {
                                    "start": {
                                      "line": 149,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 55
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4480,
                                    "end": 4496,
                                    "loc": {
                                      "start": {
                                        "line": 149,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 149,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4480,
                                      "end": 4484,
                                      "loc": {
                                        "start": {
                                          "line": 149,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 149,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4485,
                                      "end": 4496,
                                      "loc": {
                                        "start": {
                                          "line": 149,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 149,
                                          "column": 31
                                        },
                                        "identifierName": "addStringAt"
                                      },
                                      "name": "addStringAt"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 4497,
                                      "end": 4503,
                                      "loc": {
                                        "start": {
                                          "line": 149,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 149,
                                          "column": 38
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    {
                                      "type": "StringLiteral",
                                      "start": 4505,
                                      "end": 4509,
                                      "loc": {
                                        "start": {
                                          "line": 149,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 149,
                                          "column": 44
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "\n",
                                        "raw": "\"\\n\""
                                      },
                                      "value": "\n"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 4511,
                                      "end": 4519,
                                      "loc": {
                                        "start": {
                                          "line": 149,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 149,
                                          "column": 54
                                        },
                                        "identifierName": "caretPos"
                                      },
                                      "name": "caretPos"
                                    }
                                  ]
                                }
                              }
                            },
                            "alternate": {
                              "type": "IfStatement",
                              "start": 4534,
                              "end": 5440,
                              "loc": {
                                "start": {
                                  "line": 151,
                                  "column": 9
                                },
                                "end": {
                                  "line": 172,
                                  "column": 58
                                }
                              },
                              "test": {
                                "type": "LogicalExpression",
                                "start": 4537,
                                "end": 4617,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 151,
                                    "column": 92
                                  }
                                },
                                "left": {
                                  "type": "CallExpression",
                                  "start": 4537,
                                  "end": 4562,
                                  "loc": {
                                    "start": {
                                      "line": 151,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 151,
                                      "column": 37
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4537,
                                    "end": 4552,
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4537,
                                      "end": 4543,
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 18
                                        },
                                        "identifierName": "button"
                                      },
                                      "name": "button"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4544,
                                      "end": 4552,
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 27
                                        },
                                        "identifierName": "includes"
                                      },
                                      "name": "includes"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 4553,
                                      "end": 4561,
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 36
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "numpad",
                                        "raw": "\"numpad\""
                                      },
                                      "value": "numpad"
                                    }
                                  ]
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 4566,
                                  "end": 4617,
                                  "loc": {
                                    "start": {
                                      "line": 151,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 151,
                                      "column": 92
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4566,
                                    "end": 4582,
                                    "loc": {
                                      "start": {
                                        "line": 151,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 151,
                                        "column": 57
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4566,
                                      "end": 4572,
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 47
                                        },
                                        "identifierName": "Number"
                                      },
                                      "name": "Number"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4573,
                                      "end": 4582,
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 57
                                        },
                                        "identifierName": "isInteger"
                                      },
                                      "name": "isInteger"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "start": 4583,
                                      "end": 4616,
                                      "loc": {
                                        "start": {
                                          "line": 151,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 151,
                                          "column": 91
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 4583,
                                        "end": 4589,
                                        "loc": {
                                          "start": {
                                            "line": 151,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 151,
                                            "column": 64
                                          },
                                          "identifierName": "Number"
                                        },
                                        "name": "Number"
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 4590,
                                          "end": 4615,
                                          "loc": {
                                            "start": {
                                              "line": 151,
                                              "column": 65
                                            },
                                            "end": {
                                              "line": 151,
                                              "column": 90
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 4590,
                                            "end": 4596,
                                            "loc": {
                                              "start": {
                                                "line": 151,
                                                "column": 65
                                              },
                                              "end": {
                                                "line": 151,
                                                "column": 71
                                              },
                                              "identifierName": "button"
                                            },
                                            "name": "button"
                                          },
                                          "property": {
                                            "type": "BinaryExpression",
                                            "start": 4597,
                                            "end": 4614,
                                            "loc": {
                                              "start": {
                                                "line": 151,
                                                "column": 72
                                              },
                                              "end": {
                                                "line": 151,
                                                "column": 89
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 4597,
                                              "end": 4610,
                                              "loc": {
                                                "start": {
                                                  "line": 151,
                                                  "column": 72
                                                },
                                                "end": {
                                                  "line": 151,
                                                  "column": 85
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4597,
                                                "end": 4603,
                                                "loc": {
                                                  "start": {
                                                    "line": 151,
                                                    "column": 72
                                                  },
                                                  "end": {
                                                    "line": 151,
                                                    "column": 78
                                                  },
                                                  "identifierName": "button"
                                                },
                                                "name": "button"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4604,
                                                "end": 4610,
                                                "loc": {
                                                  "start": {
                                                    "line": 151,
                                                    "column": 79
                                                  },
                                                  "end": {
                                                    "line": 151,
                                                    "column": 85
                                                  },
                                                  "identifierName": "length"
                                                },
                                                "name": "length"
                                              },
                                              "computed": false
                                            },
                                            "operator": "-",
                                            "right": {
                                              "type": "NumericLiteral",
                                              "start": 4613,
                                              "end": 4614,
                                              "loc": {
                                                "start": {
                                                  "line": 151,
                                                  "column": 88
                                                },
                                                "end": {
                                                  "line": 151,
                                                  "column": 89
                                                }
                                              },
                                              "extra": {
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "value": 2
                                            }
                                          },
                                          "computed": true
                                        }
                                      ]
                                    }
                                  ]
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "start": 4618,
                                "end": 4705,
                                "loc": {
                                  "start": {
                                    "line": 151,
                                    "column": 93
                                  },
                                  "end": {
                                    "line": 153,
                                    "column": 5
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 4627,
                                    "end": 4698,
                                    "loc": {
                                      "start": {
                                        "line": 152,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 152,
                                        "column": 77
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 4627,
                                      "end": 4697,
                                      "loc": {
                                        "start": {
                                          "line": 152,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 152,
                                          "column": 76
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 4627,
                                        "end": 4633,
                                        "loc": {
                                          "start": {
                                            "line": 152,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 152,
                                            "column": 12
                                          },
                                          "identifierName": "output"
                                        },
                                        "name": "output"
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 4636,
                                        "end": 4697,
                                        "loc": {
                                          "start": {
                                            "line": 152,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 152,
                                            "column": 76
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 4636,
                                          "end": 4652,
                                          "loc": {
                                            "start": {
                                              "line": 152,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 152,
                                              "column": 31
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 4636,
                                            "end": 4640,
                                            "loc": {
                                              "start": {
                                                "line": 152,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 152,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4641,
                                            "end": 4652,
                                            "loc": {
                                              "start": {
                                                "line": 152,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 152,
                                                "column": 31
                                              },
                                              "identifierName": "addStringAt"
                                            },
                                            "name": "addStringAt"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 4653,
                                            "end": 4659,
                                            "loc": {
                                              "start": {
                                                "line": 152,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 152,
                                                "column": 38
                                              },
                                              "identifierName": "output"
                                            },
                                            "name": "output"
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "start": 4661,
                                            "end": 4686,
                                            "loc": {
                                              "start": {
                                                "line": 152,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 152,
                                                "column": 65
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 4661,
                                              "end": 4667,
                                              "loc": {
                                                "start": {
                                                  "line": 152,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 152,
                                                  "column": 46
                                                },
                                                "identifierName": "button"
                                              },
                                              "name": "button"
                                            },
                                            "property": {
                                              "type": "BinaryExpression",
                                              "start": 4668,
                                              "end": 4685,
                                              "loc": {
                                                "start": {
                                                  "line": 152,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 152,
                                                  "column": 64
                                                }
                                              },
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 4668,
                                                "end": 4681,
                                                "loc": {
                                                  "start": {
                                                    "line": 152,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 152,
                                                    "column": 60
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 4668,
                                                  "end": 4674,
                                                  "loc": {
                                                    "start": {
                                                      "line": 152,
                                                      "column": 47
                                                    },
                                                    "end": {
                                                      "line": 152,
                                                      "column": 53
                                                    },
                                                    "identifierName": "button"
                                                  },
                                                  "name": "button"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4675,
                                                  "end": 4681,
                                                  "loc": {
                                                    "start": {
                                                      "line": 152,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 152,
                                                      "column": 60
                                                    },
                                                    "identifierName": "length"
                                                  },
                                                  "name": "length"
                                                },
                                                "computed": false
                                              },
                                              "operator": "-",
                                              "right": {
                                                "type": "NumericLiteral",
                                                "start": 4684,
                                                "end": 4685,
                                                "loc": {
                                                  "start": {
                                                    "line": 152,
                                                    "column": 63
                                                  },
                                                  "end": {
                                                    "line": 152,
                                                    "column": 64
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": 2,
                                                  "raw": "2"
                                                },
                                                "value": 2
                                              }
                                            },
                                            "computed": true
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 4688,
                                            "end": 4696,
                                            "loc": {
                                              "start": {
                                                "line": 152,
                                                "column": 67
                                              },
                                              "end": {
                                                "line": 152,
                                                "column": 75
                                              },
                                              "identifierName": "caretPos"
                                            },
                                            "name": "caretPos"
                                          }
                                        ]
                                      }
                                    }
                                  }
                                ],
                                "directives": []
                              },
                              "alternate": {
                                "type": "IfStatement",
                                "start": 4716,
                                "end": 5440,
                                "loc": {
                                  "start": {
                                    "line": 154,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 172,
                                    "column": 58
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 4719,
                                  "end": 4746,
                                  "loc": {
                                    "start": {
                                      "line": 154,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 154,
                                      "column": 39
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4719,
                                    "end": 4725,
                                    "loc": {
                                      "start": {
                                        "line": 154,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 154,
                                        "column": 18
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 4730,
                                    "end": 4746,
                                    "loc": {
                                      "start": {
                                        "line": 154,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 154,
                                        "column": 39
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "{numpaddivide}",
                                      "raw": "\"{numpaddivide}\""
                                    },
                                    "value": "{numpaddivide}"
                                  }
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 4755,
                                  "end": 4804,
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 55
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 4755,
                                    "end": 4803,
                                    "loc": {
                                      "start": {
                                        "line": 155,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 155,
                                        "column": 54
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 4755,
                                      "end": 4761,
                                      "loc": {
                                        "start": {
                                          "line": 155,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 155,
                                          "column": 12
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 4764,
                                      "end": 4803,
                                      "loc": {
                                        "start": {
                                          "line": 155,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 155,
                                          "column": 54
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 4764,
                                        "end": 4780,
                                        "loc": {
                                          "start": {
                                            "line": 155,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 155,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 4764,
                                          "end": 4768,
                                          "loc": {
                                            "start": {
                                              "line": 155,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 155,
                                              "column": 19
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4769,
                                          "end": 4780,
                                          "loc": {
                                            "start": {
                                              "line": 155,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 155,
                                              "column": 31
                                            },
                                            "identifierName": "addStringAt"
                                          },
                                          "name": "addStringAt"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 4781,
                                          "end": 4787,
                                          "loc": {
                                            "start": {
                                              "line": 155,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 155,
                                              "column": 38
                                            },
                                            "identifierName": "output"
                                          },
                                          "name": "output"
                                        },
                                        {
                                          "type": "StringLiteral",
                                          "start": 4789,
                                          "end": 4792,
                                          "loc": {
                                            "start": {
                                              "line": 155,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 155,
                                              "column": 43
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "/",
                                            "raw": "'/'"
                                          },
                                          "value": "/"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 4794,
                                          "end": 4802,
                                          "loc": {
                                            "start": {
                                              "line": 155,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 155,
                                              "column": 53
                                            },
                                            "identifierName": "caretPos"
                                          },
                                          "name": "caretPos"
                                        }
                                      ]
                                    }
                                  }
                                },
                                "alternate": {
                                  "type": "IfStatement",
                                  "start": 4817,
                                  "end": 5440,
                                  "loc": {
                                    "start": {
                                      "line": 157,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 172,
                                      "column": 58
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 4820,
                                    "end": 4849,
                                    "loc": {
                                      "start": {
                                        "line": 157,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 157,
                                        "column": 41
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 4820,
                                      "end": 4826,
                                      "loc": {
                                        "start": {
                                          "line": 157,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 157,
                                          "column": 18
                                        },
                                        "identifierName": "button"
                                      },
                                      "name": "button"
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "StringLiteral",
                                      "start": 4831,
                                      "end": 4849,
                                      "loc": {
                                        "start": {
                                          "line": 157,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 157,
                                          "column": 41
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "{numpadmultiply}",
                                        "raw": "\"{numpadmultiply}\""
                                      },
                                      "value": "{numpadmultiply}"
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 4858,
                                    "end": 4907,
                                    "loc": {
                                      "start": {
                                        "line": 158,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 158,
                                        "column": 55
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 4858,
                                      "end": 4906,
                                      "loc": {
                                        "start": {
                                          "line": 158,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 158,
                                          "column": 54
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 4858,
                                        "end": 4864,
                                        "loc": {
                                          "start": {
                                            "line": 158,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 158,
                                            "column": 12
                                          },
                                          "identifierName": "output"
                                        },
                                        "name": "output"
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 4867,
                                        "end": 4906,
                                        "loc": {
                                          "start": {
                                            "line": 158,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 158,
                                            "column": 54
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 4867,
                                          "end": 4883,
                                          "loc": {
                                            "start": {
                                              "line": 158,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 158,
                                              "column": 31
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 4867,
                                            "end": 4871,
                                            "loc": {
                                              "start": {
                                                "line": 158,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 158,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4872,
                                            "end": 4883,
                                            "loc": {
                                              "start": {
                                                "line": 158,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 158,
                                                "column": 31
                                              },
                                              "identifierName": "addStringAt"
                                            },
                                            "name": "addStringAt"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 4884,
                                            "end": 4890,
                                            "loc": {
                                              "start": {
                                                "line": 158,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 158,
                                                "column": 38
                                              },
                                              "identifierName": "output"
                                            },
                                            "name": "output"
                                          },
                                          {
                                            "type": "StringLiteral",
                                            "start": 4892,
                                            "end": 4895,
                                            "loc": {
                                              "start": {
                                                "line": 158,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 158,
                                                "column": 43
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "*",
                                              "raw": "'*'"
                                            },
                                            "value": "*"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 4897,
                                            "end": 4905,
                                            "loc": {
                                              "start": {
                                                "line": 158,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 158,
                                                "column": 53
                                              },
                                              "identifierName": "caretPos"
                                            },
                                            "name": "caretPos"
                                          }
                                        ]
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "IfStatement",
                                    "start": 4918,
                                    "end": 5440,
                                    "loc": {
                                      "start": {
                                        "line": 159,
                                        "column": 9
                                      },
                                      "end": {
                                        "line": 172,
                                        "column": 58
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 4921,
                                      "end": 4950,
                                      "loc": {
                                        "start": {
                                          "line": 159,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 159,
                                          "column": 41
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 4921,
                                        "end": 4927,
                                        "loc": {
                                          "start": {
                                            "line": 159,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 159,
                                            "column": 18
                                          },
                                          "identifierName": "button"
                                        },
                                        "name": "button"
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "StringLiteral",
                                        "start": 4932,
                                        "end": 4950,
                                        "loc": {
                                          "start": {
                                            "line": 159,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 159,
                                            "column": 41
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "{numpadsubtract}",
                                          "raw": "\"{numpadsubtract}\""
                                        },
                                        "value": "{numpadsubtract}"
                                      }
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 4959,
                                      "end": 5008,
                                      "loc": {
                                        "start": {
                                          "line": 160,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 160,
                                          "column": 55
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 4959,
                                        "end": 5007,
                                        "loc": {
                                          "start": {
                                            "line": 160,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 160,
                                            "column": 54
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 4959,
                                          "end": 4965,
                                          "loc": {
                                            "start": {
                                              "line": 160,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 160,
                                              "column": 12
                                            },
                                            "identifierName": "output"
                                          },
                                          "name": "output"
                                        },
                                        "right": {
                                          "type": "CallExpression",
                                          "start": 4968,
                                          "end": 5007,
                                          "loc": {
                                            "start": {
                                              "line": 160,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 160,
                                              "column": 54
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 4968,
                                            "end": 4984,
                                            "loc": {
                                              "start": {
                                                "line": 160,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 160,
                                                "column": 31
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 4968,
                                              "end": 4972,
                                              "loc": {
                                                "start": {
                                                  "line": 160,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 160,
                                                  "column": 19
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4973,
                                              "end": 4984,
                                              "loc": {
                                                "start": {
                                                  "line": 160,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 160,
                                                  "column": 31
                                                },
                                                "identifierName": "addStringAt"
                                              },
                                              "name": "addStringAt"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 4985,
                                              "end": 4991,
                                              "loc": {
                                                "start": {
                                                  "line": 160,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 160,
                                                  "column": 38
                                                },
                                                "identifierName": "output"
                                              },
                                              "name": "output"
                                            },
                                            {
                                              "type": "StringLiteral",
                                              "start": 4993,
                                              "end": 4996,
                                              "loc": {
                                                "start": {
                                                  "line": 160,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 160,
                                                  "column": 43
                                                }
                                              },
                                              "extra": {
                                                "rawValue": "-",
                                                "raw": "'-'"
                                              },
                                              "value": "-"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 4998,
                                              "end": 5006,
                                              "loc": {
                                                "start": {
                                                  "line": 160,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 160,
                                                  "column": 53
                                                },
                                                "identifierName": "caretPos"
                                              },
                                              "name": "caretPos"
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    "alternate": {
                                      "type": "IfStatement",
                                      "start": 5021,
                                      "end": 5440,
                                      "loc": {
                                        "start": {
                                          "line": 162,
                                          "column": 9
                                        },
                                        "end": {
                                          "line": 172,
                                          "column": 58
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 5024,
                                        "end": 5048,
                                        "loc": {
                                          "start": {
                                            "line": 162,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 162,
                                            "column": 36
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 5024,
                                          "end": 5030,
                                          "loc": {
                                            "start": {
                                              "line": 162,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 162,
                                              "column": 18
                                            },
                                            "identifierName": "button"
                                          },
                                          "name": "button"
                                        },
                                        "operator": "===",
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 5035,
                                          "end": 5048,
                                          "loc": {
                                            "start": {
                                              "line": 162,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 162,
                                              "column": 36
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "{numpadadd}",
                                            "raw": "\"{numpadadd}\""
                                          },
                                          "value": "{numpadadd}"
                                        }
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 5057,
                                        "end": 5106,
                                        "loc": {
                                          "start": {
                                            "line": 163,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 163,
                                            "column": 55
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 5057,
                                          "end": 5105,
                                          "loc": {
                                            "start": {
                                              "line": 163,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 163,
                                              "column": 54
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 5057,
                                            "end": 5063,
                                            "loc": {
                                              "start": {
                                                "line": 163,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 163,
                                                "column": 12
                                              },
                                              "identifierName": "output"
                                            },
                                            "name": "output"
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 5066,
                                            "end": 5105,
                                            "loc": {
                                              "start": {
                                                "line": 163,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 163,
                                                "column": 54
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5066,
                                              "end": 5082,
                                              "loc": {
                                                "start": {
                                                  "line": 163,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 163,
                                                  "column": 31
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 5066,
                                                "end": 5070,
                                                "loc": {
                                                  "start": {
                                                    "line": 163,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 163,
                                                    "column": 19
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5071,
                                                "end": 5082,
                                                "loc": {
                                                  "start": {
                                                    "line": 163,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 163,
                                                    "column": 31
                                                  },
                                                  "identifierName": "addStringAt"
                                                },
                                                "name": "addStringAt"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5083,
                                                "end": 5089,
                                                "loc": {
                                                  "start": {
                                                    "line": 163,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 163,
                                                    "column": 38
                                                  },
                                                  "identifierName": "output"
                                                },
                                                "name": "output"
                                              },
                                              {
                                                "type": "StringLiteral",
                                                "start": 5091,
                                                "end": 5094,
                                                "loc": {
                                                  "start": {
                                                    "line": 163,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 163,
                                                    "column": 43
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": "+",
                                                  "raw": "'+'"
                                                },
                                                "value": "+"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 5096,
                                                "end": 5104,
                                                "loc": {
                                                  "start": {
                                                    "line": 163,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 163,
                                                    "column": 53
                                                  },
                                                  "identifierName": "caretPos"
                                                },
                                                "name": "caretPos"
                                              }
                                            ]
                                          }
                                        }
                                      },
                                      "alternate": {
                                        "type": "IfStatement",
                                        "start": 5119,
                                        "end": 5440,
                                        "loc": {
                                          "start": {
                                            "line": 165,
                                            "column": 9
                                          },
                                          "end": {
                                            "line": 172,
                                            "column": 58
                                          }
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "start": 5122,
                                          "end": 5150,
                                          "loc": {
                                            "start": {
                                              "line": 165,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 165,
                                              "column": 40
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 5122,
                                            "end": 5128,
                                            "loc": {
                                              "start": {
                                                "line": 165,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 165,
                                                "column": 18
                                              },
                                              "identifierName": "button"
                                            },
                                            "name": "button"
                                          },
                                          "operator": "===",
                                          "right": {
                                            "type": "StringLiteral",
                                            "start": 5133,
                                            "end": 5150,
                                            "loc": {
                                              "start": {
                                                "line": 165,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 165,
                                                "column": 40
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "{numpaddecimal}",
                                              "raw": "\"{numpaddecimal}\""
                                            },
                                            "value": "{numpaddecimal}"
                                          }
                                        },
                                        "consequent": {
                                          "type": "ExpressionStatement",
                                          "start": 5159,
                                          "end": 5208,
                                          "loc": {
                                            "start": {
                                              "line": 166,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 166,
                                              "column": 55
                                            }
                                          },
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 5159,
                                            "end": 5207,
                                            "loc": {
                                              "start": {
                                                "line": 166,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 166,
                                                "column": 54
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "start": 5159,
                                              "end": 5165,
                                              "loc": {
                                                "start": {
                                                  "line": 166,
                                                  "column": 6
                                                },
                                                "end": {
                                                  "line": 166,
                                                  "column": 12
                                                },
                                                "identifierName": "output"
                                              },
                                              "name": "output"
                                            },
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 5168,
                                              "end": 5207,
                                              "loc": {
                                                "start": {
                                                  "line": 166,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 166,
                                                  "column": 54
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5168,
                                                "end": 5184,
                                                "loc": {
                                                  "start": {
                                                    "line": 166,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 166,
                                                    "column": 31
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5168,
                                                  "end": 5172,
                                                  "loc": {
                                                    "start": {
                                                      "line": 166,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 166,
                                                      "column": 19
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5173,
                                                  "end": 5184,
                                                  "loc": {
                                                    "start": {
                                                      "line": 166,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 166,
                                                      "column": 31
                                                    },
                                                    "identifierName": "addStringAt"
                                                  },
                                                  "name": "addStringAt"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5185,
                                                  "end": 5191,
                                                  "loc": {
                                                    "start": {
                                                      "line": 166,
                                                      "column": 32
                                                    },
                                                    "end": {
                                                      "line": 166,
                                                      "column": 38
                                                    },
                                                    "identifierName": "output"
                                                  },
                                                  "name": "output"
                                                },
                                                {
                                                  "type": "StringLiteral",
                                                  "start": 5193,
                                                  "end": 5196,
                                                  "loc": {
                                                    "start": {
                                                      "line": 166,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 166,
                                                      "column": 43
                                                    }
                                                  },
                                                  "extra": {
                                                    "rawValue": ".",
                                                    "raw": "'.'"
                                                  },
                                                  "value": "."
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 5198,
                                                  "end": 5206,
                                                  "loc": {
                                                    "start": {
                                                      "line": 166,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 166,
                                                      "column": 53
                                                    },
                                                    "identifierName": "caretPos"
                                                  },
                                                  "name": "caretPos"
                                                }
                                              ]
                                            }
                                          }
                                        },
                                        "alternate": {
                                          "type": "IfStatement",
                                          "start": 5221,
                                          "end": 5440,
                                          "loc": {
                                            "start": {
                                              "line": 168,
                                              "column": 9
                                            },
                                            "end": {
                                              "line": 172,
                                              "column": 58
                                            }
                                          },
                                          "test": {
                                            "type": "LogicalExpression",
                                            "start": 5224,
                                            "end": 5256,
                                            "loc": {
                                              "start": {
                                                "line": 168,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 168,
                                                "column": 44
                                              }
                                            },
                                            "left": {
                                              "type": "BinaryExpression",
                                              "start": 5224,
                                              "end": 5238,
                                              "loc": {
                                                "start": {
                                                  "line": 168,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 168,
                                                  "column": 26
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 5224,
                                                "end": 5230,
                                                "loc": {
                                                  "start": {
                                                    "line": 168,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 168,
                                                    "column": 18
                                                  },
                                                  "identifierName": "button"
                                                },
                                                "name": "button"
                                              },
                                              "operator": "===",
                                              "right": {
                                                "type": "StringLiteral",
                                                "start": 5235,
                                                "end": 5238,
                                                "loc": {
                                                  "start": {
                                                    "line": 168,
                                                    "column": 23
                                                  },
                                                  "end": {
                                                    "line": 168,
                                                    "column": 26
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": "{",
                                                  "raw": "\"{\""
                                                },
                                                "value": "{"
                                              }
                                            },
                                            "operator": "||",
                                            "right": {
                                              "type": "BinaryExpression",
                                              "start": 5242,
                                              "end": 5256,
                                              "loc": {
                                                "start": {
                                                  "line": 168,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 168,
                                                  "column": 44
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 5242,
                                                "end": 5248,
                                                "loc": {
                                                  "start": {
                                                    "line": 168,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 168,
                                                    "column": 36
                                                  },
                                                  "identifierName": "button"
                                                },
                                                "name": "button"
                                              },
                                              "operator": "===",
                                              "right": {
                                                "type": "StringLiteral",
                                                "start": 5253,
                                                "end": 5256,
                                                "loc": {
                                                  "start": {
                                                    "line": 168,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 168,
                                                    "column": 44
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": "}",
                                                  "raw": "\"}\""
                                                },
                                                "value": "}"
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "ExpressionStatement",
                                            "start": 5265,
                                            "end": 5317,
                                            "loc": {
                                              "start": {
                                                "line": 169,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 169,
                                                "column": 58
                                              }
                                            },
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "start": 5265,
                                              "end": 5316,
                                              "loc": {
                                                "start": {
                                                  "line": 169,
                                                  "column": 6
                                                },
                                                "end": {
                                                  "line": 169,
                                                  "column": 57
                                                }
                                              },
                                              "operator": "=",
                                              "left": {
                                                "type": "Identifier",
                                                "start": 5265,
                                                "end": 5271,
                                                "loc": {
                                                  "start": {
                                                    "line": 169,
                                                    "column": 6
                                                  },
                                                  "end": {
                                                    "line": 169,
                                                    "column": 12
                                                  },
                                                  "identifierName": "output"
                                                },
                                                "name": "output"
                                              },
                                              "right": {
                                                "type": "CallExpression",
                                                "start": 5274,
                                                "end": 5316,
                                                "loc": {
                                                  "start": {
                                                    "line": 169,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 169,
                                                    "column": 57
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 5274,
                                                  "end": 5290,
                                                  "loc": {
                                                    "start": {
                                                      "line": 169,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 169,
                                                      "column": 31
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5274,
                                                    "end": 5278,
                                                    "loc": {
                                                      "start": {
                                                        "line": 169,
                                                        "column": 15
                                                      },
                                                      "end": {
                                                        "line": 169,
                                                        "column": 19
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5279,
                                                    "end": 5290,
                                                    "loc": {
                                                      "start": {
                                                        "line": 169,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 169,
                                                        "column": 31
                                                      },
                                                      "identifierName": "addStringAt"
                                                    },
                                                    "name": "addStringAt"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5291,
                                                    "end": 5297,
                                                    "loc": {
                                                      "start": {
                                                        "line": 169,
                                                        "column": 32
                                                      },
                                                      "end": {
                                                        "line": 169,
                                                        "column": 38
                                                      },
                                                      "identifierName": "output"
                                                    },
                                                    "name": "output"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5299,
                                                    "end": 5305,
                                                    "loc": {
                                                      "start": {
                                                        "line": 169,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 169,
                                                        "column": 46
                                                      },
                                                      "identifierName": "button"
                                                    },
                                                    "name": "button"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5307,
                                                    "end": 5315,
                                                    "loc": {
                                                      "start": {
                                                        "line": 169,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 169,
                                                        "column": 56
                                                      },
                                                      "identifierName": "caretPos"
                                                    },
                                                    "name": "caretPos"
                                                  }
                                                ]
                                              }
                                            }
                                          },
                                          "alternate": {
                                            "type": "IfStatement",
                                            "start": 5330,
                                            "end": 5440,
                                            "loc": {
                                              "start": {
                                                "line": 171,
                                                "column": 9
                                              },
                                              "end": {
                                                "line": 172,
                                                "column": 58
                                              }
                                            },
                                            "test": {
                                              "type": "LogicalExpression",
                                              "start": 5333,
                                              "end": 5379,
                                              "loc": {
                                                "start": {
                                                  "line": 171,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 171,
                                                  "column": 58
                                                }
                                              },
                                              "left": {
                                                "type": "UnaryExpression",
                                                "start": 5333,
                                                "end": 5354,
                                                "loc": {
                                                  "start": {
                                                    "line": 171,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 171,
                                                    "column": 33
                                                  }
                                                },
                                                "operator": "!",
                                                "prefix": true,
                                                "argument": {
                                                  "type": "CallExpression",
                                                  "start": 5334,
                                                  "end": 5354,
                                                  "loc": {
                                                    "start": {
                                                      "line": 171,
                                                      "column": 13
                                                    },
                                                    "end": {
                                                      "line": 171,
                                                      "column": 33
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 5334,
                                                    "end": 5349,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 13
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 28
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 5334,
                                                      "end": 5340,
                                                      "loc": {
                                                        "start": {
                                                          "line": 171,
                                                          "column": 13
                                                        },
                                                        "end": {
                                                          "line": 171,
                                                          "column": 19
                                                        },
                                                        "identifierName": "button"
                                                      },
                                                      "name": "button"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 5341,
                                                      "end": 5349,
                                                      "loc": {
                                                        "start": {
                                                          "line": 171,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 171,
                                                          "column": 28
                                                        },
                                                        "identifierName": "includes"
                                                      },
                                                      "name": "includes"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "StringLiteral",
                                                      "start": 5350,
                                                      "end": 5353,
                                                      "loc": {
                                                        "start": {
                                                          "line": 171,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 171,
                                                          "column": 32
                                                        }
                                                      },
                                                      "extra": {
                                                        "rawValue": "{",
                                                        "raw": "\"{\""
                                                      },
                                                      "value": "{"
                                                    }
                                                  ]
                                                },
                                                "extra": {
                                                  "parenthesizedArgument": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "UnaryExpression",
                                                "start": 5358,
                                                "end": 5379,
                                                "loc": {
                                                  "start": {
                                                    "line": 171,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 171,
                                                    "column": 58
                                                  }
                                                },
                                                "operator": "!",
                                                "prefix": true,
                                                "argument": {
                                                  "type": "CallExpression",
                                                  "start": 5359,
                                                  "end": 5379,
                                                  "loc": {
                                                    "start": {
                                                      "line": 171,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 171,
                                                      "column": 58
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 5359,
                                                    "end": 5374,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 53
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 5359,
                                                      "end": 5365,
                                                      "loc": {
                                                        "start": {
                                                          "line": 171,
                                                          "column": 38
                                                        },
                                                        "end": {
                                                          "line": 171,
                                                          "column": 44
                                                        },
                                                        "identifierName": "button"
                                                      },
                                                      "name": "button"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 5366,
                                                      "end": 5374,
                                                      "loc": {
                                                        "start": {
                                                          "line": 171,
                                                          "column": 45
                                                        },
                                                        "end": {
                                                          "line": 171,
                                                          "column": 53
                                                        },
                                                        "identifierName": "includes"
                                                      },
                                                      "name": "includes"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "StringLiteral",
                                                      "start": 5375,
                                                      "end": 5378,
                                                      "loc": {
                                                        "start": {
                                                          "line": 171,
                                                          "column": 54
                                                        },
                                                        "end": {
                                                          "line": 171,
                                                          "column": 57
                                                        }
                                                      },
                                                      "extra": {
                                                        "rawValue": "}",
                                                        "raw": "\"}\""
                                                      },
                                                      "value": "}"
                                                    }
                                                  ]
                                                },
                                                "extra": {
                                                  "parenthesizedArgument": false
                                                }
                                              }
                                            },
                                            "consequent": {
                                              "type": "ExpressionStatement",
                                              "start": 5388,
                                              "end": 5440,
                                              "loc": {
                                                "start": {
                                                  "line": 172,
                                                  "column": 6
                                                },
                                                "end": {
                                                  "line": 172,
                                                  "column": 58
                                                }
                                              },
                                              "expression": {
                                                "type": "AssignmentExpression",
                                                "start": 5388,
                                                "end": 5439,
                                                "loc": {
                                                  "start": {
                                                    "line": 172,
                                                    "column": 6
                                                  },
                                                  "end": {
                                                    "line": 172,
                                                    "column": 57
                                                  }
                                                },
                                                "operator": "=",
                                                "left": {
                                                  "type": "Identifier",
                                                  "start": 5388,
                                                  "end": 5394,
                                                  "loc": {
                                                    "start": {
                                                      "line": 172,
                                                      "column": 6
                                                    },
                                                    "end": {
                                                      "line": 172,
                                                      "column": 12
                                                    },
                                                    "identifierName": "output"
                                                  },
                                                  "name": "output"
                                                },
                                                "right": {
                                                  "type": "CallExpression",
                                                  "start": 5397,
                                                  "end": 5439,
                                                  "loc": {
                                                    "start": {
                                                      "line": 172,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 172,
                                                      "column": 57
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 5397,
                                                    "end": 5413,
                                                    "loc": {
                                                      "start": {
                                                        "line": 172,
                                                        "column": 15
                                                      },
                                                      "end": {
                                                        "line": 172,
                                                        "column": 31
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 5397,
                                                      "end": 5401,
                                                      "loc": {
                                                        "start": {
                                                          "line": 172,
                                                          "column": 15
                                                        },
                                                        "end": {
                                                          "line": 172,
                                                          "column": 19
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 5402,
                                                      "end": 5413,
                                                      "loc": {
                                                        "start": {
                                                          "line": 172,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 172,
                                                          "column": 31
                                                        },
                                                        "identifierName": "addStringAt"
                                                      },
                                                      "name": "addStringAt"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "start": 5414,
                                                      "end": 5420,
                                                      "loc": {
                                                        "start": {
                                                          "line": 172,
                                                          "column": 32
                                                        },
                                                        "end": {
                                                          "line": 172,
                                                          "column": 38
                                                        },
                                                        "identifierName": "output"
                                                      },
                                                      "name": "output"
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 5422,
                                                      "end": 5428,
                                                      "loc": {
                                                        "start": {
                                                          "line": 172,
                                                          "column": 40
                                                        },
                                                        "end": {
                                                          "line": 172,
                                                          "column": 46
                                                        },
                                                        "identifierName": "button"
                                                      },
                                                      "name": "button"
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 5430,
                                                      "end": 5438,
                                                      "loc": {
                                                        "start": {
                                                          "line": 172,
                                                          "column": 48
                                                        },
                                                        "end": {
                                                          "line": 172,
                                                          "column": 56
                                                        },
                                                        "identifierName": "caretPos"
                                                      },
                                                      "name": "caretPos"
                                                    }
                                                  ]
                                                }
                                              }
                                            },
                                            "alternate": null
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 5448,
                      "end": 5462,
                      "loc": {
                        "start": {
                          "line": 174,
                          "column": 4
                        },
                        "end": {
                          "line": 174,
                          "column": 18
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 5455,
                        "end": 5461,
                        "loc": {
                          "start": {
                            "line": 174,
                            "column": 11
                          },
                          "end": {
                            "line": 174,
                            "column": 17
                          },
                          "identifierName": "output"
                        },
                        "name": "output"
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Returns the updated input resulting from clicking a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {string} input The input string\r\n   * @param  {object} options The simple-keyboard options object\r\n   * @param  {number} caretPos The cursor's current position\r\n   ",
                    "start": 3560,
                    "end": 3877,
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 2
                      },
                      "end": {
                        "line": 134,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Moves the cursor position by a given amount\r\n   * \r\n   * @param  {number} length Represents by how many characters the input should be moved\r\n   * @param  {boolean} minus Whether the cursor should be moved to the left or not.\r\n   ",
                    "start": 5471,
                    "end": 5713,
                    "loc": {
                      "start": {
                        "line": 176,
                        "column": 2
                      },
                      "end": {
                        "line": 181,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 5717,
                "end": 6053,
                "loc": {
                  "start": {
                    "line": 182,
                    "column": 2
                  },
                  "end": {
                    "line": 189,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 5717,
                  "end": 5731,
                  "loc": {
                    "start": {
                      "line": 182,
                      "column": 2
                    },
                    "end": {
                      "line": 182,
                      "column": 16
                    },
                    "identifierName": "updateCaretPos"
                  },
                  "name": "updateCaretPos",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5732,
                    "end": 5738,
                    "loc": {
                      "start": {
                        "line": 182,
                        "column": 17
                      },
                      "end": {
                        "line": 182,
                        "column": 23
                      },
                      "identifierName": "length"
                    },
                    "name": "length"
                  },
                  {
                    "type": "Identifier",
                    "start": 5740,
                    "end": 5745,
                    "loc": {
                      "start": {
                        "line": 182,
                        "column": 25
                      },
                      "end": {
                        "line": 182,
                        "column": 30
                      },
                      "identifierName": "minus"
                    },
                    "name": "minus"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5746,
                  "end": 6053,
                  "loc": {
                    "start": {
                      "line": 182,
                      "column": 31
                    },
                    "end": {
                      "line": 189,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 5753,
                      "end": 6048,
                      "loc": {
                        "start": {
                          "line": 183,
                          "column": 4
                        },
                        "end": {
                          "line": 188,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 5756,
                        "end": 5761,
                        "loc": {
                          "start": {
                            "line": 183,
                            "column": 7
                          },
                          "end": {
                            "line": 183,
                            "column": 12
                          },
                          "identifierName": "minus"
                        },
                        "name": "minus"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 5762,
                        "end": 5931,
                        "loc": {
                          "start": {
                            "line": 183,
                            "column": 13
                          },
                          "end": {
                            "line": 186,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 5771,
                            "end": 5924,
                            "loc": {
                              "start": {
                                "line": 184,
                                "column": 6
                              },
                              "end": {
                                "line": 185,
                                "column": 102
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 5774,
                              "end": 5819,
                              "loc": {
                                "start": {
                                  "line": 184,
                                  "column": 9
                                },
                                "end": {
                                  "line": 184,
                                  "column": 54
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 5774,
                                "end": 5815,
                                "loc": {
                                  "start": {
                                    "line": 184,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 184,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 5774,
                                  "end": 5801,
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5774,
                                    "end": 5778,
                                    "loc": {
                                      "start": {
                                        "line": 184,
                                        "column": 9
                                      },
                                      "end": {
                                        "line": 184,
                                        "column": 13
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5779,
                                    "end": 5801,
                                    "loc": {
                                      "start": {
                                        "line": 184,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 184,
                                        "column": 36
                                      },
                                      "identifierName": "simpleKeyboardInstance"
                                    },
                                    "name": "simpleKeyboardInstance"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5802,
                                  "end": 5815,
                                  "loc": {
                                    "start": {
                                      "line": 184,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 184,
                                      "column": 50
                                    },
                                    "identifierName": "caretPosition"
                                  },
                                  "name": "caretPosition"
                                },
                                "computed": false
                              },
                              "operator": ">",
                              "right": {
                                "type": "NumericLiteral",
                                "start": 5818,
                                "end": 5819,
                                "loc": {
                                  "start": {
                                    "line": 184,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 184,
                                    "column": 54
                                  }
                                },
                                "extra": {
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "value": 0
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 5830,
                              "end": 5924,
                              "loc": {
                                "start": {
                                  "line": 185,
                                  "column": 8
                                },
                                "end": {
                                  "line": 185,
                                  "column": 102
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 5830,
                                "end": 5924,
                                "loc": {
                                  "start": {
                                    "line": 185,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 185,
                                    "column": 102
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 5830,
                                  "end": 5871,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 49
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 5830,
                                    "end": 5857,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 35
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 5830,
                                      "end": 5834,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5835,
                                      "end": 5857,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 35
                                        },
                                        "identifierName": "simpleKeyboardInstance"
                                      },
                                      "name": "simpleKeyboardInstance"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5858,
                                    "end": 5871,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 49
                                      },
                                      "identifierName": "caretPosition"
                                    },
                                    "name": "caretPosition"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 5874,
                                  "end": 5924,
                                  "loc": {
                                    "start": {
                                      "line": 185,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 185,
                                      "column": 102
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 5874,
                                    "end": 5915,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 93
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 5874,
                                      "end": 5901,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 79
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 5874,
                                        "end": 5878,
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 185,
                                            "column": 56
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 5879,
                                        "end": 5901,
                                        "loc": {
                                          "start": {
                                            "line": 185,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 185,
                                            "column": 79
                                          },
                                          "identifierName": "simpleKeyboardInstance"
                                        },
                                        "name": "simpleKeyboardInstance"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5902,
                                      "end": 5915,
                                      "loc": {
                                        "start": {
                                          "line": 185,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 185,
                                          "column": 93
                                        },
                                        "identifierName": "caretPosition"
                                      },
                                      "name": "caretPosition"
                                    },
                                    "computed": false
                                  },
                                  "operator": "-",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 5918,
                                    "end": 5924,
                                    "loc": {
                                      "start": {
                                        "line": 185,
                                        "column": 96
                                      },
                                      "end": {
                                        "line": 185,
                                        "column": 102
                                      },
                                      "identifierName": "length"
                                    },
                                    "name": "length"
                                  }
                                }
                              }
                            },
                            "alternate": null
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 5937,
                        "end": 6048,
                        "loc": {
                          "start": {
                            "line": 186,
                            "column": 11
                          },
                          "end": {
                            "line": 188,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 5946,
                            "end": 6041,
                            "loc": {
                              "start": {
                                "line": 187,
                                "column": 6
                              },
                              "end": {
                                "line": 187,
                                "column": 101
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 5946,
                              "end": 6040,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 6
                                },
                                "end": {
                                  "line": 187,
                                  "column": 100
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 5946,
                                "end": 5987,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 5946,
                                  "end": 5973,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5946,
                                    "end": 5950,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5951,
                                    "end": 5973,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 33
                                      },
                                      "identifierName": "simpleKeyboardInstance"
                                    },
                                    "name": "simpleKeyboardInstance"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5974,
                                  "end": 5987,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 47
                                    },
                                    "identifierName": "caretPosition"
                                  },
                                  "name": "caretPosition"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "BinaryExpression",
                                "start": 5990,
                                "end": 6040,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 100
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 5990,
                                  "end": 6031,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 91
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 5990,
                                    "end": 6017,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 77
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 5990,
                                      "end": 5994,
                                      "loc": {
                                        "start": {
                                          "line": 187,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 187,
                                          "column": 54
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 5995,
                                      "end": 6017,
                                      "loc": {
                                        "start": {
                                          "line": 187,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 187,
                                          "column": 77
                                        },
                                        "identifierName": "simpleKeyboardInstance"
                                      },
                                      "name": "simpleKeyboardInstance"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6018,
                                    "end": 6031,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 78
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 91
                                      },
                                      "identifierName": "caretPosition"
                                    },
                                    "name": "caretPosition"
                                  },
                                  "computed": false
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Identifier",
                                  "start": 6034,
                                  "end": 6040,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 94
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 100
                                    },
                                    "identifierName": "length"
                                  },
                                  "name": "length"
                                }
                              }
                            }
                          }
                        ],
                        "directives": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Moves the cursor position by a given amount\r\n   * \r\n   * @param  {number} length Represents by how many characters the input should be moved\r\n   * @param  {boolean} minus Whether the cursor should be moved to the left or not.\r\n   ",
                    "start": 5471,
                    "end": 5713,
                    "loc": {
                      "start": {
                        "line": 176,
                        "column": 2
                      },
                      "end": {
                        "line": 181,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Adds a string to the input at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {string} string The string to add\r\n   * @param  {number} position The (cursor) position where the string should be added\r\n   ",
                    "start": 6059,
                    "end": 6311,
                    "loc": {
                      "start": {
                        "line": 191,
                        "column": 2
                      },
                      "end": {
                        "line": 197,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 6315,
                "end": 6860,
                "loc": {
                  "start": {
                    "line": 198,
                    "column": 2
                  },
                  "end": {
                    "line": 220,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 6315,
                  "end": 6326,
                  "loc": {
                    "start": {
                      "line": 198,
                      "column": 2
                    },
                    "end": {
                      "line": 198,
                      "column": 13
                    },
                    "identifierName": "addStringAt"
                  },
                  "name": "addStringAt",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6327,
                    "end": 6333,
                    "loc": {
                      "start": {
                        "line": 198,
                        "column": 14
                      },
                      "end": {
                        "line": 198,
                        "column": 20
                      },
                      "identifierName": "source"
                    },
                    "name": "source"
                  },
                  {
                    "type": "Identifier",
                    "start": 6335,
                    "end": 6341,
                    "loc": {
                      "start": {
                        "line": 198,
                        "column": 22
                      },
                      "end": {
                        "line": 198,
                        "column": 28
                      },
                      "identifierName": "string"
                    },
                    "name": "string"
                  },
                  {
                    "type": "Identifier",
                    "start": 6343,
                    "end": 6351,
                    "loc": {
                      "start": {
                        "line": 198,
                        "column": 30
                      },
                      "end": {
                        "line": 198,
                        "column": 38
                      },
                      "identifierName": "position"
                    },
                    "name": "position"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6352,
                  "end": 6860,
                  "loc": {
                    "start": {
                      "line": 198,
                      "column": 39
                    },
                    "end": {
                      "line": 220,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 6359,
                      "end": 6370,
                      "loc": {
                        "start": {
                          "line": 199,
                          "column": 4
                        },
                        "end": {
                          "line": 199,
                          "column": 15
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6363,
                          "end": 6369,
                          "loc": {
                            "start": {
                              "line": 199,
                              "column": 8
                            },
                            "end": {
                              "line": 199,
                              "column": 14
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6363,
                            "end": 6369,
                            "loc": {
                              "start": {
                                "line": 199,
                                "column": 8
                              },
                              "end": {
                                "line": 199,
                                "column": 14
                              },
                              "identifierName": "output"
                            },
                            "name": "output"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 6378,
                      "end": 6474,
                      "loc": {
                        "start": {
                          "line": 201,
                          "column": 4
                        },
                        "end": {
                          "line": 203,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 6381,
                        "end": 6422,
                        "loc": {
                          "start": {
                            "line": 201,
                            "column": 7
                          },
                          "end": {
                            "line": 201,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 6381,
                          "end": 6416,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 7
                            },
                            "end": {
                              "line": 201,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 6381,
                            "end": 6408,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 7
                              },
                              "end": {
                                "line": 201,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 6381,
                              "end": 6385,
                              "loc": {
                                "start": {
                                  "line": 201,
                                  "column": 7
                                },
                                "end": {
                                  "line": 201,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 6386,
                              "end": 6408,
                              "loc": {
                                "start": {
                                  "line": 201,
                                  "column": 12
                                },
                                "end": {
                                  "line": 201,
                                  "column": 34
                                },
                                "identifierName": "simpleKeyboardInstance"
                              },
                              "name": "simpleKeyboardInstance"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 6409,
                            "end": 6416,
                            "loc": {
                              "start": {
                                "line": 201,
                                "column": 35
                              },
                              "end": {
                                "line": 201,
                                "column": 42
                              },
                              "identifierName": "options"
                            },
                            "name": "options"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 6417,
                          "end": 6422,
                          "loc": {
                            "start": {
                              "line": 201,
                              "column": 43
                            },
                            "end": {
                              "line": 201,
                              "column": 48
                            },
                            "identifierName": "debug"
                          },
                          "name": "debug"
                        },
                        "computed": false
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 6423,
                        "end": 6474,
                        "loc": {
                          "start": {
                            "line": 201,
                            "column": 49
                          },
                          "end": {
                            "line": 203,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 6432,
                            "end": 6467,
                            "loc": {
                              "start": {
                                "line": 202,
                                "column": 6
                              },
                              "end": {
                                "line": 202,
                                "column": 41
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 6432,
                              "end": 6466,
                              "loc": {
                                "start": {
                                  "line": 202,
                                  "column": 6
                                },
                                "end": {
                                  "line": 202,
                                  "column": 40
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6432,
                                "end": 6443,
                                "loc": {
                                  "start": {
                                    "line": 202,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 202,
                                    "column": 17
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 6432,
                                  "end": 6439,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 13
                                    },
                                    "identifierName": "console"
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6440,
                                  "end": 6443,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 17
                                    },
                                    "identifierName": "log"
                                  },
                                  "name": "log"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 6444,
                                  "end": 6455,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 29
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Caret at:",
                                    "raw": "\"Caret at:\""
                                  },
                                  "value": "Caret at:"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 6457,
                                  "end": 6465,
                                  "loc": {
                                    "start": {
                                      "line": 202,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 202,
                                      "column": 39
                                    },
                                    "identifierName": "position"
                                  },
                                  "name": "position"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 6482,
                      "end": 6833,
                      "loc": {
                        "start": {
                          "line": 205,
                          "column": 4
                        },
                        "end": {
                          "line": 217,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 6485,
                        "end": 6512,
                        "loc": {
                          "start": {
                            "line": 205,
                            "column": 7
                          },
                          "end": {
                            "line": 205,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 6485,
                          "end": 6494,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 7
                            },
                            "end": {
                              "line": 205,
                              "column": 16
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 6486,
                            "end": 6494,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 8
                              },
                              "end": {
                                "line": 205,
                                "column": 16
                              },
                              "identifierName": "position"
                            },
                            "name": "position"
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6498,
                          "end": 6512,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 20
                            },
                            "end": {
                              "line": 205,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 6498,
                            "end": 6506,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 20
                              },
                              "end": {
                                "line": 205,
                                "column": 28
                              },
                              "identifierName": "position"
                            },
                            "name": "position"
                          },
                          "operator": "!==",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 6511,
                            "end": 6512,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 33
                              },
                              "end": {
                                "line": 205,
                                "column": 34
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 6513,
                        "end": 6554,
                        "loc": {
                          "start": {
                            "line": 205,
                            "column": 35
                          },
                          "end": {
                            "line": 207,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 6522,
                            "end": 6547,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 6
                              },
                              "end": {
                                "line": 206,
                                "column": 31
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 6522,
                              "end": 6546,
                              "loc": {
                                "start": {
                                  "line": 206,
                                  "column": 6
                                },
                                "end": {
                                  "line": 206,
                                  "column": 30
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 6522,
                                "end": 6528,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 12
                                  },
                                  "identifierName": "output"
                                },
                                "name": "output"
                              },
                              "right": {
                                "type": "BinaryExpression",
                                "start": 6531,
                                "end": 6546,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 30
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 6531,
                                  "end": 6537,
                                  "loc": {
                                    "start": {
                                      "line": 206,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 206,
                                      "column": 21
                                    },
                                    "identifierName": "source"
                                  },
                                  "name": "source"
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Identifier",
                                  "start": 6540,
                                  "end": 6546,
                                  "loc": {
                                    "start": {
                                      "line": 206,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 206,
                                      "column": 30
                                    },
                                    "identifierName": "string"
                                  },
                                  "name": "string"
                                }
                              }
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 6560,
                        "end": 6833,
                        "loc": {
                          "start": {
                            "line": 207,
                            "column": 11
                          },
                          "end": {
                            "line": 217,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 6569,
                            "end": 6647,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 6
                              },
                              "end": {
                                "line": 208,
                                "column": 84
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 6569,
                              "end": 6646,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 6
                                },
                                "end": {
                                  "line": 208,
                                  "column": 83
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 6569,
                                "end": 6575,
                                "loc": {
                                  "start": {
                                    "line": 208,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 208,
                                    "column": 12
                                  },
                                  "identifierName": "output"
                                },
                                "name": "output"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 6578,
                                "end": 6646,
                                "loc": {
                                  "start": {
                                    "line": 208,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 208,
                                    "column": 83
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 6578,
                                  "end": 6642,
                                  "loc": {
                                    "start": {
                                      "line": 208,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 208,
                                      "column": 79
                                    }
                                  },
                                  "object": {
                                    "type": "ArrayExpression",
                                    "start": 6578,
                                    "end": 6637,
                                    "loc": {
                                      "start": {
                                        "line": 208,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 208,
                                        "column": 74
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "CallExpression",
                                        "start": 6579,
                                        "end": 6604,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 41
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 6579,
                                          "end": 6591,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 28
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 6579,
                                            "end": 6585,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 22
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6586,
                                            "end": 6591,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 28
                                              },
                                              "identifierName": "slice"
                                            },
                                            "name": "slice"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "NumericLiteral",
                                            "start": 6592,
                                            "end": 6593,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 30
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            "value": 0
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 6595,
                                            "end": 6603,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 40
                                              },
                                              "identifierName": "position"
                                            },
                                            "name": "position"
                                          }
                                        ]
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 6606,
                                        "end": 6612,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 49
                                          },
                                          "identifierName": "string"
                                        },
                                        "name": "string"
                                      },
                                      {
                                        "type": "CallExpression",
                                        "start": 6614,
                                        "end": 6636,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 73
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 6614,
                                          "end": 6626,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 63
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 6614,
                                            "end": 6620,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 57
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6621,
                                            "end": 6626,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 63
                                              },
                                              "identifierName": "slice"
                                            },
                                            "name": "slice"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 6627,
                                            "end": 6635,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 64
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 72
                                              },
                                              "identifierName": "position"
                                            },
                                            "name": "position"
                                          }
                                        ]
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6638,
                                    "end": 6642,
                                    "loc": {
                                      "start": {
                                        "line": 208,
                                        "column": 75
                                      },
                                      "end": {
                                        "line": 208,
                                        "column": 79
                                      },
                                      "identifierName": "join"
                                    },
                                    "name": "join"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 6643,
                                    "end": 6645,
                                    "loc": {
                                      "start": {
                                        "line": 208,
                                        "column": 80
                                      },
                                      "end": {
                                        "line": 208,
                                        "column": 82
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "",
                                      "raw": "''"
                                    },
                                    "value": ""
                                  }
                                ]
                              }
                            },
                            "trailingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "*\r\n       * Avoid caret position change when maxLength is set\r\n       ",
                                "start": 6657,
                                "end": 6731,
                                "loc": {
                                  "start": {
                                    "line": 210,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 9
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 6739,
                            "end": 6824,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 6
                              },
                              "end": {
                                "line": 215,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 6742,
                              "end": 6768,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 9
                                },
                                "end": {
                                  "line": 213,
                                  "column": 35
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "CallExpression",
                                "start": 6743,
                                "end": 6768,
                                "loc": {
                                  "start": {
                                    "line": 213,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 213,
                                    "column": 35
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 6743,
                                  "end": 6766,
                                  "loc": {
                                    "start": {
                                      "line": 213,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 213,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 6743,
                                    "end": 6747,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 14
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6748,
                                    "end": 6766,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 33
                                      },
                                      "identifierName": "isMaxLengthReached"
                                    },
                                    "name": "isMaxLengthReached"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "arguments": [],
                                "leadingComments": null
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              },
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 6769,
                              "end": 6824,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 36
                                },
                                "end": {
                                  "line": 215,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 6780,
                                  "end": 6815,
                                  "loc": {
                                    "start": {
                                      "line": 214,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 214,
                                      "column": 43
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 6780,
                                    "end": 6814,
                                    "loc": {
                                      "start": {
                                        "line": 214,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 214,
                                        "column": 42
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 6780,
                                      "end": 6799,
                                      "loc": {
                                        "start": {
                                          "line": 214,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 214,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 6780,
                                        "end": 6784,
                                        "loc": {
                                          "start": {
                                            "line": 214,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 214,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 6785,
                                        "end": 6799,
                                        "loc": {
                                          "start": {
                                            "line": 214,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 214,
                                            "column": 27
                                          },
                                          "identifierName": "updateCaretPos"
                                        },
                                        "name": "updateCaretPos"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 6800,
                                        "end": 6813,
                                        "loc": {
                                          "start": {
                                            "line": 214,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 214,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 6800,
                                          "end": 6806,
                                          "loc": {
                                            "start": {
                                              "line": 214,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 214,
                                              "column": 34
                                            },
                                            "identifierName": "string"
                                          },
                                          "name": "string"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6807,
                                          "end": 6813,
                                          "loc": {
                                            "start": {
                                              "line": 214,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 214,
                                              "column": 41
                                            },
                                            "identifierName": "length"
                                          },
                                          "name": "length"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "*\r\n       * Avoid caret position change when maxLength is set\r\n       ",
                                "start": 6657,
                                "end": 6731,
                                "loc": {
                                  "start": {
                                    "line": 210,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 9
                                  }
                                }
                              }
                            ]
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 6841,
                      "end": 6855,
                      "loc": {
                        "start": {
                          "line": 219,
                          "column": 4
                        },
                        "end": {
                          "line": 219,
                          "column": 18
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 6848,
                        "end": 6854,
                        "loc": {
                          "start": {
                            "line": 219,
                            "column": 11
                          },
                          "end": {
                            "line": 219,
                            "column": 17
                          },
                          "identifierName": "output"
                        },
                        "name": "output"
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Adds a string to the input at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {string} string The string to add\r\n   * @param  {number} position The (cursor) position where the string should be added\r\n   ",
                    "start": 6059,
                    "end": 6311,
                    "loc": {
                      "start": {
                        "line": 191,
                        "column": 2
                      },
                      "end": {
                        "line": 197,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Removes an amount of characters at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {number} position The (cursor) position from where the characters should be removed\r\n   ",
                    "start": 6866,
                    "end": 7086,
                    "loc": {
                      "start": {
                        "line": 222,
                        "column": 2
                      },
                      "end": {
                        "line": 227,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 7090,
                "end": 8320,
                "loc": {
                  "start": {
                    "line": 228,
                    "column": 2
                  },
                  "end": {
                    "line": 267,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 7090,
                  "end": 7098,
                  "loc": {
                    "start": {
                      "line": 228,
                      "column": 2
                    },
                    "end": {
                      "line": 228,
                      "column": 10
                    },
                    "identifierName": "removeAt"
                  },
                  "name": "removeAt",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 7099,
                    "end": 7105,
                    "loc": {
                      "start": {
                        "line": 228,
                        "column": 11
                      },
                      "end": {
                        "line": 228,
                        "column": 17
                      },
                      "identifierName": "source"
                    },
                    "name": "source"
                  },
                  {
                    "type": "Identifier",
                    "start": 7107,
                    "end": 7115,
                    "loc": {
                      "start": {
                        "line": 228,
                        "column": 19
                      },
                      "end": {
                        "line": 228,
                        "column": 27
                      },
                      "identifierName": "position"
                    },
                    "name": "position"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7116,
                  "end": 8320,
                  "loc": {
                    "start": {
                      "line": 228,
                      "column": 28
                    },
                    "end": {
                      "line": 267,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 7123,
                      "end": 7204,
                      "loc": {
                        "start": {
                          "line": 229,
                          "column": 4
                        },
                        "end": {
                          "line": 231,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 7126,
                        "end": 7173,
                        "loc": {
                          "start": {
                            "line": 229,
                            "column": 7
                          },
                          "end": {
                            "line": 229,
                            "column": 54
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 7126,
                          "end": 7167,
                          "loc": {
                            "start": {
                              "line": 229,
                              "column": 7
                            },
                            "end": {
                              "line": 229,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7126,
                            "end": 7153,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 7
                              },
                              "end": {
                                "line": 229,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7126,
                              "end": 7130,
                              "loc": {
                                "start": {
                                  "line": 229,
                                  "column": 7
                                },
                                "end": {
                                  "line": 229,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7131,
                              "end": 7153,
                              "loc": {
                                "start": {
                                  "line": 229,
                                  "column": 12
                                },
                                "end": {
                                  "line": 229,
                                  "column": 34
                                },
                                "identifierName": "simpleKeyboardInstance"
                              },
                              "name": "simpleKeyboardInstance"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7154,
                            "end": 7167,
                            "loc": {
                              "start": {
                                "line": 229,
                                "column": 35
                              },
                              "end": {
                                "line": 229,
                                "column": 48
                              },
                              "identifierName": "caretPosition"
                            },
                            "name": "caretPosition"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 7172,
                          "end": 7173,
                          "loc": {
                            "start": {
                              "line": 229,
                              "column": 53
                            },
                            "end": {
                              "line": 229,
                              "column": 54
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7174,
                        "end": 7204,
                        "loc": {
                          "start": {
                            "line": 229,
                            "column": 55
                          },
                          "end": {
                            "line": 231,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 7183,
                            "end": 7197,
                            "loc": {
                              "start": {
                                "line": 230,
                                "column": 6
                              },
                              "end": {
                                "line": 230,
                                "column": 20
                              }
                            },
                            "argument": {
                              "type": "Identifier",
                              "start": 7190,
                              "end": 7196,
                              "loc": {
                                "start": {
                                  "line": 230,
                                  "column": 13
                                },
                                "end": {
                                  "line": 230,
                                  "column": 19
                                },
                                "identifierName": "source"
                              },
                              "name": "source"
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7212,
                      "end": 7223,
                      "loc": {
                        "start": {
                          "line": 233,
                          "column": 4
                        },
                        "end": {
                          "line": 233,
                          "column": 15
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7216,
                          "end": 7222,
                          "loc": {
                            "start": {
                              "line": 233,
                              "column": 8
                            },
                            "end": {
                              "line": 233,
                              "column": 14
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7216,
                            "end": 7222,
                            "loc": {
                              "start": {
                                "line": 233,
                                "column": 8
                              },
                              "end": {
                                "line": 233,
                                "column": 14
                              },
                              "identifierName": "output"
                            },
                            "name": "output"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7229,
                      "end": 7246,
                      "loc": {
                        "start": {
                          "line": 234,
                          "column": 4
                        },
                        "end": {
                          "line": 234,
                          "column": 21
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7233,
                          "end": 7245,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 8
                            },
                            "end": {
                              "line": 234,
                              "column": 20
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7233,
                            "end": 7245,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 8
                              },
                              "end": {
                                "line": 234,
                                "column": 20
                              },
                              "identifierName": "prevTwoChars"
                            },
                            "name": "prevTwoChars"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7252,
                      "end": 7269,
                      "loc": {
                        "start": {
                          "line": 235,
                          "column": 4
                        },
                        "end": {
                          "line": 235,
                          "column": 21
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7256,
                          "end": 7268,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 8
                            },
                            "end": {
                              "line": 235,
                              "column": 20
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7256,
                            "end": 7268,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 8
                              },
                              "end": {
                                "line": 235,
                                "column": 20
                              },
                              "identifierName": "emojiMatched"
                            },
                            "name": "emojiMatched"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7275,
                      "end": 7333,
                      "loc": {
                        "start": {
                          "line": 236,
                          "column": 4
                        },
                        "end": {
                          "line": 236,
                          "column": 62
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7279,
                          "end": 7332,
                          "loc": {
                            "start": {
                              "line": 236,
                              "column": 8
                            },
                            "end": {
                              "line": 236,
                              "column": 61
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7279,
                            "end": 7294,
                            "loc": {
                              "start": {
                                "line": 236,
                                "column": 8
                              },
                              "end": {
                                "line": 236,
                                "column": 23
                              },
                              "identifierName": "emojiMatchedReg"
                            },
                            "name": "emojiMatchedReg"
                          },
                          "init": {
                            "type": "RegExpLiteral",
                            "start": 7297,
                            "end": 7332,
                            "loc": {
                              "start": {
                                "line": 236,
                                "column": 26
                              },
                              "end": {
                                "line": 236,
                                "column": 61
                              }
                            },
                            "extra": {
                              "raw": "/([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g"
                            },
                            "pattern": "([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])",
                            "flags": "g"
                          }
                        }
                      ],
                      "kind": "let",
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Emojis are made out of two characters, so we must take a custom approach to trim them.\r\n     * For more info: https://mathiasbynens.be/notes/javascript-unicode\r\n     ",
                          "start": 7341,
                          "end": 7521,
                          "loc": {
                            "start": {
                              "line": 238,
                              "column": 4
                            },
                            "end": {
                              "line": 241,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 7527,
                      "end": 8293,
                      "loc": {
                        "start": {
                          "line": 242,
                          "column": 4
                        },
                        "end": {
                          "line": 264,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 7530,
                        "end": 7555,
                        "loc": {
                          "start": {
                            "line": 242,
                            "column": 7
                          },
                          "end": {
                            "line": 242,
                            "column": 32
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 7530,
                          "end": 7538,
                          "loc": {
                            "start": {
                              "line": 242,
                              "column": 7
                            },
                            "end": {
                              "line": 242,
                              "column": 15
                            },
                            "identifierName": "position"
                          },
                          "name": "position",
                          "leadingComments": null
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 7542,
                          "end": 7555,
                          "loc": {
                            "start": {
                              "line": 242,
                              "column": 19
                            },
                            "end": {
                              "line": 242,
                              "column": 32
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 7542,
                            "end": 7550,
                            "loc": {
                              "start": {
                                "line": 242,
                                "column": 19
                              },
                              "end": {
                                "line": 242,
                                "column": 27
                              },
                              "identifierName": "position"
                            },
                            "name": "position"
                          },
                          "operator": ">=",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 7554,
                            "end": 7555,
                            "loc": {
                              "start": {
                                "line": 242,
                                "column": 31
                              },
                              "end": {
                                "line": 242,
                                "column": 32
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7556,
                        "end": 7972,
                        "loc": {
                          "start": {
                            "line": 242,
                            "column": 33
                          },
                          "end": {
                            "line": 253,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7565,
                            "end": 7620,
                            "loc": {
                              "start": {
                                "line": 243,
                                "column": 6
                              },
                              "end": {
                                "line": 243,
                                "column": 61
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7565,
                              "end": 7620,
                              "loc": {
                                "start": {
                                  "line": 243,
                                  "column": 6
                                },
                                "end": {
                                  "line": 243,
                                  "column": 61
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 7565,
                                "end": 7577,
                                "loc": {
                                  "start": {
                                    "line": 243,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 243,
                                    "column": 18
                                  },
                                  "identifierName": "prevTwoChars"
                                },
                                "name": "prevTwoChars"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 7580,
                                "end": 7620,
                                "loc": {
                                  "start": {
                                    "line": 243,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 243,
                                    "column": 61
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7580,
                                  "end": 7596,
                                  "loc": {
                                    "start": {
                                      "line": 243,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 243,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7580,
                                    "end": 7586,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 27
                                      },
                                      "identifierName": "source"
                                    },
                                    "name": "source"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7587,
                                    "end": 7596,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 37
                                      },
                                      "identifierName": "substring"
                                    },
                                    "name": "substring"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "BinaryExpression",
                                    "start": 7597,
                                    "end": 7609,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 50
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 7597,
                                      "end": 7605,
                                      "loc": {
                                        "start": {
                                          "line": 243,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 243,
                                          "column": 46
                                        },
                                        "identifierName": "position"
                                      },
                                      "name": "position"
                                    },
                                    "operator": "-",
                                    "right": {
                                      "type": "NumericLiteral",
                                      "start": 7608,
                                      "end": 7609,
                                      "loc": {
                                        "start": {
                                          "line": 243,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 243,
                                          "column": 50
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 2,
                                        "raw": "2"
                                      },
                                      "value": 2
                                    }
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 7611,
                                    "end": 7619,
                                    "loc": {
                                      "start": {
                                        "line": 243,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 243,
                                        "column": 60
                                      },
                                      "identifierName": "position"
                                    },
                                    "name": "position"
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 7628,
                            "end": 7679,
                            "loc": {
                              "start": {
                                "line": 244,
                                "column": 6
                              },
                              "end": {
                                "line": 244,
                                "column": 57
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7628,
                              "end": 7678,
                              "loc": {
                                "start": {
                                  "line": 244,
                                  "column": 6
                                },
                                "end": {
                                  "line": 244,
                                  "column": 56
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 7628,
                                "end": 7640,
                                "loc": {
                                  "start": {
                                    "line": 244,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 244,
                                    "column": 18
                                  },
                                  "identifierName": "emojiMatched"
                                },
                                "name": "emojiMatched"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 7643,
                                "end": 7678,
                                "loc": {
                                  "start": {
                                    "line": 244,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 244,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7643,
                                  "end": 7661,
                                  "loc": {
                                    "start": {
                                      "line": 244,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 244,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7643,
                                    "end": 7655,
                                    "loc": {
                                      "start": {
                                        "line": 244,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 244,
                                        "column": 33
                                      },
                                      "identifierName": "prevTwoChars"
                                    },
                                    "name": "prevTwoChars"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 7656,
                                    "end": 7661,
                                    "loc": {
                                      "start": {
                                        "line": 244,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 244,
                                        "column": 39
                                      },
                                      "identifierName": "match"
                                    },
                                    "name": "match"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 7662,
                                    "end": 7677,
                                    "loc": {
                                      "start": {
                                        "line": 244,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 244,
                                        "column": 55
                                      },
                                      "identifierName": "emojiMatchedReg"
                                    },
                                    "name": "emojiMatchedReg"
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 7689,
                            "end": 7965,
                            "loc": {
                              "start": {
                                "line": 246,
                                "column": 6
                              },
                              "end": {
                                "line": 252,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 7692,
                              "end": 7704,
                              "loc": {
                                "start": {
                                  "line": 246,
                                  "column": 9
                                },
                                "end": {
                                  "line": 246,
                                  "column": 21
                                },
                                "identifierName": "emojiMatched"
                              },
                              "name": "emojiMatched"
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 7705,
                              "end": 7832,
                              "loc": {
                                "start": {
                                  "line": 246,
                                  "column": 22
                                },
                                "end": {
                                  "line": 249,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 7716,
                                  "end": 7784,
                                  "loc": {
                                    "start": {
                                      "line": 247,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 247,
                                      "column": 76
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 7716,
                                    "end": 7783,
                                    "loc": {
                                      "start": {
                                        "line": 247,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 247,
                                        "column": 75
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 7716,
                                      "end": 7722,
                                      "loc": {
                                        "start": {
                                          "line": 247,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 247,
                                          "column": 14
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 7725,
                                      "end": 7783,
                                      "loc": {
                                        "start": {
                                          "line": 247,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 247,
                                          "column": 75
                                        }
                                      },
                                      "left": {
                                        "type": "CallExpression",
                                        "start": 7725,
                                        "end": 7757,
                                        "loc": {
                                          "start": {
                                            "line": 247,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 247,
                                            "column": 49
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 7725,
                                          "end": 7738,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 7725,
                                            "end": 7731,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 23
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 7732,
                                            "end": 7738,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 30
                                              },
                                              "identifierName": "substr"
                                            },
                                            "name": "substr"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "NumericLiteral",
                                            "start": 7739,
                                            "end": 7740,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 32
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            "value": 0
                                          },
                                          {
                                            "type": "BinaryExpression",
                                            "start": 7743,
                                            "end": 7755,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 47
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 7743,
                                              "end": 7751,
                                              "loc": {
                                                "start": {
                                                  "line": 247,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 247,
                                                  "column": 43
                                                },
                                                "identifierName": "position"
                                              },
                                              "name": "position"
                                            },
                                            "operator": "-",
                                            "right": {
                                              "type": "NumericLiteral",
                                              "start": 7754,
                                              "end": 7755,
                                              "loc": {
                                                "start": {
                                                  "line": 247,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 247,
                                                  "column": 47
                                                }
                                              },
                                              "extra": {
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "value": 2
                                            },
                                            "extra": {
                                              "parenthesized": true,
                                              "parenStart": 7742
                                            }
                                          }
                                        ]
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 7760,
                                        "end": 7783,
                                        "loc": {
                                          "start": {
                                            "line": 247,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 247,
                                            "column": 75
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 7760,
                                          "end": 7773,
                                          "loc": {
                                            "start": {
                                              "line": 247,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 247,
                                              "column": 65
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 7760,
                                            "end": 7766,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 58
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 7767,
                                            "end": 7773,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 59
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 65
                                              },
                                              "identifierName": "substr"
                                            },
                                            "name": "substr"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 7774,
                                            "end": 7782,
                                            "loc": {
                                              "start": {
                                                "line": 247,
                                                "column": 66
                                              },
                                              "end": {
                                                "line": 247,
                                                "column": 74
                                              },
                                              "identifierName": "position"
                                            },
                                            "name": "position"
                                          }
                                        ]
                                      }
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 7794,
                                  "end": 7823,
                                  "loc": {
                                    "start": {
                                      "line": 248,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 248,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 7794,
                                    "end": 7822,
                                    "loc": {
                                      "start": {
                                        "line": 248,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 248,
                                        "column": 36
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 7794,
                                      "end": 7813,
                                      "loc": {
                                        "start": {
                                          "line": 248,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 248,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 7794,
                                        "end": 7798,
                                        "loc": {
                                          "start": {
                                            "line": 248,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 248,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7799,
                                        "end": 7813,
                                        "loc": {
                                          "start": {
                                            "line": 248,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 248,
                                            "column": 27
                                          },
                                          "identifierName": "updateCaretPos"
                                        },
                                        "name": "updateCaretPos"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 7814,
                                        "end": 7815,
                                        "loc": {
                                          "start": {
                                            "line": 248,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 248,
                                            "column": 29
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 2,
                                          "raw": "2"
                                        },
                                        "value": 2
                                      },
                                      {
                                        "type": "BooleanLiteral",
                                        "start": 7817,
                                        "end": 7821,
                                        "loc": {
                                          "start": {
                                            "line": 248,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 248,
                                            "column": 35
                                          }
                                        },
                                        "value": true
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "start": 7838,
                              "end": 7965,
                              "loc": {
                                "start": {
                                  "line": 249,
                                  "column": 13
                                },
                                "end": {
                                  "line": 252,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 7849,
                                  "end": 7917,
                                  "loc": {
                                    "start": {
                                      "line": 250,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 250,
                                      "column": 76
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 7849,
                                    "end": 7916,
                                    "loc": {
                                      "start": {
                                        "line": 250,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 250,
                                        "column": 75
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 7849,
                                      "end": 7855,
                                      "loc": {
                                        "start": {
                                          "line": 250,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 250,
                                          "column": 14
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 7858,
                                      "end": 7916,
                                      "loc": {
                                        "start": {
                                          "line": 250,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 250,
                                          "column": 75
                                        }
                                      },
                                      "left": {
                                        "type": "CallExpression",
                                        "start": 7858,
                                        "end": 7890,
                                        "loc": {
                                          "start": {
                                            "line": 250,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 250,
                                            "column": 49
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 7858,
                                          "end": 7871,
                                          "loc": {
                                            "start": {
                                              "line": 250,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 250,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 7858,
                                            "end": 7864,
                                            "loc": {
                                              "start": {
                                                "line": 250,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 250,
                                                "column": 23
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 7865,
                                            "end": 7871,
                                            "loc": {
                                              "start": {
                                                "line": 250,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 250,
                                                "column": 30
                                              },
                                              "identifierName": "substr"
                                            },
                                            "name": "substr"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "NumericLiteral",
                                            "start": 7872,
                                            "end": 7873,
                                            "loc": {
                                              "start": {
                                                "line": 250,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 250,
                                                "column": 32
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            "value": 0
                                          },
                                          {
                                            "type": "BinaryExpression",
                                            "start": 7876,
                                            "end": 7888,
                                            "loc": {
                                              "start": {
                                                "line": 250,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 250,
                                                "column": 47
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 7876,
                                              "end": 7884,
                                              "loc": {
                                                "start": {
                                                  "line": 250,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 250,
                                                  "column": 43
                                                },
                                                "identifierName": "position"
                                              },
                                              "name": "position"
                                            },
                                            "operator": "-",
                                            "right": {
                                              "type": "NumericLiteral",
                                              "start": 7887,
                                              "end": 7888,
                                              "loc": {
                                                "start": {
                                                  "line": 250,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 250,
                                                  "column": 47
                                                }
                                              },
                                              "extra": {
                                                "rawValue": 1,
                                                "raw": "1"
                                              },
                                              "value": 1
                                            },
                                            "extra": {
                                              "parenthesized": true,
                                              "parenStart": 7875
                                            }
                                          }
                                        ]
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 7893,
                                        "end": 7916,
                                        "loc": {
                                          "start": {
                                            "line": 250,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 250,
                                            "column": 75
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 7893,
                                          "end": 7906,
                                          "loc": {
                                            "start": {
                                              "line": 250,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 250,
                                              "column": 65
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 7893,
                                            "end": 7899,
                                            "loc": {
                                              "start": {
                                                "line": 250,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 250,
                                                "column": 58
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 7900,
                                            "end": 7906,
                                            "loc": {
                                              "start": {
                                                "line": 250,
                                                "column": 59
                                              },
                                              "end": {
                                                "line": 250,
                                                "column": 65
                                              },
                                              "identifierName": "substr"
                                            },
                                            "name": "substr"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 7907,
                                            "end": 7915,
                                            "loc": {
                                              "start": {
                                                "line": 250,
                                                "column": 66
                                              },
                                              "end": {
                                                "line": 250,
                                                "column": 74
                                              },
                                              "identifierName": "position"
                                            },
                                            "name": "position"
                                          }
                                        ]
                                      }
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 7927,
                                  "end": 7956,
                                  "loc": {
                                    "start": {
                                      "line": 251,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 251,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 7927,
                                    "end": 7955,
                                    "loc": {
                                      "start": {
                                        "line": 251,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 251,
                                        "column": 36
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 7927,
                                      "end": 7946,
                                      "loc": {
                                        "start": {
                                          "line": 251,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 251,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 7927,
                                        "end": 7931,
                                        "loc": {
                                          "start": {
                                            "line": 251,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 251,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 7932,
                                        "end": 7946,
                                        "loc": {
                                          "start": {
                                            "line": 251,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 251,
                                            "column": 27
                                          },
                                          "identifierName": "updateCaretPos"
                                        },
                                        "name": "updateCaretPos"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 7947,
                                        "end": 7948,
                                        "loc": {
                                          "start": {
                                            "line": 251,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 251,
                                            "column": 29
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "value": 1
                                      },
                                      {
                                        "type": "BooleanLiteral",
                                        "start": 7950,
                                        "end": 7954,
                                        "loc": {
                                          "start": {
                                            "line": 251,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 251,
                                            "column": 35
                                          }
                                        },
                                        "value": true
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 7978,
                        "end": 8293,
                        "loc": {
                          "start": {
                            "line": 253,
                            "column": 11
                          },
                          "end": {
                            "line": 264,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7987,
                            "end": 8019,
                            "loc": {
                              "start": {
                                "line": 254,
                                "column": 6
                              },
                              "end": {
                                "line": 254,
                                "column": 38
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7987,
                              "end": 8018,
                              "loc": {
                                "start": {
                                  "line": 254,
                                  "column": 6
                                },
                                "end": {
                                  "line": 254,
                                  "column": 37
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 7987,
                                "end": 7999,
                                "loc": {
                                  "start": {
                                    "line": 254,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 254,
                                    "column": 18
                                  },
                                  "identifierName": "prevTwoChars"
                                },
                                "name": "prevTwoChars"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 8002,
                                "end": 8018,
                                "loc": {
                                  "start": {
                                    "line": 254,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 254,
                                    "column": 37
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 8002,
                                  "end": 8014,
                                  "loc": {
                                    "start": {
                                      "line": 254,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 254,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8002,
                                    "end": 8008,
                                    "loc": {
                                      "start": {
                                        "line": 254,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 254,
                                        "column": 27
                                      },
                                      "identifierName": "source"
                                    },
                                    "name": "source"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8009,
                                    "end": 8014,
                                    "loc": {
                                      "start": {
                                        "line": 254,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 254,
                                        "column": 33
                                      },
                                      "identifierName": "slice"
                                    },
                                    "name": "slice"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "UnaryExpression",
                                    "start": 8015,
                                    "end": 8017,
                                    "loc": {
                                      "start": {
                                        "line": 254,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 254,
                                        "column": 36
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "NumericLiteral",
                                      "start": 8016,
                                      "end": 8017,
                                      "loc": {
                                        "start": {
                                          "line": 254,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 254,
                                          "column": 36
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 2,
                                        "raw": "2"
                                      },
                                      "value": 2
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 8027,
                            "end": 8078,
                            "loc": {
                              "start": {
                                "line": 255,
                                "column": 6
                              },
                              "end": {
                                "line": 255,
                                "column": 57
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 8027,
                              "end": 8077,
                              "loc": {
                                "start": {
                                  "line": 255,
                                  "column": 6
                                },
                                "end": {
                                  "line": 255,
                                  "column": 56
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 8027,
                                "end": 8039,
                                "loc": {
                                  "start": {
                                    "line": 255,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 255,
                                    "column": 18
                                  },
                                  "identifierName": "emojiMatched"
                                },
                                "name": "emojiMatched"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 8042,
                                "end": 8077,
                                "loc": {
                                  "start": {
                                    "line": 255,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 255,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 8042,
                                  "end": 8060,
                                  "loc": {
                                    "start": {
                                      "line": 255,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 255,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8042,
                                    "end": 8054,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 33
                                      },
                                      "identifierName": "prevTwoChars"
                                    },
                                    "name": "prevTwoChars"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8055,
                                    "end": 8060,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 39
                                      },
                                      "identifierName": "match"
                                    },
                                    "name": "match"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 8061,
                                    "end": 8076,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 55
                                      },
                                      "identifierName": "emojiMatchedReg"
                                    },
                                    "name": "emojiMatchedReg"
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 8088,
                            "end": 8286,
                            "loc": {
                              "start": {
                                "line": 257,
                                "column": 6
                              },
                              "end": {
                                "line": 263,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 8091,
                              "end": 8103,
                              "loc": {
                                "start": {
                                  "line": 257,
                                  "column": 9
                                },
                                "end": {
                                  "line": 257,
                                  "column": 21
                                },
                                "identifierName": "emojiMatched"
                              },
                              "name": "emojiMatched"
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 8104,
                              "end": 8192,
                              "loc": {
                                "start": {
                                  "line": 257,
                                  "column": 22
                                },
                                "end": {
                                  "line": 260,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8115,
                                  "end": 8144,
                                  "loc": {
                                    "start": {
                                      "line": 258,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 258,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8115,
                                    "end": 8143,
                                    "loc": {
                                      "start": {
                                        "line": 258,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 258,
                                        "column": 36
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8115,
                                      "end": 8121,
                                      "loc": {
                                        "start": {
                                          "line": 258,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 258,
                                          "column": 14
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 8124,
                                      "end": 8143,
                                      "loc": {
                                        "start": {
                                          "line": 258,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 258,
                                          "column": 36
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8124,
                                        "end": 8136,
                                        "loc": {
                                          "start": {
                                            "line": 258,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 258,
                                            "column": 29
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8124,
                                          "end": 8130,
                                          "loc": {
                                            "start": {
                                              "line": 258,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 258,
                                              "column": 23
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8131,
                                          "end": 8136,
                                          "loc": {
                                            "start": {
                                              "line": 258,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 258,
                                              "column": 29
                                            },
                                            "identifierName": "slice"
                                          },
                                          "name": "slice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 8137,
                                          "end": 8138,
                                          "loc": {
                                            "start": {
                                              "line": 258,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 258,
                                              "column": 31
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 0,
                                            "raw": "0"
                                          },
                                          "value": 0
                                        },
                                        {
                                          "type": "UnaryExpression",
                                          "start": 8140,
                                          "end": 8142,
                                          "loc": {
                                            "start": {
                                              "line": 258,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 258,
                                              "column": 35
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "NumericLiteral",
                                            "start": 8141,
                                            "end": 8142,
                                            "loc": {
                                              "start": {
                                                "line": 258,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 258,
                                                "column": 35
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 2,
                                              "raw": "2"
                                            },
                                            "value": 2
                                          },
                                          "extra": {
                                            "parenthesizedArgument": false
                                          }
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8154,
                                  "end": 8183,
                                  "loc": {
                                    "start": {
                                      "line": 259,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 259,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 8154,
                                    "end": 8182,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 36
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8154,
                                      "end": 8173,
                                      "loc": {
                                        "start": {
                                          "line": 259,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 259,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8154,
                                        "end": 8158,
                                        "loc": {
                                          "start": {
                                            "line": 259,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 259,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8159,
                                        "end": 8173,
                                        "loc": {
                                          "start": {
                                            "line": 259,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 259,
                                            "column": 27
                                          },
                                          "identifierName": "updateCaretPos"
                                        },
                                        "name": "updateCaretPos"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 8174,
                                        "end": 8175,
                                        "loc": {
                                          "start": {
                                            "line": 259,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 259,
                                            "column": 29
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 2,
                                          "raw": "2"
                                        },
                                        "value": 2
                                      },
                                      {
                                        "type": "BooleanLiteral",
                                        "start": 8177,
                                        "end": 8181,
                                        "loc": {
                                          "start": {
                                            "line": 259,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 259,
                                            "column": 35
                                          }
                                        },
                                        "value": true
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "start": 8198,
                              "end": 8286,
                              "loc": {
                                "start": {
                                  "line": 260,
                                  "column": 13
                                },
                                "end": {
                                  "line": 263,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8209,
                                  "end": 8238,
                                  "loc": {
                                    "start": {
                                      "line": 261,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 261,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8209,
                                    "end": 8237,
                                    "loc": {
                                      "start": {
                                        "line": 261,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 261,
                                        "column": 36
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8209,
                                      "end": 8215,
                                      "loc": {
                                        "start": {
                                          "line": 261,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 261,
                                          "column": 14
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 8218,
                                      "end": 8237,
                                      "loc": {
                                        "start": {
                                          "line": 261,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 261,
                                          "column": 36
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8218,
                                        "end": 8230,
                                        "loc": {
                                          "start": {
                                            "line": 261,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 261,
                                            "column": 29
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8218,
                                          "end": 8224,
                                          "loc": {
                                            "start": {
                                              "line": 261,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 261,
                                              "column": 23
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8225,
                                          "end": 8230,
                                          "loc": {
                                            "start": {
                                              "line": 261,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 261,
                                              "column": 29
                                            },
                                            "identifierName": "slice"
                                          },
                                          "name": "slice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 8231,
                                          "end": 8232,
                                          "loc": {
                                            "start": {
                                              "line": 261,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 261,
                                              "column": 31
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 0,
                                            "raw": "0"
                                          },
                                          "value": 0
                                        },
                                        {
                                          "type": "UnaryExpression",
                                          "start": 8234,
                                          "end": 8236,
                                          "loc": {
                                            "start": {
                                              "line": 261,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 261,
                                              "column": 35
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "NumericLiteral",
                                            "start": 8235,
                                            "end": 8236,
                                            "loc": {
                                              "start": {
                                                "line": 261,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 261,
                                                "column": 35
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 1,
                                              "raw": "1"
                                            },
                                            "value": 1
                                          },
                                          "extra": {
                                            "parenthesizedArgument": false
                                          }
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8248,
                                  "end": 8277,
                                  "loc": {
                                    "start": {
                                      "line": 262,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 262,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 8248,
                                    "end": 8276,
                                    "loc": {
                                      "start": {
                                        "line": 262,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 262,
                                        "column": 36
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8248,
                                      "end": 8267,
                                      "loc": {
                                        "start": {
                                          "line": 262,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 262,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8248,
                                        "end": 8252,
                                        "loc": {
                                          "start": {
                                            "line": 262,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 262,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8253,
                                        "end": 8267,
                                        "loc": {
                                          "start": {
                                            "line": 262,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 262,
                                            "column": 27
                                          },
                                          "identifierName": "updateCaretPos"
                                        },
                                        "name": "updateCaretPos"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 8268,
                                        "end": 8269,
                                        "loc": {
                                          "start": {
                                            "line": 262,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 262,
                                            "column": 29
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "value": 1
                                      },
                                      {
                                        "type": "BooleanLiteral",
                                        "start": 8271,
                                        "end": 8275,
                                        "loc": {
                                          "start": {
                                            "line": 262,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 262,
                                            "column": 35
                                          }
                                        },
                                        "value": true
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Emojis are made out of two characters, so we must take a custom approach to trim them.\r\n     * For more info: https://mathiasbynens.be/notes/javascript-unicode\r\n     ",
                          "start": 7341,
                          "end": 7521,
                          "loc": {
                            "start": {
                              "line": 238,
                              "column": 4
                            },
                            "end": {
                              "line": 241,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 8301,
                      "end": 8315,
                      "loc": {
                        "start": {
                          "line": 266,
                          "column": 4
                        },
                        "end": {
                          "line": 266,
                          "column": 18
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 8308,
                        "end": 8314,
                        "loc": {
                          "start": {
                            "line": 266,
                            "column": 11
                          },
                          "end": {
                            "line": 266,
                            "column": 17
                          },
                          "identifierName": "output"
                        },
                        "name": "output"
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Removes an amount of characters at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {number} position The (cursor) position from where the characters should be removed\r\n   ",
                    "start": 6866,
                    "end": 7086,
                    "loc": {
                      "start": {
                        "line": 222,
                        "column": 2
                      },
                      "end": {
                        "line": 227,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Determines whether the maxLength has been reached. This function is called when the maxLength option it set.\r\n   * \r\n   * @param  {object} inputObj\r\n   * @param  {object} options\r\n   * @param  {string} updatedInput\r\n   ",
                    "start": 8324,
                    "end": 8555,
                    "loc": {
                      "start": {
                        "line": 268,
                        "column": 2
                      },
                      "end": {
                        "line": 274,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 8559,
                "end": 9817,
                "loc": {
                  "start": {
                    "line": 275,
                    "column": 2
                  },
                  "end": {
                    "line": 323,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 8559,
                  "end": 8574,
                  "loc": {
                    "start": {
                      "line": 275,
                      "column": 2
                    },
                    "end": {
                      "line": 275,
                      "column": 17
                    },
                    "identifierName": "handleMaxLength"
                  },
                  "name": "handleMaxLength",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 8575,
                    "end": 8583,
                    "loc": {
                      "start": {
                        "line": 275,
                        "column": 18
                      },
                      "end": {
                        "line": 275,
                        "column": 26
                      },
                      "identifierName": "inputObj"
                    },
                    "name": "inputObj"
                  },
                  {
                    "type": "Identifier",
                    "start": 8585,
                    "end": 8592,
                    "loc": {
                      "start": {
                        "line": 275,
                        "column": 28
                      },
                      "end": {
                        "line": 275,
                        "column": 35
                      },
                      "identifierName": "options"
                    },
                    "name": "options"
                  },
                  {
                    "type": "Identifier",
                    "start": 8594,
                    "end": 8606,
                    "loc": {
                      "start": {
                        "line": 275,
                        "column": 37
                      },
                      "end": {
                        "line": 275,
                        "column": 49
                      },
                      "identifierName": "updatedInput"
                    },
                    "name": "updatedInput"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 8607,
                  "end": 9817,
                  "loc": {
                    "start": {
                      "line": 275,
                      "column": 50
                    },
                    "end": {
                      "line": 323,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 8614,
                      "end": 8648,
                      "loc": {
                        "start": {
                          "line": 276,
                          "column": 4
                        },
                        "end": {
                          "line": 276,
                          "column": 38
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8618,
                          "end": 8647,
                          "loc": {
                            "start": {
                              "line": 276,
                              "column": 8
                            },
                            "end": {
                              "line": 276,
                              "column": 37
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8618,
                            "end": 8627,
                            "loc": {
                              "start": {
                                "line": 276,
                                "column": 8
                              },
                              "end": {
                                "line": 276,
                                "column": 17
                              },
                              "identifierName": "maxLength"
                            },
                            "name": "maxLength"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 8630,
                            "end": 8647,
                            "loc": {
                              "start": {
                                "line": 276,
                                "column": 20
                              },
                              "end": {
                                "line": 276,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8630,
                              "end": 8637,
                              "loc": {
                                "start": {
                                  "line": 276,
                                  "column": 20
                                },
                                "end": {
                                  "line": 276,
                                  "column": 27
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8638,
                              "end": 8647,
                              "loc": {
                                "start": {
                                  "line": 276,
                                  "column": 28
                                },
                                "end": {
                                  "line": 276,
                                  "column": 37
                                },
                                "identifierName": "maxLength"
                              },
                              "name": "maxLength"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 8654,
                      "end": 8701,
                      "loc": {
                        "start": {
                          "line": 277,
                          "column": 4
                        },
                        "end": {
                          "line": 277,
                          "column": 51
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8658,
                          "end": 8700,
                          "loc": {
                            "start": {
                              "line": 277,
                              "column": 8
                            },
                            "end": {
                              "line": 277,
                              "column": 50
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8658,
                            "end": 8670,
                            "loc": {
                              "start": {
                                "line": 277,
                                "column": 8
                              },
                              "end": {
                                "line": 277,
                                "column": 20
                              },
                              "identifierName": "currentInput"
                            },
                            "name": "currentInput"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 8673,
                            "end": 8700,
                            "loc": {
                              "start": {
                                "line": 277,
                                "column": 23
                              },
                              "end": {
                                "line": 277,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 8673,
                              "end": 8681,
                              "loc": {
                                "start": {
                                  "line": 277,
                                  "column": 23
                                },
                                "end": {
                                  "line": 277,
                                  "column": 31
                                },
                                "identifierName": "inputObj"
                              },
                              "name": "inputObj"
                            },
                            "property": {
                              "type": "MemberExpression",
                              "start": 8682,
                              "end": 8699,
                              "loc": {
                                "start": {
                                  "line": 277,
                                  "column": 32
                                },
                                "end": {
                                  "line": 277,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8682,
                                "end": 8689,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 39
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8690,
                                "end": 8699,
                                "loc": {
                                  "start": {
                                    "line": 277,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 277,
                                    "column": 49
                                  },
                                  "identifierName": "inputName"
                                },
                                "name": "inputName"
                              },
                              "computed": false
                            },
                            "computed": true
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 8707,
                      "end": 8757,
                      "loc": {
                        "start": {
                          "line": 278,
                          "column": 4
                        },
                        "end": {
                          "line": 278,
                          "column": 54
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 8711,
                          "end": 8756,
                          "loc": {
                            "start": {
                              "line": 278,
                              "column": 8
                            },
                            "end": {
                              "line": 278,
                              "column": 53
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 8711,
                            "end": 8720,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 8
                              },
                              "end": {
                                "line": 278,
                                "column": 17
                              },
                              "identifierName": "condition"
                            },
                            "name": "condition"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 8723,
                            "end": 8756,
                            "loc": {
                              "start": {
                                "line": 278,
                                "column": 20
                              },
                              "end": {
                                "line": 278,
                                "column": 53
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 8723,
                              "end": 8742,
                              "loc": {
                                "start": {
                                  "line": 278,
                                  "column": 20
                                },
                                "end": {
                                  "line": 278,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8723,
                                "end": 8735,
                                "loc": {
                                  "start": {
                                    "line": 278,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 278,
                                    "column": 32
                                  },
                                  "identifierName": "currentInput"
                                },
                                "name": "currentInput"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8736,
                                "end": 8742,
                                "loc": {
                                  "start": {
                                    "line": 278,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 278,
                                    "column": 39
                                  },
                                  "identifierName": "length"
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "operator": "===",
                            "right": {
                              "type": "Identifier",
                              "start": 8747,
                              "end": 8756,
                              "loc": {
                                "start": {
                                  "line": 278,
                                  "column": 44
                                },
                                "end": {
                                  "line": 278,
                                  "column": 53
                                },
                                "identifierName": "maxLength"
                              },
                              "name": "maxLength"
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 8767,
                      "end": 8985,
                      "loc": {
                        "start": {
                          "line": 281,
                          "column": 4
                        },
                        "end": {
                          "line": 289,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 8907,
                        "end": 8949,
                        "loc": {
                          "start": {
                            "line": 286,
                            "column": 6
                          },
                          "end": {
                            "line": 286,
                            "column": 48
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 8907,
                          "end": 8926,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 6
                            },
                            "end": {
                              "line": 286,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8907,
                            "end": 8919,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 6
                              },
                              "end": {
                                "line": 286,
                                "column": 18
                              },
                              "identifierName": "updatedInput"
                            },
                            "name": "updatedInput",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8920,
                            "end": 8926,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 19
                              },
                              "end": {
                                "line": 286,
                                "column": 25
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": "<=",
                        "right": {
                          "type": "MemberExpression",
                          "start": 8930,
                          "end": 8949,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 29
                            },
                            "end": {
                              "line": 286,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8930,
                            "end": 8942,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 29
                              },
                              "end": {
                                "line": 286,
                                "column": 41
                              },
                              "identifierName": "currentInput"
                            },
                            "name": "currentInput"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8943,
                            "end": 8949,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 42
                              },
                              "end": {
                                "line": 286,
                                "column": 48
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "leadingComments": [
                          {
                            "type": "CommentBlock",
                            "value": "*\r\n       * If pressing this button won't add more characters\r\n       * We exit out of this limiter function\r\n       ",
                            "start": 8778,
                            "end": 8899,
                            "loc": {
                              "start": {
                                "line": 282,
                                "column": 6
                              },
                              "end": {
                                "line": 285,
                                "column": 9
                              }
                            }
                          }
                        ]
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 8956,
                        "end": 8985,
                        "loc": {
                          "start": {
                            "line": 287,
                            "column": 5
                          },
                          "end": {
                            "line": 289,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 8965,
                            "end": 8978,
                            "loc": {
                              "start": {
                                "line": 288,
                                "column": 6
                              },
                              "end": {
                                "line": 288,
                                "column": 19
                              }
                            },
                            "argument": {
                              "type": "BooleanLiteral",
                              "start": 8972,
                              "end": 8977,
                              "loc": {
                                "start": {
                                  "line": 288,
                                  "column": 13
                                },
                                "end": {
                                  "line": 288,
                                  "column": 18
                                }
                              },
                              "value": false
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 8993,
                      "end": 9415,
                      "loc": {
                        "start": {
                          "line": 291,
                          "column": 4
                        },
                        "end": {
                          "line": 306,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 8996,
                        "end": 9023,
                        "loc": {
                          "start": {
                            "line": 291,
                            "column": 7
                          },
                          "end": {
                            "line": 291,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 8996,
                          "end": 9012,
                          "loc": {
                            "start": {
                              "line": 291,
                              "column": 7
                            },
                            "end": {
                              "line": 291,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 8996,
                            "end": 9002,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 7
                              },
                              "end": {
                                "line": 291,
                                "column": 13
                              },
                              "identifierName": "Number"
                            },
                            "name": "Number"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9003,
                            "end": 9012,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 14
                              },
                              "end": {
                                "line": 291,
                                "column": 23
                              },
                              "identifierName": "isInteger"
                            },
                            "name": "isInteger"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 9013,
                            "end": 9022,
                            "loc": {
                              "start": {
                                "line": 291,
                                "column": 24
                              },
                              "end": {
                                "line": 291,
                                "column": 33
                              },
                              "identifierName": "maxLength"
                            },
                            "name": "maxLength"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 9024,
                        "end": 9415,
                        "loc": {
                          "start": {
                            "line": 291,
                            "column": 35
                          },
                          "end": {
                            "line": 306,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 9033,
                            "end": 9121,
                            "loc": {
                              "start": {
                                "line": 292,
                                "column": 6
                              },
                              "end": {
                                "line": 294,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 9036,
                              "end": 9049,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 9
                                },
                                "end": {
                                  "line": 292,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9036,
                                "end": 9043,
                                "loc": {
                                  "start": {
                                    "line": 292,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 292,
                                    "column": 16
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9044,
                                "end": 9049,
                                "loc": {
                                  "start": {
                                    "line": 292,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 292,
                                    "column": 22
                                  },
                                  "identifierName": "debug"
                                },
                                "name": "debug"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 9050,
                              "end": 9121,
                              "loc": {
                                "start": {
                                  "line": 292,
                                  "column": 23
                                },
                                "end": {
                                  "line": 294,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9061,
                                  "end": 9112,
                                  "loc": {
                                    "start": {
                                      "line": 293,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 293,
                                      "column": 59
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 9061,
                                    "end": 9111,
                                    "loc": {
                                      "start": {
                                        "line": 293,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 293,
                                        "column": 58
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9061,
                                      "end": 9072,
                                      "loc": {
                                        "start": {
                                          "line": 293,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 293,
                                          "column": 19
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 9061,
                                        "end": 9068,
                                        "loc": {
                                          "start": {
                                            "line": 293,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 293,
                                            "column": 15
                                          },
                                          "identifierName": "console"
                                        },
                                        "name": "console"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9069,
                                        "end": 9072,
                                        "loc": {
                                          "start": {
                                            "line": 293,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 293,
                                            "column": 19
                                          },
                                          "identifierName": "log"
                                        },
                                        "name": "log"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "StringLiteral",
                                        "start": 9073,
                                        "end": 9099,
                                        "loc": {
                                          "start": {
                                            "line": 293,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 293,
                                            "column": 46
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "maxLength (num) reached:",
                                          "raw": "\"maxLength (num) reached:\""
                                        },
                                        "value": "maxLength (num) reached:"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 9101,
                                        "end": 9110,
                                        "loc": {
                                          "start": {
                                            "line": 293,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 293,
                                            "column": 57
                                          },
                                          "identifierName": "condition"
                                        },
                                        "name": "condition"
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 9131,
                            "end": 9408,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 6
                              },
                              "end": {
                                "line": 305,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 9134,
                              "end": 9143,
                              "loc": {
                                "start": {
                                  "line": 296,
                                  "column": 9
                                },
                                "end": {
                                  "line": 296,
                                  "column": 18
                                },
                                "identifierName": "condition"
                              },
                              "name": "condition"
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 9144,
                              "end": 9329,
                              "loc": {
                                "start": {
                                  "line": 296,
                                  "column": 19
                                },
                                "end": {
                                  "line": 302,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9269,
                                  "end": 9298,
                                  "loc": {
                                    "start": {
                                      "line": 300,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 300,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 9269,
                                    "end": 9297,
                                    "loc": {
                                      "start": {
                                        "line": 300,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 300,
                                        "column": 36
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 9269,
                                      "end": 9290,
                                      "loc": {
                                        "start": {
                                          "line": 300,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 300,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9269,
                                        "end": 9273,
                                        "loc": {
                                          "start": {
                                            "line": 300,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 300,
                                            "column": 12
                                          }
                                        },
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9274,
                                        "end": 9290,
                                        "loc": {
                                          "start": {
                                            "line": 300,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 300,
                                            "column": 29
                                          },
                                          "identifierName": "maxLengthReached"
                                        },
                                        "name": "maxLengthReached"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "right": {
                                      "type": "BooleanLiteral",
                                      "start": 9293,
                                      "end": 9297,
                                      "loc": {
                                        "start": {
                                          "line": 300,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 300,
                                          "column": 36
                                        }
                                      },
                                      "value": true
                                    },
                                    "leadingComments": null
                                  },
                                  "leadingComments": [
                                    {
                                      "type": "CommentBlock",
                                      "value": "*\r\n         * @type {boolean} Boolean value that shows whether maxLength has been reached\r\n         ",
                                      "start": 9155,
                                      "end": 9259,
                                      "loc": {
                                        "start": {
                                          "line": 297,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 299,
                                          "column": 11
                                        }
                                      }
                                    }
                                  ]
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 9308,
                                  "end": 9320,
                                  "loc": {
                                    "start": {
                                      "line": 301,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 301,
                                      "column": 20
                                    }
                                  },
                                  "argument": {
                                    "type": "BooleanLiteral",
                                    "start": 9315,
                                    "end": 9319,
                                    "loc": {
                                      "start": {
                                        "line": 301,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 301,
                                        "column": 19
                                      }
                                    },
                                    "value": true
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "start": 9335,
                              "end": 9408,
                              "loc": {
                                "start": {
                                  "line": 302,
                                  "column": 13
                                },
                                "end": {
                                  "line": 305,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9346,
                                  "end": 9376,
                                  "loc": {
                                    "start": {
                                      "line": 303,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 303,
                                      "column": 38
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 9346,
                                    "end": 9375,
                                    "loc": {
                                      "start": {
                                        "line": 303,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 303,
                                        "column": 37
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 9346,
                                      "end": 9367,
                                      "loc": {
                                        "start": {
                                          "line": 303,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 303,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9346,
                                        "end": 9350,
                                        "loc": {
                                          "start": {
                                            "line": 303,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 303,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9351,
                                        "end": 9367,
                                        "loc": {
                                          "start": {
                                            "line": 303,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 303,
                                            "column": 29
                                          },
                                          "identifierName": "maxLengthReached"
                                        },
                                        "name": "maxLengthReached"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "BooleanLiteral",
                                      "start": 9370,
                                      "end": 9375,
                                      "loc": {
                                        "start": {
                                          "line": 303,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 303,
                                          "column": 37
                                        }
                                      },
                                      "value": false
                                    }
                                  }
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 9386,
                                  "end": 9399,
                                  "loc": {
                                    "start": {
                                      "line": 304,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 304,
                                      "column": 21
                                    }
                                  },
                                  "argument": {
                                    "type": "BooleanLiteral",
                                    "start": 9393,
                                    "end": 9398,
                                    "loc": {
                                      "start": {
                                        "line": 304,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 304,
                                        "column": 20
                                      }
                                    },
                                    "value": false
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 9423,
                      "end": 9812,
                      "loc": {
                        "start": {
                          "line": 308,
                          "column": 4
                        },
                        "end": {
                          "line": 322,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 9426,
                        "end": 9455,
                        "loc": {
                          "start": {
                            "line": 308,
                            "column": 7
                          },
                          "end": {
                            "line": 308,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 9426,
                          "end": 9442,
                          "loc": {
                            "start": {
                              "line": 308,
                              "column": 7
                            },
                            "end": {
                              "line": 308,
                              "column": 23
                            }
                          },
                          "operator": "typeof",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 9433,
                            "end": 9442,
                            "loc": {
                              "start": {
                                "line": 308,
                                "column": 14
                              },
                              "end": {
                                "line": 308,
                                "column": 23
                              },
                              "identifierName": "maxLength"
                            },
                            "name": "maxLength"
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "operator": "===",
                        "right": {
                          "type": "StringLiteral",
                          "start": 9447,
                          "end": 9455,
                          "loc": {
                            "start": {
                              "line": 308,
                              "column": 28
                            },
                            "end": {
                              "line": 308,
                              "column": 36
                            }
                          },
                          "extra": {
                            "rawValue": "object",
                            "raw": "\"object\""
                          },
                          "value": "object"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 9456,
                        "end": 9812,
                        "loc": {
                          "start": {
                            "line": 308,
                            "column": 37
                          },
                          "end": {
                            "line": 322,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 9465,
                            "end": 9534,
                            "loc": {
                              "start": {
                                "line": 309,
                                "column": 6
                              },
                              "end": {
                                "line": 309,
                                "column": 75
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 9469,
                                "end": 9533,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 74
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 9469,
                                  "end": 9478,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 19
                                    },
                                    "identifierName": "condition"
                                  },
                                  "name": "condition"
                                },
                                "init": {
                                  "type": "BinaryExpression",
                                  "start": 9481,
                                  "end": 9533,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 74
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9481,
                                    "end": 9500,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9481,
                                      "end": 9493,
                                      "loc": {
                                        "start": {
                                          "line": 309,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 309,
                                          "column": 34
                                        },
                                        "identifierName": "currentInput"
                                      },
                                      "name": "currentInput"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9494,
                                      "end": 9500,
                                      "loc": {
                                        "start": {
                                          "line": 309,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 309,
                                          "column": 41
                                        },
                                        "identifierName": "length"
                                      },
                                      "name": "length"
                                    },
                                    "computed": false
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 9505,
                                    "end": 9533,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 74
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9505,
                                      "end": 9514,
                                      "loc": {
                                        "start": {
                                          "line": 309,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 309,
                                          "column": 55
                                        },
                                        "identifierName": "maxLength"
                                      },
                                      "name": "maxLength"
                                    },
                                    "property": {
                                      "type": "MemberExpression",
                                      "start": 9515,
                                      "end": 9532,
                                      "loc": {
                                        "start": {
                                          "line": 309,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 309,
                                          "column": 73
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 9515,
                                        "end": 9522,
                                        "loc": {
                                          "start": {
                                            "line": 309,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 309,
                                            "column": 63
                                          },
                                          "identifierName": "options"
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9523,
                                        "end": 9532,
                                        "loc": {
                                          "start": {
                                            "line": 309,
                                            "column": 64
                                          },
                                          "end": {
                                            "line": 309,
                                            "column": 73
                                          },
                                          "identifierName": "inputName"
                                        },
                                        "name": "inputName"
                                      },
                                      "computed": false
                                    },
                                    "computed": true
                                  }
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "IfStatement",
                            "start": 9544,
                            "end": 9632,
                            "loc": {
                              "start": {
                                "line": 311,
                                "column": 6
                              },
                              "end": {
                                "line": 313,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 9547,
                              "end": 9560,
                              "loc": {
                                "start": {
                                  "line": 311,
                                  "column": 9
                                },
                                "end": {
                                  "line": 311,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9547,
                                "end": 9554,
                                "loc": {
                                  "start": {
                                    "line": 311,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 311,
                                    "column": 16
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9555,
                                "end": 9560,
                                "loc": {
                                  "start": {
                                    "line": 311,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 311,
                                    "column": 22
                                  },
                                  "identifierName": "debug"
                                },
                                "name": "debug"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 9561,
                              "end": 9632,
                              "loc": {
                                "start": {
                                  "line": 311,
                                  "column": 23
                                },
                                "end": {
                                  "line": 313,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9572,
                                  "end": 9623,
                                  "loc": {
                                    "start": {
                                      "line": 312,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 312,
                                      "column": 59
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 9572,
                                    "end": 9622,
                                    "loc": {
                                      "start": {
                                        "line": 312,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 312,
                                        "column": 58
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9572,
                                      "end": 9583,
                                      "loc": {
                                        "start": {
                                          "line": 312,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 312,
                                          "column": 19
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 9572,
                                        "end": 9579,
                                        "loc": {
                                          "start": {
                                            "line": 312,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 312,
                                            "column": 15
                                          },
                                          "identifierName": "console"
                                        },
                                        "name": "console"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9580,
                                        "end": 9583,
                                        "loc": {
                                          "start": {
                                            "line": 312,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 312,
                                            "column": 19
                                          },
                                          "identifierName": "log"
                                        },
                                        "name": "log"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "StringLiteral",
                                        "start": 9584,
                                        "end": 9610,
                                        "loc": {
                                          "start": {
                                            "line": 312,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 312,
                                            "column": 46
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "maxLength (obj) reached:",
                                          "raw": "\"maxLength (obj) reached:\""
                                        },
                                        "value": "maxLength (obj) reached:"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 9612,
                                        "end": 9621,
                                        "loc": {
                                          "start": {
                                            "line": 312,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 312,
                                            "column": 57
                                          },
                                          "identifierName": "condition"
                                        },
                                        "name": "condition"
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 9642,
                            "end": 9805,
                            "loc": {
                              "start": {
                                "line": 315,
                                "column": 6
                              },
                              "end": {
                                "line": 321,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 9645,
                              "end": 9654,
                              "loc": {
                                "start": {
                                  "line": 315,
                                  "column": 9
                                },
                                "end": {
                                  "line": 315,
                                  "column": 18
                                },
                                "identifierName": "condition"
                              },
                              "name": "condition"
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 9655,
                              "end": 9726,
                              "loc": {
                                "start": {
                                  "line": 315,
                                  "column": 19
                                },
                                "end": {
                                  "line": 318,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9666,
                                  "end": 9695,
                                  "loc": {
                                    "start": {
                                      "line": 316,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 316,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 9666,
                                    "end": 9694,
                                    "loc": {
                                      "start": {
                                        "line": 316,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 316,
                                        "column": 36
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 9666,
                                      "end": 9687,
                                      "loc": {
                                        "start": {
                                          "line": 316,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 316,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9666,
                                        "end": 9670,
                                        "loc": {
                                          "start": {
                                            "line": 316,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 316,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9671,
                                        "end": 9687,
                                        "loc": {
                                          "start": {
                                            "line": 316,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 316,
                                            "column": 29
                                          },
                                          "identifierName": "maxLengthReached"
                                        },
                                        "name": "maxLengthReached"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "BooleanLiteral",
                                      "start": 9690,
                                      "end": 9694,
                                      "loc": {
                                        "start": {
                                          "line": 316,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 316,
                                          "column": 36
                                        }
                                      },
                                      "value": true
                                    }
                                  }
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 9705,
                                  "end": 9717,
                                  "loc": {
                                    "start": {
                                      "line": 317,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 317,
                                      "column": 20
                                    }
                                  },
                                  "argument": {
                                    "type": "BooleanLiteral",
                                    "start": 9712,
                                    "end": 9716,
                                    "loc": {
                                      "start": {
                                        "line": 317,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 317,
                                        "column": 19
                                      }
                                    },
                                    "value": true
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "start": 9732,
                              "end": 9805,
                              "loc": {
                                "start": {
                                  "line": 318,
                                  "column": 13
                                },
                                "end": {
                                  "line": 321,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9743,
                                  "end": 9773,
                                  "loc": {
                                    "start": {
                                      "line": 319,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 319,
                                      "column": 38
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 9743,
                                    "end": 9772,
                                    "loc": {
                                      "start": {
                                        "line": 319,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 319,
                                        "column": 37
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 9743,
                                      "end": 9764,
                                      "loc": {
                                        "start": {
                                          "line": 319,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 319,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9743,
                                        "end": 9747,
                                        "loc": {
                                          "start": {
                                            "line": 319,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 319,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9748,
                                        "end": 9764,
                                        "loc": {
                                          "start": {
                                            "line": 319,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 319,
                                            "column": 29
                                          },
                                          "identifierName": "maxLengthReached"
                                        },
                                        "name": "maxLengthReached"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "BooleanLiteral",
                                      "start": 9767,
                                      "end": 9772,
                                      "loc": {
                                        "start": {
                                          "line": 319,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 319,
                                          "column": 37
                                        }
                                      },
                                      "value": false
                                    }
                                  }
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 9783,
                                  "end": 9796,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 21
                                    }
                                  },
                                  "argument": {
                                    "type": "BooleanLiteral",
                                    "start": 9790,
                                    "end": 9795,
                                    "loc": {
                                      "start": {
                                        "line": 320,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 320,
                                        "column": 20
                                      }
                                    },
                                    "value": false
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Determines whether the maxLength has been reached. This function is called when the maxLength option it set.\r\n   * \r\n   * @param  {object} inputObj\r\n   * @param  {object} options\r\n   * @param  {string} updatedInput\r\n   ",
                    "start": 8324,
                    "end": 8555,
                    "loc": {
                      "start": {
                        "line": 268,
                        "column": 2
                      },
                      "end": {
                        "line": 274,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Gets the current value of maxLengthReached\r\n   ",
                    "start": 9823,
                    "end": 9882,
                    "loc": {
                      "start": {
                        "line": 325,
                        "column": 2
                      },
                      "end": {
                        "line": 327,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 9886,
                "end": 9956,
                "loc": {
                  "start": {
                    "line": 328,
                    "column": 2
                  },
                  "end": {
                    "line": 330,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 9886,
                  "end": 9904,
                  "loc": {
                    "start": {
                      "line": 328,
                      "column": 2
                    },
                    "end": {
                      "line": 328,
                      "column": 20
                    },
                    "identifierName": "isMaxLengthReached"
                  },
                  "name": "isMaxLengthReached",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 9906,
                  "end": 9956,
                  "loc": {
                    "start": {
                      "line": 328,
                      "column": 22
                    },
                    "end": {
                      "line": 330,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 9913,
                      "end": 9951,
                      "loc": {
                        "start": {
                          "line": 329,
                          "column": 4
                        },
                        "end": {
                          "line": 329,
                          "column": 42
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 9920,
                        "end": 9950,
                        "loc": {
                          "start": {
                            "line": 329,
                            "column": 11
                          },
                          "end": {
                            "line": 329,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 9920,
                          "end": 9927,
                          "loc": {
                            "start": {
                              "line": 329,
                              "column": 11
                            },
                            "end": {
                              "line": 329,
                              "column": 18
                            },
                            "identifierName": "Boolean"
                          },
                          "name": "Boolean"
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 9928,
                            "end": 9949,
                            "loc": {
                              "start": {
                                "line": 329,
                                "column": 19
                              },
                              "end": {
                                "line": 329,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 9928,
                              "end": 9932,
                              "loc": {
                                "start": {
                                  "line": 329,
                                  "column": 19
                                },
                                "end": {
                                  "line": 329,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9933,
                              "end": 9949,
                              "loc": {
                                "start": {
                                  "line": 329,
                                  "column": 24
                                },
                                "end": {
                                  "line": 329,
                                  "column": 40
                                },
                                "identifierName": "maxLengthReached"
                              },
                              "name": "maxLengthReached"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Gets the current value of maxLengthReached\r\n   ",
                    "start": 9823,
                    "end": 9882,
                    "loc": {
                      "start": {
                        "line": 325,
                        "column": 2
                      },
                      "end": {
                        "line": 327,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Transforms an arbitrary string to camelCase\r\n   * \r\n   * @param  {string} string The string to transform.\r\n   ",
                    "start": 9962,
                    "end": 10084,
                    "loc": {
                      "start": {
                        "line": 332,
                        "column": 2
                      },
                      "end": {
                        "line": 336,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 10088,
                "end": 10244,
                "loc": {
                  "start": {
                    "line": 337,
                    "column": 2
                  },
                  "end": {
                    "line": 339,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 10088,
                  "end": 10097,
                  "loc": {
                    "start": {
                      "line": 337,
                      "column": 2
                    },
                    "end": {
                      "line": 337,
                      "column": 11
                    },
                    "identifierName": "camelCase"
                  },
                  "name": "camelCase",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 10098,
                    "end": 10104,
                    "loc": {
                      "start": {
                        "line": 337,
                        "column": 12
                      },
                      "end": {
                        "line": 337,
                        "column": 18
                      },
                      "identifierName": "string"
                    },
                    "name": "string"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 10105,
                  "end": 10244,
                  "loc": {
                    "start": {
                      "line": 337,
                      "column": 19
                    },
                    "end": {
                      "line": 339,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 10112,
                      "end": 10239,
                      "loc": {
                        "start": {
                          "line": 338,
                          "column": 4
                        },
                        "end": {
                          "line": 338,
                          "column": 131
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 10119,
                        "end": 10238,
                        "loc": {
                          "start": {
                            "line": 338,
                            "column": 11
                          },
                          "end": {
                            "line": 338,
                            "column": 130
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10119,
                          "end": 10172,
                          "loc": {
                            "start": {
                              "line": 338,
                              "column": 11
                            },
                            "end": {
                              "line": 338,
                              "column": 64
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 10119,
                            "end": 10165,
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 11
                              },
                              "end": {
                                "line": 338,
                                "column": 57
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10119,
                              "end": 10152,
                              "loc": {
                                "start": {
                                  "line": 338,
                                  "column": 11
                                },
                                "end": {
                                  "line": 338,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 10119,
                                "end": 10146,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10119,
                                  "end": 10144,
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 10119,
                                    "end": 10139,
                                    "loc": {
                                      "start": {
                                        "line": 338,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 338,
                                        "column": 31
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 10119,
                                      "end": 10137,
                                      "loc": {
                                        "start": {
                                          "line": 338,
                                          "column": 11
                                        },
                                        "end": {
                                          "line": 338,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 10119,
                                        "end": 10125,
                                        "loc": {
                                          "start": {
                                            "line": 338,
                                            "column": 11
                                          },
                                          "end": {
                                            "line": 338,
                                            "column": 17
                                          },
                                          "identifierName": "string"
                                        },
                                        "name": "string"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10126,
                                        "end": 10137,
                                        "loc": {
                                          "start": {
                                            "line": 338,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 338,
                                            "column": 29
                                          },
                                          "identifierName": "toLowerCase"
                                        },
                                        "name": "toLowerCase"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10140,
                                    "end": 10144,
                                    "loc": {
                                      "start": {
                                        "line": 338,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 338,
                                        "column": 36
                                      },
                                      "identifierName": "trim"
                                    },
                                    "name": "trim"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10147,
                                "end": 10152,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 44
                                  },
                                  "identifierName": "split"
                                },
                                "name": "split"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "RegExpLiteral",
                                "start": 10153,
                                "end": 10164,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 56
                                  }
                                },
                                "extra": {
                                  "raw": "/[.\\-_\\s]/g"
                                },
                                "pattern": "[.\\-_\\s]",
                                "flags": "g"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10166,
                            "end": 10172,
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 58
                              },
                              "end": {
                                "line": 338,
                                "column": 64
                              },
                              "identifierName": "reduce"
                            },
                            "name": "reduce"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 10173,
                            "end": 10237,
                            "loc": {
                              "start": {
                                "line": 338,
                                "column": 65
                              },
                              "end": {
                                "line": 338,
                                "column": 129
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 10174,
                                "end": 10180,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 66
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 72
                                  },
                                  "identifierName": "string"
                                },
                                "name": "string"
                              },
                              {
                                "type": "Identifier",
                                "start": 10182,
                                "end": 10186,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 74
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 78
                                  },
                                  "identifierName": "word"
                                },
                                "name": "word"
                              }
                            ],
                            "body": {
                              "type": "BinaryExpression",
                              "start": 10191,
                              "end": 10237,
                              "loc": {
                                "start": {
                                  "line": 338,
                                  "column": 83
                                },
                                "end": {
                                  "line": 338,
                                  "column": 129
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 10191,
                                "end": 10221,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 113
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 10191,
                                  "end": 10197,
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 83
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 89
                                    },
                                    "identifierName": "string"
                                  },
                                  "name": "string"
                                },
                                "operator": "+",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 10200,
                                  "end": 10221,
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 92
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 113
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 10200,
                                    "end": 10219,
                                    "loc": {
                                      "start": {
                                        "line": 338,
                                        "column": 92
                                      },
                                      "end": {
                                        "line": 338,
                                        "column": 111
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 10200,
                                      "end": 10207,
                                      "loc": {
                                        "start": {
                                          "line": 338,
                                          "column": 92
                                        },
                                        "end": {
                                          "line": 338,
                                          "column": 99
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 10200,
                                        "end": 10204,
                                        "loc": {
                                          "start": {
                                            "line": 338,
                                            "column": 92
                                          },
                                          "end": {
                                            "line": 338,
                                            "column": 96
                                          },
                                          "identifierName": "word"
                                        },
                                        "name": "word"
                                      },
                                      "property": {
                                        "type": "NumericLiteral",
                                        "start": 10205,
                                        "end": 10206,
                                        "loc": {
                                          "start": {
                                            "line": 338,
                                            "column": 97
                                          },
                                          "end": {
                                            "line": 338,
                                            "column": 98
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "value": 0
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10208,
                                      "end": 10219,
                                      "loc": {
                                        "start": {
                                          "line": 338,
                                          "column": 100
                                        },
                                        "end": {
                                          "line": 338,
                                          "column": 111
                                        },
                                        "identifierName": "toUpperCase"
                                      },
                                      "name": "toUpperCase"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                }
                              },
                              "operator": "+",
                              "right": {
                                "type": "CallExpression",
                                "start": 10224,
                                "end": 10237,
                                "loc": {
                                  "start": {
                                    "line": 338,
                                    "column": 116
                                  },
                                  "end": {
                                    "line": 338,
                                    "column": 129
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10224,
                                  "end": 10234,
                                  "loc": {
                                    "start": {
                                      "line": 338,
                                      "column": 116
                                    },
                                    "end": {
                                      "line": 338,
                                      "column": 126
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10224,
                                    "end": 10228,
                                    "loc": {
                                      "start": {
                                        "line": 338,
                                        "column": 116
                                      },
                                      "end": {
                                        "line": 338,
                                        "column": 120
                                      },
                                      "identifierName": "word"
                                    },
                                    "name": "word"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10229,
                                    "end": 10234,
                                    "loc": {
                                      "start": {
                                        "line": 338,
                                        "column": 121
                                      },
                                      "end": {
                                        "line": 338,
                                        "column": 126
                                      },
                                      "identifierName": "slice"
                                    },
                                    "name": "slice"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "NumericLiteral",
                                    "start": 10235,
                                    "end": 10236,
                                    "loc": {
                                      "start": {
                                        "line": 338,
                                        "column": 127
                                      },
                                      "end": {
                                        "line": 338,
                                        "column": 128
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 1,
                                      "raw": "1"
                                    },
                                    "value": 1
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Transforms an arbitrary string to camelCase\r\n   * \r\n   * @param  {string} string The string to transform.\r\n   ",
                    "start": 9962,
                    "end": 10084,
                    "loc": {
                      "start": {
                        "line": 332,
                        "column": 2
                      },
                      "end": {
                        "line": 336,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 10435,
                "end": 10525,
                "loc": {
                  "start": {
                    "line": 347,
                    "column": 2
                  },
                  "end": {
                    "line": 349,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 10435,
                  "end": 10447,
                  "loc": {
                    "start": {
                      "line": 347,
                      "column": 2
                    },
                    "end": {
                      "line": 347,
                      "column": 14
                    },
                    "identifierName": "countInArray"
                  },
                  "name": "countInArray",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 10448,
                    "end": 10453,
                    "loc": {
                      "start": {
                        "line": 347,
                        "column": 15
                      },
                      "end": {
                        "line": 347,
                        "column": 20
                      },
                      "identifierName": "array"
                    },
                    "name": "array"
                  },
                  {
                    "type": "Identifier",
                    "start": 10455,
                    "end": 10460,
                    "loc": {
                      "start": {
                        "line": 347,
                        "column": 22
                      },
                      "end": {
                        "line": 347,
                        "column": 27
                      },
                      "identifierName": "value"
                    },
                    "name": "value"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 10461,
                  "end": 10525,
                  "loc": {
                    "start": {
                      "line": 347,
                      "column": 28
                    },
                    "end": {
                      "line": 349,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 10468,
                      "end": 10520,
                      "loc": {
                        "start": {
                          "line": 348,
                          "column": 4
                        },
                        "end": {
                          "line": 348,
                          "column": 56
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 10475,
                        "end": 10519,
                        "loc": {
                          "start": {
                            "line": 348,
                            "column": 11
                          },
                          "end": {
                            "line": 348,
                            "column": 55
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10475,
                          "end": 10487,
                          "loc": {
                            "start": {
                              "line": 348,
                              "column": 11
                            },
                            "end": {
                              "line": 348,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 10475,
                            "end": 10480,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 11
                              },
                              "end": {
                                "line": 348,
                                "column": 16
                              },
                              "identifierName": "array"
                            },
                            "name": "array"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10481,
                            "end": 10487,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 17
                              },
                              "end": {
                                "line": 348,
                                "column": 23
                              },
                              "identifierName": "reduce"
                            },
                            "name": "reduce"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 10488,
                            "end": 10515,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 24
                              },
                              "end": {
                                "line": 348,
                                "column": 51
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 10489,
                                "end": 10490,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 26
                                  },
                                  "identifierName": "n"
                                },
                                "name": "n"
                              },
                              {
                                "type": "Identifier",
                                "start": 10492,
                                "end": 10493,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 29
                                  },
                                  "identifierName": "x"
                                },
                                "name": "x"
                              }
                            ],
                            "body": {
                              "type": "BinaryExpression",
                              "start": 10498,
                              "end": 10515,
                              "loc": {
                                "start": {
                                  "line": 348,
                                  "column": 34
                                },
                                "end": {
                                  "line": 348,
                                  "column": 51
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 10498,
                                "end": 10499,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 35
                                  },
                                  "identifierName": "n"
                                },
                                "name": "n"
                              },
                              "operator": "+",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 10503,
                                "end": 10514,
                                "loc": {
                                  "start": {
                                    "line": 348,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 348,
                                    "column": 50
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 10503,
                                  "end": 10504,
                                  "loc": {
                                    "start": {
                                      "line": 348,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 348,
                                      "column": 40
                                    },
                                    "identifierName": "x"
                                  },
                                  "name": "x"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "Identifier",
                                  "start": 10509,
                                  "end": 10514,
                                  "loc": {
                                    "start": {
                                      "line": 348,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 348,
                                      "column": 50
                                    },
                                    "identifierName": "value"
                                  },
                                  "name": "value"
                                },
                                "extra": {
                                  "parenthesized": true,
                                  "parenStart": 10502
                                }
                              }
                            }
                          },
                          {
                            "type": "NumericLiteral",
                            "start": 10517,
                            "end": 10518,
                            "loc": {
                              "start": {
                                "line": 348,
                                "column": 53
                              },
                              "end": {
                                "line": 348,
                                "column": 54
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Counts the number of duplicates in a given array\r\n   * \r\n   * @param  {Array} array The haystack to search in\r\n   * @param  {string} value The needle to search for\r\n   ",
                    "start": 10251,
                    "end": 10431,
                    "loc": {
                      "start": {
                        "line": 341,
                        "column": 2
                      },
                      "end": {
                        "line": 346,
                        "column": 5
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\r\n * Utility Service\r\n ",
              "start": 0,
              "end": 28,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 0
                },
                "end": {
                  "line": 3,
                  "column": 3
                }
              }
            }
          ],
          "__PseudoExport__": false,
          "trailingComments": []
        },
        "leadingComments": null
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\r\n * Utility Service\r\n ",
      "start": 0,
      "end": 28,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Creates an instance of the Utility service\r\n   ",
      "start": 51,
      "end": 110,
      "loc": {
        "start": {
          "line": 5,
          "column": 2
        },
        "end": {
          "line": 7,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @type {object} A simple-keyboard instance\r\n     ",
      "start": 156,
      "end": 218,
      "loc": {
        "start": {
          "line": 9,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Bindings\r\n     ",
      "start": 285,
      "end": 314,
      "loc": {
        "start": {
          "line": 14,
          "column": 4
        },
        "end": {
          "line": 16,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Adds default classes to a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @return {string} The classes to be added to the button\r\n   ",
      "start": 746,
      "end": 924,
      "loc": {
        "start": {
          "line": 26,
          "column": 2
        },
        "end": {
          "line": 31,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Default button display labels\r\n   ",
      "start": 1361,
      "end": 1407,
      "loc": {
        "start": {
          "line": 43,
          "column": 2
        },
        "end": {
          "line": 45,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Returns the display (label) name for a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {object} display The provided display option\r\n   * @param  {boolean} mergeDisplay Whether the provided param value should be merged with the default one.\r\n   ",
      "start": 2983,
      "end": 3281,
      "loc": {
        "start": {
          "line": 109,
          "column": 2
        },
        "end": {
          "line": 115,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Returns the updated input resulting from clicking a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {string} input The input string\r\n   * @param  {object} options The simple-keyboard options object\r\n   * @param  {number} caretPos The cursor's current position\r\n   ",
      "start": 3560,
      "end": 3877,
      "loc": {
        "start": {
          "line": 127,
          "column": 2
        },
        "end": {
          "line": 134,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Moves the cursor position by a given amount\r\n   * \r\n   * @param  {number} length Represents by how many characters the input should be moved\r\n   * @param  {boolean} minus Whether the cursor should be moved to the left or not.\r\n   ",
      "start": 5471,
      "end": 5713,
      "loc": {
        "start": {
          "line": 176,
          "column": 2
        },
        "end": {
          "line": 181,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Adds a string to the input at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {string} string The string to add\r\n   * @param  {number} position The (cursor) position where the string should be added\r\n   ",
      "start": 6059,
      "end": 6311,
      "loc": {
        "start": {
          "line": 191,
          "column": 2
        },
        "end": {
          "line": 197,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n       * Avoid caret position change when maxLength is set\r\n       ",
      "start": 6657,
      "end": 6731,
      "loc": {
        "start": {
          "line": 210,
          "column": 6
        },
        "end": {
          "line": 212,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Removes an amount of characters at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {number} position The (cursor) position from where the characters should be removed\r\n   ",
      "start": 6866,
      "end": 7086,
      "loc": {
        "start": {
          "line": 222,
          "column": 2
        },
        "end": {
          "line": 227,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Emojis are made out of two characters, so we must take a custom approach to trim them.\r\n     * For more info: https://mathiasbynens.be/notes/javascript-unicode\r\n     ",
      "start": 7341,
      "end": 7521,
      "loc": {
        "start": {
          "line": 238,
          "column": 4
        },
        "end": {
          "line": 241,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Determines whether the maxLength has been reached. This function is called when the maxLength option it set.\r\n   * \r\n   * @param  {object} inputObj\r\n   * @param  {object} options\r\n   * @param  {string} updatedInput\r\n   ",
      "start": 8324,
      "end": 8555,
      "loc": {
        "start": {
          "line": 268,
          "column": 2
        },
        "end": {
          "line": 274,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n       * If pressing this button won't add more characters\r\n       * We exit out of this limiter function\r\n       ",
      "start": 8778,
      "end": 8899,
      "loc": {
        "start": {
          "line": 282,
          "column": 6
        },
        "end": {
          "line": 285,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n         * @type {boolean} Boolean value that shows whether maxLength has been reached\r\n         ",
      "start": 9155,
      "end": 9259,
      "loc": {
        "start": {
          "line": 297,
          "column": 8
        },
        "end": {
          "line": 299,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Gets the current value of maxLengthReached\r\n   ",
      "start": 9823,
      "end": 9882,
      "loc": {
        "start": {
          "line": 325,
          "column": 2
        },
        "end": {
          "line": 327,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Transforms an arbitrary string to camelCase\r\n   * \r\n   * @param  {string} string The string to transform.\r\n   ",
      "start": 9962,
      "end": 10084,
      "loc": {
        "start": {
          "line": 332,
          "column": 2
        },
        "end": {
          "line": 336,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Counts the number of duplicates in a given array\r\n   * \r\n   * @param  {Array} array The haystack to search in\r\n   * @param  {string} value The needle to search for\r\n   ",
      "start": 10251,
      "end": 10431,
      "loc": {
        "start": {
          "line": 341,
          "column": 2
        },
        "end": {
          "line": 346,
          "column": 5
        }
      }
    }
  ],
  "tokens": [
    {
      "type": "CommentBlock",
      "value": "*\r\n * Utility Service\r\n ",
      "start": 0,
      "end": 28,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 30,
      "end": 35,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Utilities",
      "start": 36,
      "end": 45,
      "loc": {
        "start": {
          "line": 4,
          "column": 6
        },
        "end": {
          "line": 4,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 46,
      "end": 47,
      "loc": {
        "start": {
          "line": 4,
          "column": 16
        },
        "end": {
          "line": 4,
          "column": 17
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Creates an instance of the Utility service\r\n   ",
      "start": 51,
      "end": 110,
      "loc": {
        "start": {
          "line": 5,
          "column": 2
        },
        "end": {
          "line": 7,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 114,
      "end": 125,
      "loc": {
        "start": {
          "line": 8,
          "column": 2
        },
        "end": {
          "line": 8,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 125,
      "end": 126,
      "loc": {
        "start": {
          "line": 8,
          "column": 13
        },
        "end": {
          "line": 8,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 126,
      "end": 148,
      "loc": {
        "start": {
          "line": 8,
          "column": 14
        },
        "end": {
          "line": 8,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 148,
      "end": 149,
      "loc": {
        "start": {
          "line": 8,
          "column": 36
        },
        "end": {
          "line": 8,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 149,
      "end": 150,
      "loc": {
        "start": {
          "line": 8,
          "column": 37
        },
        "end": {
          "line": 8,
          "column": 38
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @type {object} A simple-keyboard instance\r\n     ",
      "start": 156,
      "end": 218,
      "loc": {
        "start": {
          "line": 9,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 224,
      "end": 228,
      "loc": {
        "start": {
          "line": 12,
          "column": 4
        },
        "end": {
          "line": 12,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 228,
      "end": 229,
      "loc": {
        "start": {
          "line": 12,
          "column": 8
        },
        "end": {
          "line": 12,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 229,
      "end": 251,
      "loc": {
        "start": {
          "line": 12,
          "column": 9
        },
        "end": {
          "line": 12,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 252,
      "end": 253,
      "loc": {
        "start": {
          "line": 12,
          "column": 32
        },
        "end": {
          "line": 12,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 254,
      "end": 276,
      "loc": {
        "start": {
          "line": 12,
          "column": 34
        },
        "end": {
          "line": 12,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 276,
      "end": 277,
      "loc": {
        "start": {
          "line": 12,
          "column": 56
        },
        "end": {
          "line": 12,
          "column": 57
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Bindings\r\n     ",
      "start": 285,
      "end": 314,
      "loc": {
        "start": {
          "line": 14,
          "column": 4
        },
        "end": {
          "line": 16,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 320,
      "end": 324,
      "loc": {
        "start": {
          "line": 17,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 324,
      "end": 325,
      "loc": {
        "start": {
          "line": 17,
          "column": 8
        },
        "end": {
          "line": 17,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getButtonClass",
      "start": 325,
      "end": 339,
      "loc": {
        "start": {
          "line": 17,
          "column": 9
        },
        "end": {
          "line": 17,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 340,
      "end": 341,
      "loc": {
        "start": {
          "line": 17,
          "column": 24
        },
        "end": {
          "line": 17,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 342,
      "end": 346,
      "loc": {
        "start": {
          "line": 17,
          "column": 26
        },
        "end": {
          "line": 17,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 346,
      "end": 347,
      "loc": {
        "start": {
          "line": 17,
          "column": 30
        },
        "end": {
          "line": 17,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getButtonClass",
      "start": 347,
      "end": 361,
      "loc": {
        "start": {
          "line": 17,
          "column": 31
        },
        "end": {
          "line": 17,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 361,
      "end": 362,
      "loc": {
        "start": {
          "line": 17,
          "column": 45
        },
        "end": {
          "line": 17,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 362,
      "end": 366,
      "loc": {
        "start": {
          "line": 17,
          "column": 46
        },
        "end": {
          "line": 17,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 366,
      "end": 367,
      "loc": {
        "start": {
          "line": 17,
          "column": 50
        },
        "end": {
          "line": 17,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 367,
      "end": 371,
      "loc": {
        "start": {
          "line": 17,
          "column": 51
        },
        "end": {
          "line": 17,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 371,
      "end": 372,
      "loc": {
        "start": {
          "line": 17,
          "column": 55
        },
        "end": {
          "line": 17,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 372,
      "end": 373,
      "loc": {
        "start": {
          "line": 17,
          "column": 56
        },
        "end": {
          "line": 17,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 379,
      "end": 383,
      "loc": {
        "start": {
          "line": 18,
          "column": 4
        },
        "end": {
          "line": 18,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 383,
      "end": 384,
      "loc": {
        "start": {
          "line": 18,
          "column": 8
        },
        "end": {
          "line": 18,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getButtonDisplayName",
      "start": 384,
      "end": 404,
      "loc": {
        "start": {
          "line": 18,
          "column": 9
        },
        "end": {
          "line": 18,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 405,
      "end": 406,
      "loc": {
        "start": {
          "line": 18,
          "column": 30
        },
        "end": {
          "line": 18,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 407,
      "end": 411,
      "loc": {
        "start": {
          "line": 18,
          "column": 32
        },
        "end": {
          "line": 18,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 411,
      "end": 412,
      "loc": {
        "start": {
          "line": 18,
          "column": 36
        },
        "end": {
          "line": 18,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getButtonDisplayName",
      "start": 412,
      "end": 432,
      "loc": {
        "start": {
          "line": 18,
          "column": 37
        },
        "end": {
          "line": 18,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 432,
      "end": 433,
      "loc": {
        "start": {
          "line": 18,
          "column": 57
        },
        "end": {
          "line": 18,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 433,
      "end": 437,
      "loc": {
        "start": {
          "line": 18,
          "column": 58
        },
        "end": {
          "line": 18,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 437,
      "end": 438,
      "loc": {
        "start": {
          "line": 18,
          "column": 62
        },
        "end": {
          "line": 18,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 438,
      "end": 442,
      "loc": {
        "start": {
          "line": 18,
          "column": 63
        },
        "end": {
          "line": 18,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 442,
      "end": 443,
      "loc": {
        "start": {
          "line": 18,
          "column": 67
        },
        "end": {
          "line": 18,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 443,
      "end": 444,
      "loc": {
        "start": {
          "line": 18,
          "column": 68
        },
        "end": {
          "line": 18,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 450,
      "end": 454,
      "loc": {
        "start": {
          "line": 19,
          "column": 4
        },
        "end": {
          "line": 19,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 454,
      "end": 455,
      "loc": {
        "start": {
          "line": 19,
          "column": 8
        },
        "end": {
          "line": 19,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getUpdatedInput",
      "start": 455,
      "end": 470,
      "loc": {
        "start": {
          "line": 19,
          "column": 9
        },
        "end": {
          "line": 19,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 471,
      "end": 472,
      "loc": {
        "start": {
          "line": 19,
          "column": 25
        },
        "end": {
          "line": 19,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 473,
      "end": 477,
      "loc": {
        "start": {
          "line": 19,
          "column": 27
        },
        "end": {
          "line": 19,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 477,
      "end": 478,
      "loc": {
        "start": {
          "line": 19,
          "column": 31
        },
        "end": {
          "line": 19,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getUpdatedInput",
      "start": 478,
      "end": 493,
      "loc": {
        "start": {
          "line": 19,
          "column": 32
        },
        "end": {
          "line": 19,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 493,
      "end": 494,
      "loc": {
        "start": {
          "line": 19,
          "column": 47
        },
        "end": {
          "line": 19,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 494,
      "end": 498,
      "loc": {
        "start": {
          "line": 19,
          "column": 48
        },
        "end": {
          "line": 19,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 498,
      "end": 499,
      "loc": {
        "start": {
          "line": 19,
          "column": 52
        },
        "end": {
          "line": 19,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 499,
      "end": 503,
      "loc": {
        "start": {
          "line": 19,
          "column": 53
        },
        "end": {
          "line": 19,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 503,
      "end": 504,
      "loc": {
        "start": {
          "line": 19,
          "column": 57
        },
        "end": {
          "line": 19,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 504,
      "end": 505,
      "loc": {
        "start": {
          "line": 19,
          "column": 58
        },
        "end": {
          "line": 19,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 511,
      "end": 515,
      "loc": {
        "start": {
          "line": 20,
          "column": 4
        },
        "end": {
          "line": 20,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 515,
      "end": 516,
      "loc": {
        "start": {
          "line": 20,
          "column": 8
        },
        "end": {
          "line": 20,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 516,
      "end": 530,
      "loc": {
        "start": {
          "line": 20,
          "column": 9
        },
        "end": {
          "line": 20,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 531,
      "end": 532,
      "loc": {
        "start": {
          "line": 20,
          "column": 24
        },
        "end": {
          "line": 20,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 533,
      "end": 537,
      "loc": {
        "start": {
          "line": 20,
          "column": 26
        },
        "end": {
          "line": 20,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 537,
      "end": 538,
      "loc": {
        "start": {
          "line": 20,
          "column": 30
        },
        "end": {
          "line": 20,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 538,
      "end": 552,
      "loc": {
        "start": {
          "line": 20,
          "column": 31
        },
        "end": {
          "line": 20,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 552,
      "end": 553,
      "loc": {
        "start": {
          "line": 20,
          "column": 45
        },
        "end": {
          "line": 20,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 553,
      "end": 557,
      "loc": {
        "start": {
          "line": 20,
          "column": 46
        },
        "end": {
          "line": 20,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 557,
      "end": 558,
      "loc": {
        "start": {
          "line": 20,
          "column": 50
        },
        "end": {
          "line": 20,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 558,
      "end": 562,
      "loc": {
        "start": {
          "line": 20,
          "column": 51
        },
        "end": {
          "line": 20,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 562,
      "end": 563,
      "loc": {
        "start": {
          "line": 20,
          "column": 55
        },
        "end": {
          "line": 20,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 563,
      "end": 564,
      "loc": {
        "start": {
          "line": 20,
          "column": 56
        },
        "end": {
          "line": 20,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 570,
      "end": 574,
      "loc": {
        "start": {
          "line": 21,
          "column": 4
        },
        "end": {
          "line": 21,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 574,
      "end": 575,
      "loc": {
        "start": {
          "line": 21,
          "column": 8
        },
        "end": {
          "line": 21,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isMaxLengthReached",
      "start": 575,
      "end": 593,
      "loc": {
        "start": {
          "line": 21,
          "column": 9
        },
        "end": {
          "line": 21,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 594,
      "end": 595,
      "loc": {
        "start": {
          "line": 21,
          "column": 28
        },
        "end": {
          "line": 21,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 596,
      "end": 600,
      "loc": {
        "start": {
          "line": 21,
          "column": 30
        },
        "end": {
          "line": 21,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 600,
      "end": 601,
      "loc": {
        "start": {
          "line": 21,
          "column": 34
        },
        "end": {
          "line": 21,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isMaxLengthReached",
      "start": 601,
      "end": 619,
      "loc": {
        "start": {
          "line": 21,
          "column": 35
        },
        "end": {
          "line": 21,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 619,
      "end": 620,
      "loc": {
        "start": {
          "line": 21,
          "column": 53
        },
        "end": {
          "line": 21,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 620,
      "end": 624,
      "loc": {
        "start": {
          "line": 21,
          "column": 54
        },
        "end": {
          "line": 21,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 624,
      "end": 625,
      "loc": {
        "start": {
          "line": 21,
          "column": 58
        },
        "end": {
          "line": 21,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 625,
      "end": 629,
      "loc": {
        "start": {
          "line": 21,
          "column": 59
        },
        "end": {
          "line": 21,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 629,
      "end": 630,
      "loc": {
        "start": {
          "line": 21,
          "column": 63
        },
        "end": {
          "line": 21,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 630,
      "end": 631,
      "loc": {
        "start": {
          "line": 21,
          "column": 64
        },
        "end": {
          "line": 21,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 637,
      "end": 641,
      "loc": {
        "start": {
          "line": 22,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 641,
      "end": 642,
      "loc": {
        "start": {
          "line": 22,
          "column": 8
        },
        "end": {
          "line": 22,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "camelCase",
      "start": 642,
      "end": 651,
      "loc": {
        "start": {
          "line": 22,
          "column": 9
        },
        "end": {
          "line": 22,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 652,
      "end": 653,
      "loc": {
        "start": {
          "line": 22,
          "column": 19
        },
        "end": {
          "line": 22,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 654,
      "end": 658,
      "loc": {
        "start": {
          "line": 22,
          "column": 21
        },
        "end": {
          "line": 22,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 658,
      "end": 659,
      "loc": {
        "start": {
          "line": 22,
          "column": 25
        },
        "end": {
          "line": 22,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "camelCase",
      "start": 659,
      "end": 668,
      "loc": {
        "start": {
          "line": 22,
          "column": 26
        },
        "end": {
          "line": 22,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 668,
      "end": 669,
      "loc": {
        "start": {
          "line": 22,
          "column": 35
        },
        "end": {
          "line": 22,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 669,
      "end": 673,
      "loc": {
        "start": {
          "line": 22,
          "column": 36
        },
        "end": {
          "line": 22,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 673,
      "end": 674,
      "loc": {
        "start": {
          "line": 22,
          "column": 40
        },
        "end": {
          "line": 22,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 674,
      "end": 678,
      "loc": {
        "start": {
          "line": 22,
          "column": 41
        },
        "end": {
          "line": 22,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 678,
      "end": 679,
      "loc": {
        "start": {
          "line": 22,
          "column": 45
        },
        "end": {
          "line": 22,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 679,
      "end": 680,
      "loc": {
        "start": {
          "line": 22,
          "column": 46
        },
        "end": {
          "line": 22,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 686,
      "end": 690,
      "loc": {
        "start": {
          "line": 23,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 690,
      "end": 691,
      "loc": {
        "start": {
          "line": 23,
          "column": 8
        },
        "end": {
          "line": 23,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "countInArray",
      "start": 691,
      "end": 703,
      "loc": {
        "start": {
          "line": 23,
          "column": 9
        },
        "end": {
          "line": 23,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 704,
      "end": 705,
      "loc": {
        "start": {
          "line": 23,
          "column": 22
        },
        "end": {
          "line": 23,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 706,
      "end": 710,
      "loc": {
        "start": {
          "line": 23,
          "column": 24
        },
        "end": {
          "line": 23,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 710,
      "end": 711,
      "loc": {
        "start": {
          "line": 23,
          "column": 28
        },
        "end": {
          "line": 23,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "countInArray",
      "start": 711,
      "end": 723,
      "loc": {
        "start": {
          "line": 23,
          "column": 29
        },
        "end": {
          "line": 23,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 723,
      "end": 724,
      "loc": {
        "start": {
          "line": 23,
          "column": 41
        },
        "end": {
          "line": 23,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 724,
      "end": 728,
      "loc": {
        "start": {
          "line": 23,
          "column": 42
        },
        "end": {
          "line": 23,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 728,
      "end": 729,
      "loc": {
        "start": {
          "line": 23,
          "column": 46
        },
        "end": {
          "line": 23,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 729,
      "end": 733,
      "loc": {
        "start": {
          "line": 23,
          "column": 47
        },
        "end": {
          "line": 23,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 733,
      "end": 734,
      "loc": {
        "start": {
          "line": 23,
          "column": 51
        },
        "end": {
          "line": 23,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 734,
      "end": 735,
      "loc": {
        "start": {
          "line": 23,
          "column": 52
        },
        "end": {
          "line": 23,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 739,
      "end": 740,
      "loc": {
        "start": {
          "line": 24,
          "column": 2
        },
        "end": {
          "line": 24,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Adds default classes to a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @return {string} The classes to be added to the button\r\n   ",
      "start": 746,
      "end": 924,
      "loc": {
        "start": {
          "line": 26,
          "column": 2
        },
        "end": {
          "line": 31,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getButtonClass",
      "start": 928,
      "end": 942,
      "loc": {
        "start": {
          "line": 32,
          "column": 2
        },
        "end": {
          "line": 32,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 942,
      "end": 943,
      "loc": {
        "start": {
          "line": 32,
          "column": 16
        },
        "end": {
          "line": 32,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 943,
      "end": 949,
      "loc": {
        "start": {
          "line": 32,
          "column": 17
        },
        "end": {
          "line": 32,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 949,
      "end": 950,
      "loc": {
        "start": {
          "line": 32,
          "column": 23
        },
        "end": {
          "line": 32,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 950,
      "end": 951,
      "loc": {
        "start": {
          "line": 32,
          "column": 24
        },
        "end": {
          "line": 32,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 957,
      "end": 960,
      "loc": {
        "start": {
          "line": 33,
          "column": 4
        },
        "end": {
          "line": 33,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonTypeClass",
      "start": 961,
      "end": 976,
      "loc": {
        "start": {
          "line": 33,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 977,
      "end": 978,
      "loc": {
        "start": {
          "line": 33,
          "column": 24
        },
        "end": {
          "line": 33,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 979,
      "end": 980,
      "loc": {
        "start": {
          "line": 33,
          "column": 26
        },
        "end": {
          "line": 33,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 980,
      "end": 986,
      "loc": {
        "start": {
          "line": 33,
          "column": 27
        },
        "end": {
          "line": 33,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 986,
      "end": 987,
      "loc": {
        "start": {
          "line": 33,
          "column": 33
        },
        "end": {
          "line": 33,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "includes",
      "start": 987,
      "end": 995,
      "loc": {
        "start": {
          "line": 33,
          "column": 34
        },
        "end": {
          "line": 33,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 995,
      "end": 996,
      "loc": {
        "start": {
          "line": 33,
          "column": 42
        },
        "end": {
          "line": 33,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{",
      "start": 996,
      "end": 999,
      "loc": {
        "start": {
          "line": 33,
          "column": 43
        },
        "end": {
          "line": 33,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 999,
      "end": 1000,
      "loc": {
        "start": {
          "line": 33,
          "column": 46
        },
        "end": {
          "line": 33,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1001,
      "end": 1003,
      "loc": {
        "start": {
          "line": 33,
          "column": 48
        },
        "end": {
          "line": 33,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 1004,
      "end": 1010,
      "loc": {
        "start": {
          "line": 33,
          "column": 51
        },
        "end": {
          "line": 33,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1010,
      "end": 1011,
      "loc": {
        "start": {
          "line": 33,
          "column": 57
        },
        "end": {
          "line": 33,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "includes",
      "start": 1011,
      "end": 1019,
      "loc": {
        "start": {
          "line": 33,
          "column": 58
        },
        "end": {
          "line": 33,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1019,
      "end": 1020,
      "loc": {
        "start": {
          "line": 33,
          "column": 66
        },
        "end": {
          "line": 33,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "}",
      "start": 1020,
      "end": 1023,
      "loc": {
        "start": {
          "line": 33,
          "column": 67
        },
        "end": {
          "line": 33,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1023,
      "end": 1024,
      "loc": {
        "start": {
          "line": 33,
          "column": 70
        },
        "end": {
          "line": 33,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1025,
      "end": 1027,
      "loc": {
        "start": {
          "line": 33,
          "column": 72
        },
        "end": {
          "line": 33,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 1028,
      "end": 1034,
      "loc": {
        "start": {
          "line": 33,
          "column": 75
        },
        "end": {
          "line": 33,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 1035,
      "end": 1038,
      "loc": {
        "start": {
          "line": 33,
          "column": 82
        },
        "end": {
          "line": 33,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{//}",
      "start": 1039,
      "end": 1045,
      "loc": {
        "start": {
          "line": 33,
          "column": 86
        },
        "end": {
          "line": 33,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1045,
      "end": 1046,
      "loc": {
        "start": {
          "line": 33,
          "column": 92
        },
        "end": {
          "line": 33,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1047,
      "end": 1048,
      "loc": {
        "start": {
          "line": 33,
          "column": 94
        },
        "end": {
          "line": 33,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "functionBtn",
      "start": 1049,
      "end": 1062,
      "loc": {
        "start": {
          "line": 33,
          "column": 96
        },
        "end": {
          "line": 33,
          "column": 109
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1063,
      "end": 1064,
      "loc": {
        "start": {
          "line": 33,
          "column": 110
        },
        "end": {
          "line": 33,
          "column": 111
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "standardBtn",
      "start": 1065,
      "end": 1078,
      "loc": {
        "start": {
          "line": 33,
          "column": 112
        },
        "end": {
          "line": 33,
          "column": 125
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1078,
      "end": 1079,
      "loc": {
        "start": {
          "line": 33,
          "column": 125
        },
        "end": {
          "line": 33,
          "column": 126
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1085,
      "end": 1088,
      "loc": {
        "start": {
          "line": 34,
          "column": 4
        },
        "end": {
          "line": 34,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonWithoutBraces",
      "start": 1089,
      "end": 1108,
      "loc": {
        "start": {
          "line": 34,
          "column": 8
        },
        "end": {
          "line": 34,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1109,
      "end": 1110,
      "loc": {
        "start": {
          "line": 34,
          "column": 28
        },
        "end": {
          "line": 34,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 1111,
      "end": 1117,
      "loc": {
        "start": {
          "line": 34,
          "column": 30
        },
        "end": {
          "line": 34,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1117,
      "end": 1118,
      "loc": {
        "start": {
          "line": 34,
          "column": 36
        },
        "end": {
          "line": 34,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "replace",
      "start": 1118,
      "end": 1125,
      "loc": {
        "start": {
          "line": 34,
          "column": 37
        },
        "end": {
          "line": 34,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1125,
      "end": 1126,
      "loc": {
        "start": {
          "line": 34,
          "column": 44
        },
        "end": {
          "line": 34,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{",
      "start": 1126,
      "end": 1129,
      "loc": {
        "start": {
          "line": 34,
          "column": 45
        },
        "end": {
          "line": 34,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1129,
      "end": 1130,
      "loc": {
        "start": {
          "line": 34,
          "column": 48
        },
        "end": {
          "line": 34,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1131,
      "end": 1133,
      "loc": {
        "start": {
          "line": 34,
          "column": 50
        },
        "end": {
          "line": 34,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1133,
      "end": 1134,
      "loc": {
        "start": {
          "line": 34,
          "column": 52
        },
        "end": {
          "line": 34,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1134,
      "end": 1135,
      "loc": {
        "start": {
          "line": 34,
          "column": 53
        },
        "end": {
          "line": 34,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "replace",
      "start": 1135,
      "end": 1142,
      "loc": {
        "start": {
          "line": 34,
          "column": 54
        },
        "end": {
          "line": 34,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1142,
      "end": 1143,
      "loc": {
        "start": {
          "line": 34,
          "column": 61
        },
        "end": {
          "line": 34,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "}",
      "start": 1143,
      "end": 1146,
      "loc": {
        "start": {
          "line": 34,
          "column": 62
        },
        "end": {
          "line": 34,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1146,
      "end": 1147,
      "loc": {
        "start": {
          "line": 34,
          "column": 65
        },
        "end": {
          "line": 34,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1148,
      "end": 1150,
      "loc": {
        "start": {
          "line": 34,
          "column": 67
        },
        "end": {
          "line": 34,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1150,
      "end": 1151,
      "loc": {
        "start": {
          "line": 34,
          "column": 69
        },
        "end": {
          "line": 34,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1151,
      "end": 1152,
      "loc": {
        "start": {
          "line": 34,
          "column": 70
        },
        "end": {
          "line": 34,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1158,
      "end": 1161,
      "loc": {
        "start": {
          "line": 35,
          "column": 4
        },
        "end": {
          "line": 35,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonNormalized",
      "start": 1162,
      "end": 1178,
      "loc": {
        "start": {
          "line": 35,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1179,
      "end": 1180,
      "loc": {
        "start": {
          "line": 35,
          "column": 25
        },
        "end": {
          "line": 35,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1181,
      "end": 1183,
      "loc": {
        "start": {
          "line": 35,
          "column": 27
        },
        "end": {
          "line": 35,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1183,
      "end": 1184,
      "loc": {
        "start": {
          "line": 35,
          "column": 29
        },
        "end": {
          "line": 35,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 1192,
      "end": 1194,
      "loc": {
        "start": {
          "line": 37,
          "column": 4
        },
        "end": {
          "line": 37,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1194,
      "end": 1195,
      "loc": {
        "start": {
          "line": 37,
          "column": 6
        },
        "end": {
          "line": 37,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonTypeClass",
      "start": 1195,
      "end": 1210,
      "loc": {
        "start": {
          "line": 37,
          "column": 7
        },
        "end": {
          "line": 37,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 1211,
      "end": 1214,
      "loc": {
        "start": {
          "line": 37,
          "column": 23
        },
        "end": {
          "line": 37,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "standardBtn",
      "start": 1215,
      "end": 1228,
      "loc": {
        "start": {
          "line": 37,
          "column": 27
        },
        "end": {
          "line": 37,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1228,
      "end": 1229,
      "loc": {
        "start": {
          "line": 37,
          "column": 40
        },
        "end": {
          "line": 37,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonNormalized",
      "start": 1237,
      "end": 1253,
      "loc": {
        "start": {
          "line": 38,
          "column": 6
        },
        "end": {
          "line": 38,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1254,
      "end": 1255,
      "loc": {
        "start": {
          "line": 38,
          "column": 23
        },
        "end": {
          "line": 38,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1256,
      "end": 1257,
      "loc": {
        "start": {
          "line": 38,
          "column": 25
        },
        "end": {
          "line": 38,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " hg-button-",
      "start": 1257,
      "end": 1268,
      "loc": {
        "start": {
          "line": 38,
          "column": 26
        },
        "end": {
          "line": 38,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1268,
      "end": 1270,
      "loc": {
        "start": {
          "line": 38,
          "column": 37
        },
        "end": {
          "line": 38,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonWithoutBraces",
      "start": 1270,
      "end": 1289,
      "loc": {
        "start": {
          "line": 38,
          "column": 39
        },
        "end": {
          "line": 38,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1289,
      "end": 1290,
      "loc": {
        "start": {
          "line": 38,
          "column": 58
        },
        "end": {
          "line": 38,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1290,
      "end": 1290,
      "loc": {
        "start": {
          "line": 38,
          "column": 59
        },
        "end": {
          "line": 38,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1290,
      "end": 1291,
      "loc": {
        "start": {
          "line": 38,
          "column": 59
        },
        "end": {
          "line": 38,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1291,
      "end": 1292,
      "loc": {
        "start": {
          "line": 38,
          "column": 60
        },
        "end": {
          "line": 38,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1300,
      "end": 1306,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1307,
      "end": 1308,
      "loc": {
        "start": {
          "line": 40,
          "column": 11
        },
        "end": {
          "line": 40,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "hg-",
      "start": 1308,
      "end": 1311,
      "loc": {
        "start": {
          "line": 40,
          "column": 12
        },
        "end": {
          "line": 40,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1311,
      "end": 1313,
      "loc": {
        "start": {
          "line": 40,
          "column": 15
        },
        "end": {
          "line": 40,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonTypeClass",
      "start": 1313,
      "end": 1328,
      "loc": {
        "start": {
          "line": 40,
          "column": 17
        },
        "end": {
          "line": 40,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1328,
      "end": 1329,
      "loc": {
        "start": {
          "line": 40,
          "column": 32
        },
        "end": {
          "line": 40,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1329,
      "end": 1329,
      "loc": {
        "start": {
          "line": 40,
          "column": 33
        },
        "end": {
          "line": 40,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1329,
      "end": 1331,
      "loc": {
        "start": {
          "line": 40,
          "column": 33
        },
        "end": {
          "line": 40,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonNormalized",
      "start": 1331,
      "end": 1347,
      "loc": {
        "start": {
          "line": 40,
          "column": 35
        },
        "end": {
          "line": 40,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1347,
      "end": 1348,
      "loc": {
        "start": {
          "line": 40,
          "column": 51
        },
        "end": {
          "line": 40,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1348,
      "end": 1348,
      "loc": {
        "start": {
          "line": 40,
          "column": 52
        },
        "end": {
          "line": 40,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1348,
      "end": 1349,
      "loc": {
        "start": {
          "line": 40,
          "column": 52
        },
        "end": {
          "line": 40,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1349,
      "end": 1350,
      "loc": {
        "start": {
          "line": 40,
          "column": 53
        },
        "end": {
          "line": 40,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1354,
      "end": 1355,
      "loc": {
        "start": {
          "line": 41,
          "column": 2
        },
        "end": {
          "line": 41,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Default button display labels\r\n   ",
      "start": 1361,
      "end": 1407,
      "loc": {
        "start": {
          "line": 43,
          "column": 2
        },
        "end": {
          "line": 45,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getDefaultDiplay",
      "start": 1411,
      "end": 1427,
      "loc": {
        "start": {
          "line": 46,
          "column": 2
        },
        "end": {
          "line": 46,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1427,
      "end": 1428,
      "loc": {
        "start": {
          "line": 46,
          "column": 18
        },
        "end": {
          "line": 46,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1428,
      "end": 1429,
      "loc": {
        "start": {
          "line": 46,
          "column": 19
        },
        "end": {
          "line": 46,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1429,
      "end": 1430,
      "loc": {
        "start": {
          "line": 46,
          "column": 20
        },
        "end": {
          "line": 46,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 1436,
      "end": 1442,
      "loc": {
        "start": {
          "line": 47,
          "column": 4
        },
        "end": {
          "line": 47,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1443,
      "end": 1444,
      "loc": {
        "start": {
          "line": 47,
          "column": 11
        },
        "end": {
          "line": 47,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{bksp}",
      "start": 1452,
      "end": 1460,
      "loc": {
        "start": {
          "line": 48,
          "column": 6
        },
        "end": {
          "line": 48,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1460,
      "end": 1461,
      "loc": {
        "start": {
          "line": 48,
          "column": 14
        },
        "end": {
          "line": 48,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "backspace",
      "start": 1462,
      "end": 1473,
      "loc": {
        "start": {
          "line": 48,
          "column": 16
        },
        "end": {
          "line": 48,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1473,
      "end": 1474,
      "loc": {
        "start": {
          "line": 48,
          "column": 27
        },
        "end": {
          "line": 48,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{backspace}",
      "start": 1482,
      "end": 1495,
      "loc": {
        "start": {
          "line": 49,
          "column": 6
        },
        "end": {
          "line": 49,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1495,
      "end": 1496,
      "loc": {
        "start": {
          "line": 49,
          "column": 19
        },
        "end": {
          "line": 49,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "backspace",
      "start": 1497,
      "end": 1508,
      "loc": {
        "start": {
          "line": 49,
          "column": 21
        },
        "end": {
          "line": 49,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1508,
      "end": 1509,
      "loc": {
        "start": {
          "line": 49,
          "column": 32
        },
        "end": {
          "line": 49,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{enter}",
      "start": 1517,
      "end": 1526,
      "loc": {
        "start": {
          "line": 50,
          "column": 6
        },
        "end": {
          "line": 50,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1526,
      "end": 1527,
      "loc": {
        "start": {
          "line": 50,
          "column": 15
        },
        "end": {
          "line": 50,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "< enter",
      "start": 1528,
      "end": 1537,
      "loc": {
        "start": {
          "line": 50,
          "column": 17
        },
        "end": {
          "line": 50,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1537,
      "end": 1538,
      "loc": {
        "start": {
          "line": 50,
          "column": 26
        },
        "end": {
          "line": 50,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{shift}",
      "start": 1546,
      "end": 1555,
      "loc": {
        "start": {
          "line": 51,
          "column": 6
        },
        "end": {
          "line": 51,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1555,
      "end": 1556,
      "loc": {
        "start": {
          "line": 51,
          "column": 15
        },
        "end": {
          "line": 51,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "shift",
      "start": 1557,
      "end": 1564,
      "loc": {
        "start": {
          "line": 51,
          "column": 17
        },
        "end": {
          "line": 51,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1564,
      "end": 1565,
      "loc": {
        "start": {
          "line": 51,
          "column": 24
        },
        "end": {
          "line": 51,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{shiftleft}",
      "start": 1573,
      "end": 1586,
      "loc": {
        "start": {
          "line": 52,
          "column": 6
        },
        "end": {
          "line": 52,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1586,
      "end": 1587,
      "loc": {
        "start": {
          "line": 52,
          "column": 19
        },
        "end": {
          "line": 52,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "shift",
      "start": 1588,
      "end": 1595,
      "loc": {
        "start": {
          "line": 52,
          "column": 21
        },
        "end": {
          "line": 52,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1595,
      "end": 1596,
      "loc": {
        "start": {
          "line": 52,
          "column": 28
        },
        "end": {
          "line": 52,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{shiftright}",
      "start": 1604,
      "end": 1618,
      "loc": {
        "start": {
          "line": 53,
          "column": 6
        },
        "end": {
          "line": 53,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1618,
      "end": 1619,
      "loc": {
        "start": {
          "line": 53,
          "column": 20
        },
        "end": {
          "line": 53,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "shift",
      "start": 1620,
      "end": 1627,
      "loc": {
        "start": {
          "line": 53,
          "column": 22
        },
        "end": {
          "line": 53,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1627,
      "end": 1628,
      "loc": {
        "start": {
          "line": 53,
          "column": 29
        },
        "end": {
          "line": 53,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{alt}",
      "start": 1636,
      "end": 1643,
      "loc": {
        "start": {
          "line": 54,
          "column": 6
        },
        "end": {
          "line": 54,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1643,
      "end": 1644,
      "loc": {
        "start": {
          "line": 54,
          "column": 13
        },
        "end": {
          "line": 54,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "alt",
      "start": 1645,
      "end": 1650,
      "loc": {
        "start": {
          "line": 54,
          "column": 15
        },
        "end": {
          "line": 54,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1650,
      "end": 1651,
      "loc": {
        "start": {
          "line": 54,
          "column": 20
        },
        "end": {
          "line": 54,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{s}",
      "start": 1659,
      "end": 1664,
      "loc": {
        "start": {
          "line": 55,
          "column": 6
        },
        "end": {
          "line": 55,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1664,
      "end": 1665,
      "loc": {
        "start": {
          "line": 55,
          "column": 11
        },
        "end": {
          "line": 55,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "shift",
      "start": 1666,
      "end": 1673,
      "loc": {
        "start": {
          "line": 55,
          "column": 13
        },
        "end": {
          "line": 55,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1673,
      "end": 1674,
      "loc": {
        "start": {
          "line": 55,
          "column": 20
        },
        "end": {
          "line": 55,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{tab}",
      "start": 1682,
      "end": 1689,
      "loc": {
        "start": {
          "line": 56,
          "column": 6
        },
        "end": {
          "line": 56,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1689,
      "end": 1690,
      "loc": {
        "start": {
          "line": 56,
          "column": 13
        },
        "end": {
          "line": 56,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "tab",
      "start": 1691,
      "end": 1696,
      "loc": {
        "start": {
          "line": 56,
          "column": 15
        },
        "end": {
          "line": 56,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1696,
      "end": 1697,
      "loc": {
        "start": {
          "line": 56,
          "column": 20
        },
        "end": {
          "line": 56,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{lock}",
      "start": 1705,
      "end": 1713,
      "loc": {
        "start": {
          "line": 57,
          "column": 6
        },
        "end": {
          "line": 57,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1713,
      "end": 1714,
      "loc": {
        "start": {
          "line": 57,
          "column": 14
        },
        "end": {
          "line": 57,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "caps",
      "start": 1715,
      "end": 1721,
      "loc": {
        "start": {
          "line": 57,
          "column": 16
        },
        "end": {
          "line": 57,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1721,
      "end": 1722,
      "loc": {
        "start": {
          "line": 57,
          "column": 22
        },
        "end": {
          "line": 57,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{capslock}",
      "start": 1730,
      "end": 1742,
      "loc": {
        "start": {
          "line": 58,
          "column": 6
        },
        "end": {
          "line": 58,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1742,
      "end": 1743,
      "loc": {
        "start": {
          "line": 58,
          "column": 18
        },
        "end": {
          "line": 58,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "caps",
      "start": 1744,
      "end": 1750,
      "loc": {
        "start": {
          "line": 58,
          "column": 20
        },
        "end": {
          "line": 58,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1750,
      "end": 1751,
      "loc": {
        "start": {
          "line": 58,
          "column": 26
        },
        "end": {
          "line": 58,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{accept}",
      "start": 1759,
      "end": 1769,
      "loc": {
        "start": {
          "line": 59,
          "column": 6
        },
        "end": {
          "line": 59,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1769,
      "end": 1770,
      "loc": {
        "start": {
          "line": 59,
          "column": 16
        },
        "end": {
          "line": 59,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Submit",
      "start": 1771,
      "end": 1779,
      "loc": {
        "start": {
          "line": 59,
          "column": 18
        },
        "end": {
          "line": 59,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1779,
      "end": 1780,
      "loc": {
        "start": {
          "line": 59,
          "column": 26
        },
        "end": {
          "line": 59,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{space}",
      "start": 1788,
      "end": 1797,
      "loc": {
        "start": {
          "line": 60,
          "column": 6
        },
        "end": {
          "line": 60,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1797,
      "end": 1798,
      "loc": {
        "start": {
          "line": 60,
          "column": 15
        },
        "end": {
          "line": 60,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " ",
      "start": 1799,
      "end": 1802,
      "loc": {
        "start": {
          "line": 60,
          "column": 17
        },
        "end": {
          "line": 60,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1802,
      "end": 1803,
      "loc": {
        "start": {
          "line": 60,
          "column": 20
        },
        "end": {
          "line": 60,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{//}",
      "start": 1811,
      "end": 1817,
      "loc": {
        "start": {
          "line": 61,
          "column": 6
        },
        "end": {
          "line": 61,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1817,
      "end": 1818,
      "loc": {
        "start": {
          "line": 61,
          "column": 12
        },
        "end": {
          "line": 61,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " ",
      "start": 1819,
      "end": 1822,
      "loc": {
        "start": {
          "line": 61,
          "column": 14
        },
        "end": {
          "line": 61,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1822,
      "end": 1823,
      "loc": {
        "start": {
          "line": 61,
          "column": 17
        },
        "end": {
          "line": 61,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{esc}",
      "start": 1831,
      "end": 1838,
      "loc": {
        "start": {
          "line": 62,
          "column": 6
        },
        "end": {
          "line": 62,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1838,
      "end": 1839,
      "loc": {
        "start": {
          "line": 62,
          "column": 13
        },
        "end": {
          "line": 62,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "esc",
      "start": 1840,
      "end": 1845,
      "loc": {
        "start": {
          "line": 62,
          "column": 15
        },
        "end": {
          "line": 62,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1845,
      "end": 1846,
      "loc": {
        "start": {
          "line": 62,
          "column": 20
        },
        "end": {
          "line": 62,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{escape}",
      "start": 1854,
      "end": 1864,
      "loc": {
        "start": {
          "line": 63,
          "column": 6
        },
        "end": {
          "line": 63,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1864,
      "end": 1865,
      "loc": {
        "start": {
          "line": 63,
          "column": 16
        },
        "end": {
          "line": 63,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "esc",
      "start": 1866,
      "end": 1871,
      "loc": {
        "start": {
          "line": 63,
          "column": 18
        },
        "end": {
          "line": 63,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1871,
      "end": 1872,
      "loc": {
        "start": {
          "line": 63,
          "column": 23
        },
        "end": {
          "line": 63,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f1}",
      "start": 1880,
      "end": 1886,
      "loc": {
        "start": {
          "line": 64,
          "column": 6
        },
        "end": {
          "line": 64,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1886,
      "end": 1887,
      "loc": {
        "start": {
          "line": 64,
          "column": 12
        },
        "end": {
          "line": 64,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f1",
      "start": 1888,
      "end": 1892,
      "loc": {
        "start": {
          "line": 64,
          "column": 14
        },
        "end": {
          "line": 64,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1892,
      "end": 1893,
      "loc": {
        "start": {
          "line": 64,
          "column": 18
        },
        "end": {
          "line": 64,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f2}",
      "start": 1901,
      "end": 1907,
      "loc": {
        "start": {
          "line": 65,
          "column": 6
        },
        "end": {
          "line": 65,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1907,
      "end": 1908,
      "loc": {
        "start": {
          "line": 65,
          "column": 12
        },
        "end": {
          "line": 65,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f2",
      "start": 1909,
      "end": 1913,
      "loc": {
        "start": {
          "line": 65,
          "column": 14
        },
        "end": {
          "line": 65,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1913,
      "end": 1914,
      "loc": {
        "start": {
          "line": 65,
          "column": 18
        },
        "end": {
          "line": 65,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f3}",
      "start": 1922,
      "end": 1928,
      "loc": {
        "start": {
          "line": 66,
          "column": 6
        },
        "end": {
          "line": 66,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1928,
      "end": 1929,
      "loc": {
        "start": {
          "line": 66,
          "column": 12
        },
        "end": {
          "line": 66,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f3",
      "start": 1930,
      "end": 1934,
      "loc": {
        "start": {
          "line": 66,
          "column": 14
        },
        "end": {
          "line": 66,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1934,
      "end": 1935,
      "loc": {
        "start": {
          "line": 66,
          "column": 18
        },
        "end": {
          "line": 66,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f4}",
      "start": 1943,
      "end": 1949,
      "loc": {
        "start": {
          "line": 67,
          "column": 6
        },
        "end": {
          "line": 67,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1949,
      "end": 1950,
      "loc": {
        "start": {
          "line": 67,
          "column": 12
        },
        "end": {
          "line": 67,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f4",
      "start": 1951,
      "end": 1955,
      "loc": {
        "start": {
          "line": 67,
          "column": 14
        },
        "end": {
          "line": 67,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1955,
      "end": 1956,
      "loc": {
        "start": {
          "line": 67,
          "column": 18
        },
        "end": {
          "line": 67,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f5}",
      "start": 1964,
      "end": 1970,
      "loc": {
        "start": {
          "line": 68,
          "column": 6
        },
        "end": {
          "line": 68,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1970,
      "end": 1971,
      "loc": {
        "start": {
          "line": 68,
          "column": 12
        },
        "end": {
          "line": 68,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f5",
      "start": 1972,
      "end": 1976,
      "loc": {
        "start": {
          "line": 68,
          "column": 14
        },
        "end": {
          "line": 68,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1976,
      "end": 1977,
      "loc": {
        "start": {
          "line": 68,
          "column": 18
        },
        "end": {
          "line": 68,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f6}",
      "start": 1985,
      "end": 1991,
      "loc": {
        "start": {
          "line": 69,
          "column": 6
        },
        "end": {
          "line": 69,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1991,
      "end": 1992,
      "loc": {
        "start": {
          "line": 69,
          "column": 12
        },
        "end": {
          "line": 69,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f6",
      "start": 1993,
      "end": 1997,
      "loc": {
        "start": {
          "line": 69,
          "column": 14
        },
        "end": {
          "line": 69,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1997,
      "end": 1998,
      "loc": {
        "start": {
          "line": 69,
          "column": 18
        },
        "end": {
          "line": 69,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f7}",
      "start": 2006,
      "end": 2012,
      "loc": {
        "start": {
          "line": 70,
          "column": 6
        },
        "end": {
          "line": 70,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2012,
      "end": 2013,
      "loc": {
        "start": {
          "line": 70,
          "column": 12
        },
        "end": {
          "line": 70,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f7",
      "start": 2014,
      "end": 2018,
      "loc": {
        "start": {
          "line": 70,
          "column": 14
        },
        "end": {
          "line": 70,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2018,
      "end": 2019,
      "loc": {
        "start": {
          "line": 70,
          "column": 18
        },
        "end": {
          "line": 70,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f8}",
      "start": 2027,
      "end": 2033,
      "loc": {
        "start": {
          "line": 71,
          "column": 6
        },
        "end": {
          "line": 71,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2033,
      "end": 2034,
      "loc": {
        "start": {
          "line": 71,
          "column": 12
        },
        "end": {
          "line": 71,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f8",
      "start": 2035,
      "end": 2039,
      "loc": {
        "start": {
          "line": 71,
          "column": 14
        },
        "end": {
          "line": 71,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2039,
      "end": 2040,
      "loc": {
        "start": {
          "line": 71,
          "column": 18
        },
        "end": {
          "line": 71,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f9}",
      "start": 2048,
      "end": 2054,
      "loc": {
        "start": {
          "line": 72,
          "column": 6
        },
        "end": {
          "line": 72,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2054,
      "end": 2055,
      "loc": {
        "start": {
          "line": 72,
          "column": 12
        },
        "end": {
          "line": 72,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f9",
      "start": 2056,
      "end": 2060,
      "loc": {
        "start": {
          "line": 72,
          "column": 14
        },
        "end": {
          "line": 72,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2060,
      "end": 2061,
      "loc": {
        "start": {
          "line": 72,
          "column": 18
        },
        "end": {
          "line": 72,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f10}",
      "start": 2069,
      "end": 2076,
      "loc": {
        "start": {
          "line": 73,
          "column": 6
        },
        "end": {
          "line": 73,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2076,
      "end": 2077,
      "loc": {
        "start": {
          "line": 73,
          "column": 13
        },
        "end": {
          "line": 73,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f10",
      "start": 2078,
      "end": 2083,
      "loc": {
        "start": {
          "line": 73,
          "column": 15
        },
        "end": {
          "line": 73,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2083,
      "end": 2084,
      "loc": {
        "start": {
          "line": 73,
          "column": 20
        },
        "end": {
          "line": 73,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f11}",
      "start": 2092,
      "end": 2099,
      "loc": {
        "start": {
          "line": 74,
          "column": 6
        },
        "end": {
          "line": 74,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2099,
      "end": 2100,
      "loc": {
        "start": {
          "line": 74,
          "column": 13
        },
        "end": {
          "line": 74,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f11",
      "start": 2101,
      "end": 2106,
      "loc": {
        "start": {
          "line": 74,
          "column": 15
        },
        "end": {
          "line": 74,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2106,
      "end": 2107,
      "loc": {
        "start": {
          "line": 74,
          "column": 20
        },
        "end": {
          "line": 74,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f12}",
      "start": 2115,
      "end": 2122,
      "loc": {
        "start": {
          "line": 75,
          "column": 6
        },
        "end": {
          "line": 75,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2122,
      "end": 2123,
      "loc": {
        "start": {
          "line": 75,
          "column": 13
        },
        "end": {
          "line": 75,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f12",
      "start": 2124,
      "end": 2129,
      "loc": {
        "start": {
          "line": 75,
          "column": 15
        },
        "end": {
          "line": 75,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2129,
      "end": 2130,
      "loc": {
        "start": {
          "line": 75,
          "column": 20
        },
        "end": {
          "line": 75,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpaddivide}",
      "start": 2138,
      "end": 2154,
      "loc": {
        "start": {
          "line": 76,
          "column": 6
        },
        "end": {
          "line": 76,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2154,
      "end": 2155,
      "loc": {
        "start": {
          "line": 76,
          "column": 22
        },
        "end": {
          "line": 76,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "/",
      "start": 2156,
      "end": 2159,
      "loc": {
        "start": {
          "line": 76,
          "column": 24
        },
        "end": {
          "line": 76,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2159,
      "end": 2160,
      "loc": {
        "start": {
          "line": 76,
          "column": 27
        },
        "end": {
          "line": 76,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numlock}",
      "start": 2168,
      "end": 2179,
      "loc": {
        "start": {
          "line": 77,
          "column": 6
        },
        "end": {
          "line": 77,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2179,
      "end": 2180,
      "loc": {
        "start": {
          "line": 77,
          "column": 17
        },
        "end": {
          "line": 77,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "lock",
      "start": 2181,
      "end": 2187,
      "loc": {
        "start": {
          "line": 77,
          "column": 19
        },
        "end": {
          "line": 77,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2187,
      "end": 2188,
      "loc": {
        "start": {
          "line": 77,
          "column": 25
        },
        "end": {
          "line": 77,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{arrowup}",
      "start": 2196,
      "end": 2207,
      "loc": {
        "start": {
          "line": 78,
          "column": 6
        },
        "end": {
          "line": 78,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2207,
      "end": 2208,
      "loc": {
        "start": {
          "line": 78,
          "column": 17
        },
        "end": {
          "line": 78,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "↑",
      "start": 2209,
      "end": 2212,
      "loc": {
        "start": {
          "line": 78,
          "column": 19
        },
        "end": {
          "line": 78,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2212,
      "end": 2213,
      "loc": {
        "start": {
          "line": 78,
          "column": 22
        },
        "end": {
          "line": 78,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{arrowleft}",
      "start": 2221,
      "end": 2234,
      "loc": {
        "start": {
          "line": 79,
          "column": 6
        },
        "end": {
          "line": 79,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2234,
      "end": 2235,
      "loc": {
        "start": {
          "line": 79,
          "column": 19
        },
        "end": {
          "line": 79,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "←",
      "start": 2236,
      "end": 2239,
      "loc": {
        "start": {
          "line": 79,
          "column": 21
        },
        "end": {
          "line": 79,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2239,
      "end": 2240,
      "loc": {
        "start": {
          "line": 79,
          "column": 24
        },
        "end": {
          "line": 79,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{arrowdown}",
      "start": 2248,
      "end": 2261,
      "loc": {
        "start": {
          "line": 80,
          "column": 6
        },
        "end": {
          "line": 80,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2261,
      "end": 2262,
      "loc": {
        "start": {
          "line": 80,
          "column": 19
        },
        "end": {
          "line": 80,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "↓",
      "start": 2263,
      "end": 2266,
      "loc": {
        "start": {
          "line": 80,
          "column": 21
        },
        "end": {
          "line": 80,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2266,
      "end": 2267,
      "loc": {
        "start": {
          "line": 80,
          "column": 24
        },
        "end": {
          "line": 80,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{arrowright}",
      "start": 2275,
      "end": 2289,
      "loc": {
        "start": {
          "line": 81,
          "column": 6
        },
        "end": {
          "line": 81,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2289,
      "end": 2290,
      "loc": {
        "start": {
          "line": 81,
          "column": 20
        },
        "end": {
          "line": 81,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "→",
      "start": 2291,
      "end": 2294,
      "loc": {
        "start": {
          "line": 81,
          "column": 22
        },
        "end": {
          "line": 81,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2294,
      "end": 2295,
      "loc": {
        "start": {
          "line": 81,
          "column": 25
        },
        "end": {
          "line": 81,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{prtscr}",
      "start": 2303,
      "end": 2313,
      "loc": {
        "start": {
          "line": 82,
          "column": 6
        },
        "end": {
          "line": 82,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2313,
      "end": 2314,
      "loc": {
        "start": {
          "line": 82,
          "column": 16
        },
        "end": {
          "line": 82,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "print",
      "start": 2315,
      "end": 2322,
      "loc": {
        "start": {
          "line": 82,
          "column": 18
        },
        "end": {
          "line": 82,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2322,
      "end": 2323,
      "loc": {
        "start": {
          "line": 82,
          "column": 25
        },
        "end": {
          "line": 82,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{scrolllock}",
      "start": 2331,
      "end": 2345,
      "loc": {
        "start": {
          "line": 83,
          "column": 6
        },
        "end": {
          "line": 83,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2345,
      "end": 2346,
      "loc": {
        "start": {
          "line": 83,
          "column": 20
        },
        "end": {
          "line": 83,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "scroll",
      "start": 2347,
      "end": 2355,
      "loc": {
        "start": {
          "line": 83,
          "column": 22
        },
        "end": {
          "line": 83,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2355,
      "end": 2356,
      "loc": {
        "start": {
          "line": 83,
          "column": 30
        },
        "end": {
          "line": 83,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{pause}",
      "start": 2364,
      "end": 2373,
      "loc": {
        "start": {
          "line": 84,
          "column": 6
        },
        "end": {
          "line": 84,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2373,
      "end": 2374,
      "loc": {
        "start": {
          "line": 84,
          "column": 15
        },
        "end": {
          "line": 84,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "pause",
      "start": 2375,
      "end": 2382,
      "loc": {
        "start": {
          "line": 84,
          "column": 17
        },
        "end": {
          "line": 84,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2382,
      "end": 2383,
      "loc": {
        "start": {
          "line": 84,
          "column": 24
        },
        "end": {
          "line": 84,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{insert}",
      "start": 2391,
      "end": 2401,
      "loc": {
        "start": {
          "line": 85,
          "column": 6
        },
        "end": {
          "line": 85,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2401,
      "end": 2402,
      "loc": {
        "start": {
          "line": 85,
          "column": 16
        },
        "end": {
          "line": 85,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "ins",
      "start": 2403,
      "end": 2408,
      "loc": {
        "start": {
          "line": 85,
          "column": 18
        },
        "end": {
          "line": 85,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2408,
      "end": 2409,
      "loc": {
        "start": {
          "line": 85,
          "column": 23
        },
        "end": {
          "line": 85,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{home}",
      "start": 2417,
      "end": 2425,
      "loc": {
        "start": {
          "line": 86,
          "column": 6
        },
        "end": {
          "line": 86,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2425,
      "end": 2426,
      "loc": {
        "start": {
          "line": 86,
          "column": 14
        },
        "end": {
          "line": 86,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "home",
      "start": 2427,
      "end": 2433,
      "loc": {
        "start": {
          "line": 86,
          "column": 16
        },
        "end": {
          "line": 86,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2433,
      "end": 2434,
      "loc": {
        "start": {
          "line": 86,
          "column": 22
        },
        "end": {
          "line": 86,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{pageup}",
      "start": 2442,
      "end": 2452,
      "loc": {
        "start": {
          "line": 87,
          "column": 6
        },
        "end": {
          "line": 87,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2452,
      "end": 2453,
      "loc": {
        "start": {
          "line": 87,
          "column": 16
        },
        "end": {
          "line": 87,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "up",
      "start": 2454,
      "end": 2458,
      "loc": {
        "start": {
          "line": 87,
          "column": 18
        },
        "end": {
          "line": 87,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2458,
      "end": 2459,
      "loc": {
        "start": {
          "line": 87,
          "column": 22
        },
        "end": {
          "line": 87,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{delete}",
      "start": 2467,
      "end": 2477,
      "loc": {
        "start": {
          "line": 88,
          "column": 6
        },
        "end": {
          "line": 88,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2477,
      "end": 2478,
      "loc": {
        "start": {
          "line": 88,
          "column": 16
        },
        "end": {
          "line": 88,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "del",
      "start": 2479,
      "end": 2484,
      "loc": {
        "start": {
          "line": 88,
          "column": 18
        },
        "end": {
          "line": 88,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2484,
      "end": 2485,
      "loc": {
        "start": {
          "line": 88,
          "column": 23
        },
        "end": {
          "line": 88,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{end}",
      "start": 2493,
      "end": 2500,
      "loc": {
        "start": {
          "line": 89,
          "column": 6
        },
        "end": {
          "line": 89,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2500,
      "end": 2501,
      "loc": {
        "start": {
          "line": 89,
          "column": 13
        },
        "end": {
          "line": 89,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "end",
      "start": 2502,
      "end": 2507,
      "loc": {
        "start": {
          "line": 89,
          "column": 15
        },
        "end": {
          "line": 89,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2507,
      "end": 2508,
      "loc": {
        "start": {
          "line": 89,
          "column": 20
        },
        "end": {
          "line": 89,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{pagedown}",
      "start": 2516,
      "end": 2528,
      "loc": {
        "start": {
          "line": 90,
          "column": 6
        },
        "end": {
          "line": 90,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2528,
      "end": 2529,
      "loc": {
        "start": {
          "line": 90,
          "column": 18
        },
        "end": {
          "line": 90,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "down",
      "start": 2530,
      "end": 2536,
      "loc": {
        "start": {
          "line": 90,
          "column": 20
        },
        "end": {
          "line": 90,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2536,
      "end": 2537,
      "loc": {
        "start": {
          "line": 90,
          "column": 26
        },
        "end": {
          "line": 90,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadmultiply}",
      "start": 2545,
      "end": 2563,
      "loc": {
        "start": {
          "line": 91,
          "column": 6
        },
        "end": {
          "line": 91,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2563,
      "end": 2564,
      "loc": {
        "start": {
          "line": 91,
          "column": 24
        },
        "end": {
          "line": 91,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "*",
      "start": 2565,
      "end": 2568,
      "loc": {
        "start": {
          "line": 91,
          "column": 26
        },
        "end": {
          "line": 91,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2568,
      "end": 2569,
      "loc": {
        "start": {
          "line": 91,
          "column": 29
        },
        "end": {
          "line": 91,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadsubtract}",
      "start": 2577,
      "end": 2595,
      "loc": {
        "start": {
          "line": 92,
          "column": 6
        },
        "end": {
          "line": 92,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2595,
      "end": 2596,
      "loc": {
        "start": {
          "line": 92,
          "column": 24
        },
        "end": {
          "line": 92,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "-",
      "start": 2597,
      "end": 2600,
      "loc": {
        "start": {
          "line": 92,
          "column": 26
        },
        "end": {
          "line": 92,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2600,
      "end": 2601,
      "loc": {
        "start": {
          "line": 92,
          "column": 29
        },
        "end": {
          "line": 92,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadadd}",
      "start": 2609,
      "end": 2622,
      "loc": {
        "start": {
          "line": 93,
          "column": 6
        },
        "end": {
          "line": 93,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2622,
      "end": 2623,
      "loc": {
        "start": {
          "line": 93,
          "column": 19
        },
        "end": {
          "line": 93,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "+",
      "start": 2624,
      "end": 2627,
      "loc": {
        "start": {
          "line": 93,
          "column": 21
        },
        "end": {
          "line": 93,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2627,
      "end": 2628,
      "loc": {
        "start": {
          "line": 93,
          "column": 24
        },
        "end": {
          "line": 93,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadenter}",
      "start": 2636,
      "end": 2651,
      "loc": {
        "start": {
          "line": 94,
          "column": 6
        },
        "end": {
          "line": 94,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2651,
      "end": 2652,
      "loc": {
        "start": {
          "line": 94,
          "column": 21
        },
        "end": {
          "line": 94,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "enter",
      "start": 2653,
      "end": 2660,
      "loc": {
        "start": {
          "line": 94,
          "column": 23
        },
        "end": {
          "line": 94,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2660,
      "end": 2661,
      "loc": {
        "start": {
          "line": 94,
          "column": 30
        },
        "end": {
          "line": 94,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{period}",
      "start": 2669,
      "end": 2679,
      "loc": {
        "start": {
          "line": 95,
          "column": 6
        },
        "end": {
          "line": 95,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2679,
      "end": 2680,
      "loc": {
        "start": {
          "line": 95,
          "column": 16
        },
        "end": {
          "line": 95,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".",
      "start": 2681,
      "end": 2684,
      "loc": {
        "start": {
          "line": 95,
          "column": 18
        },
        "end": {
          "line": 95,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2684,
      "end": 2685,
      "loc": {
        "start": {
          "line": 95,
          "column": 21
        },
        "end": {
          "line": 95,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpaddecimal}",
      "start": 2693,
      "end": 2710,
      "loc": {
        "start": {
          "line": 96,
          "column": 6
        },
        "end": {
          "line": 96,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2710,
      "end": 2711,
      "loc": {
        "start": {
          "line": 96,
          "column": 23
        },
        "end": {
          "line": 96,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".",
      "start": 2712,
      "end": 2715,
      "loc": {
        "start": {
          "line": 96,
          "column": 25
        },
        "end": {
          "line": 96,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2715,
      "end": 2716,
      "loc": {
        "start": {
          "line": 96,
          "column": 28
        },
        "end": {
          "line": 96,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad0}",
      "start": 2724,
      "end": 2735,
      "loc": {
        "start": {
          "line": 97,
          "column": 6
        },
        "end": {
          "line": 97,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2735,
      "end": 2736,
      "loc": {
        "start": {
          "line": 97,
          "column": 17
        },
        "end": {
          "line": 97,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "0",
      "start": 2737,
      "end": 2740,
      "loc": {
        "start": {
          "line": 97,
          "column": 19
        },
        "end": {
          "line": 97,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2740,
      "end": 2741,
      "loc": {
        "start": {
          "line": 97,
          "column": 22
        },
        "end": {
          "line": 97,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad1}",
      "start": 2749,
      "end": 2760,
      "loc": {
        "start": {
          "line": 98,
          "column": 6
        },
        "end": {
          "line": 98,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2760,
      "end": 2761,
      "loc": {
        "start": {
          "line": 98,
          "column": 17
        },
        "end": {
          "line": 98,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "1",
      "start": 2762,
      "end": 2765,
      "loc": {
        "start": {
          "line": 98,
          "column": 19
        },
        "end": {
          "line": 98,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2765,
      "end": 2766,
      "loc": {
        "start": {
          "line": 98,
          "column": 22
        },
        "end": {
          "line": 98,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad2}",
      "start": 2774,
      "end": 2785,
      "loc": {
        "start": {
          "line": 99,
          "column": 6
        },
        "end": {
          "line": 99,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2785,
      "end": 2786,
      "loc": {
        "start": {
          "line": 99,
          "column": 17
        },
        "end": {
          "line": 99,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "2",
      "start": 2787,
      "end": 2790,
      "loc": {
        "start": {
          "line": 99,
          "column": 19
        },
        "end": {
          "line": 99,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2790,
      "end": 2791,
      "loc": {
        "start": {
          "line": 99,
          "column": 22
        },
        "end": {
          "line": 99,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad3}",
      "start": 2799,
      "end": 2810,
      "loc": {
        "start": {
          "line": 100,
          "column": 6
        },
        "end": {
          "line": 100,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2810,
      "end": 2811,
      "loc": {
        "start": {
          "line": 100,
          "column": 17
        },
        "end": {
          "line": 100,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "3",
      "start": 2812,
      "end": 2815,
      "loc": {
        "start": {
          "line": 100,
          "column": 19
        },
        "end": {
          "line": 100,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2815,
      "end": 2816,
      "loc": {
        "start": {
          "line": 100,
          "column": 22
        },
        "end": {
          "line": 100,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad4}",
      "start": 2824,
      "end": 2835,
      "loc": {
        "start": {
          "line": 101,
          "column": 6
        },
        "end": {
          "line": 101,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2835,
      "end": 2836,
      "loc": {
        "start": {
          "line": 101,
          "column": 17
        },
        "end": {
          "line": 101,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "4",
      "start": 2837,
      "end": 2840,
      "loc": {
        "start": {
          "line": 101,
          "column": 19
        },
        "end": {
          "line": 101,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2840,
      "end": 2841,
      "loc": {
        "start": {
          "line": 101,
          "column": 22
        },
        "end": {
          "line": 101,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad5}",
      "start": 2849,
      "end": 2860,
      "loc": {
        "start": {
          "line": 102,
          "column": 6
        },
        "end": {
          "line": 102,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2860,
      "end": 2861,
      "loc": {
        "start": {
          "line": 102,
          "column": 17
        },
        "end": {
          "line": 102,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "5",
      "start": 2862,
      "end": 2865,
      "loc": {
        "start": {
          "line": 102,
          "column": 19
        },
        "end": {
          "line": 102,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2865,
      "end": 2866,
      "loc": {
        "start": {
          "line": 102,
          "column": 22
        },
        "end": {
          "line": 102,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad6}",
      "start": 2874,
      "end": 2885,
      "loc": {
        "start": {
          "line": 103,
          "column": 6
        },
        "end": {
          "line": 103,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2885,
      "end": 2886,
      "loc": {
        "start": {
          "line": 103,
          "column": 17
        },
        "end": {
          "line": 103,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "6",
      "start": 2887,
      "end": 2890,
      "loc": {
        "start": {
          "line": 103,
          "column": 19
        },
        "end": {
          "line": 103,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2890,
      "end": 2891,
      "loc": {
        "start": {
          "line": 103,
          "column": 22
        },
        "end": {
          "line": 103,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad7}",
      "start": 2899,
      "end": 2910,
      "loc": {
        "start": {
          "line": 104,
          "column": 6
        },
        "end": {
          "line": 104,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2910,
      "end": 2911,
      "loc": {
        "start": {
          "line": 104,
          "column": 17
        },
        "end": {
          "line": 104,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "7",
      "start": 2912,
      "end": 2915,
      "loc": {
        "start": {
          "line": 104,
          "column": 19
        },
        "end": {
          "line": 104,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2915,
      "end": 2916,
      "loc": {
        "start": {
          "line": 104,
          "column": 22
        },
        "end": {
          "line": 104,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad8}",
      "start": 2924,
      "end": 2935,
      "loc": {
        "start": {
          "line": 105,
          "column": 6
        },
        "end": {
          "line": 105,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2935,
      "end": 2936,
      "loc": {
        "start": {
          "line": 105,
          "column": 17
        },
        "end": {
          "line": 105,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "8",
      "start": 2937,
      "end": 2940,
      "loc": {
        "start": {
          "line": 105,
          "column": 19
        },
        "end": {
          "line": 105,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2940,
      "end": 2941,
      "loc": {
        "start": {
          "line": 105,
          "column": 22
        },
        "end": {
          "line": 105,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad9}",
      "start": 2949,
      "end": 2960,
      "loc": {
        "start": {
          "line": 106,
          "column": 6
        },
        "end": {
          "line": 106,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2960,
      "end": 2961,
      "loc": {
        "start": {
          "line": 106,
          "column": 17
        },
        "end": {
          "line": 106,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "9",
      "start": 2962,
      "end": 2965,
      "loc": {
        "start": {
          "line": 106,
          "column": 19
        },
        "end": {
          "line": 106,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2965,
      "end": 2966,
      "loc": {
        "start": {
          "line": 106,
          "column": 22
        },
        "end": {
          "line": 106,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2972,
      "end": 2973,
      "loc": {
        "start": {
          "line": 107,
          "column": 4
        },
        "end": {
          "line": 107,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2973,
      "end": 2974,
      "loc": {
        "start": {
          "line": 107,
          "column": 5
        },
        "end": {
          "line": 107,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2978,
      "end": 2979,
      "loc": {
        "start": {
          "line": 108,
          "column": 2
        },
        "end": {
          "line": 108,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Returns the display (label) name for a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {object} display The provided display option\r\n   * @param  {boolean} mergeDisplay Whether the provided param value should be merged with the default one.\r\n   ",
      "start": 2983,
      "end": 3281,
      "loc": {
        "start": {
          "line": 109,
          "column": 2
        },
        "end": {
          "line": 115,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getButtonDisplayName",
      "start": 3285,
      "end": 3305,
      "loc": {
        "start": {
          "line": 116,
          "column": 2
        },
        "end": {
          "line": 116,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3305,
      "end": 3306,
      "loc": {
        "start": {
          "line": 116,
          "column": 22
        },
        "end": {
          "line": 116,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 3306,
      "end": 3312,
      "loc": {
        "start": {
          "line": 116,
          "column": 23
        },
        "end": {
          "line": 116,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3312,
      "end": 3313,
      "loc": {
        "start": {
          "line": 116,
          "column": 29
        },
        "end": {
          "line": 116,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "display",
      "start": 3314,
      "end": 3321,
      "loc": {
        "start": {
          "line": 116,
          "column": 31
        },
        "end": {
          "line": 116,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3321,
      "end": 3322,
      "loc": {
        "start": {
          "line": 116,
          "column": 38
        },
        "end": {
          "line": 116,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mergeDisplay",
      "start": 3323,
      "end": 3335,
      "loc": {
        "start": {
          "line": 116,
          "column": 40
        },
        "end": {
          "line": 116,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3335,
      "end": 3336,
      "loc": {
        "start": {
          "line": 116,
          "column": 52
        },
        "end": {
          "line": 116,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3336,
      "end": 3337,
      "loc": {
        "start": {
          "line": 116,
          "column": 53
        },
        "end": {
          "line": 116,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3343,
      "end": 3345,
      "loc": {
        "start": {
          "line": 117,
          "column": 4
        },
        "end": {
          "line": 117,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3345,
      "end": 3346,
      "loc": {
        "start": {
          "line": 117,
          "column": 6
        },
        "end": {
          "line": 117,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mergeDisplay",
      "start": 3346,
      "end": 3358,
      "loc": {
        "start": {
          "line": 117,
          "column": 7
        },
        "end": {
          "line": 117,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3358,
      "end": 3359,
      "loc": {
        "start": {
          "line": 117,
          "column": 19
        },
        "end": {
          "line": 117,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3359,
      "end": 3360,
      "loc": {
        "start": {
          "line": 117,
          "column": 20
        },
        "end": {
          "line": 117,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "display",
      "start": 3368,
      "end": 3375,
      "loc": {
        "start": {
          "line": 118,
          "column": 6
        },
        "end": {
          "line": 118,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3376,
      "end": 3377,
      "loc": {
        "start": {
          "line": 118,
          "column": 14
        },
        "end": {
          "line": 118,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 3378,
      "end": 3384,
      "loc": {
        "start": {
          "line": 118,
          "column": 16
        },
        "end": {
          "line": 118,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3384,
      "end": 3385,
      "loc": {
        "start": {
          "line": 118,
          "column": 22
        },
        "end": {
          "line": 118,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assign",
      "start": 3385,
      "end": 3391,
      "loc": {
        "start": {
          "line": 118,
          "column": 23
        },
        "end": {
          "line": 118,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3391,
      "end": 3392,
      "loc": {
        "start": {
          "line": 118,
          "column": 29
        },
        "end": {
          "line": 118,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3392,
      "end": 3393,
      "loc": {
        "start": {
          "line": 118,
          "column": 30
        },
        "end": {
          "line": 118,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3393,
      "end": 3394,
      "loc": {
        "start": {
          "line": 118,
          "column": 31
        },
        "end": {
          "line": 118,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3394,
      "end": 3395,
      "loc": {
        "start": {
          "line": 118,
          "column": 32
        },
        "end": {
          "line": 118,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3396,
      "end": 3400,
      "loc": {
        "start": {
          "line": 118,
          "column": 34
        },
        "end": {
          "line": 118,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3400,
      "end": 3401,
      "loc": {
        "start": {
          "line": 118,
          "column": 38
        },
        "end": {
          "line": 118,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getDefaultDiplay",
      "start": 3401,
      "end": 3417,
      "loc": {
        "start": {
          "line": 118,
          "column": 39
        },
        "end": {
          "line": 118,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3417,
      "end": 3418,
      "loc": {
        "start": {
          "line": 118,
          "column": 55
        },
        "end": {
          "line": 118,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3418,
      "end": 3419,
      "loc": {
        "start": {
          "line": 118,
          "column": 56
        },
        "end": {
          "line": 118,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3419,
      "end": 3420,
      "loc": {
        "start": {
          "line": 118,
          "column": 57
        },
        "end": {
          "line": 118,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "display",
      "start": 3421,
      "end": 3428,
      "loc": {
        "start": {
          "line": 118,
          "column": 59
        },
        "end": {
          "line": 118,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3428,
      "end": 3429,
      "loc": {
        "start": {
          "line": 118,
          "column": 66
        },
        "end": {
          "line": 118,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3429,
      "end": 3430,
      "loc": {
        "start": {
          "line": 118,
          "column": 67
        },
        "end": {
          "line": 118,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3436,
      "end": 3437,
      "loc": {
        "start": {
          "line": 119,
          "column": 4
        },
        "end": {
          "line": 119,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 3438,
      "end": 3442,
      "loc": {
        "start": {
          "line": 119,
          "column": 6
        },
        "end": {
          "line": 119,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3443,
      "end": 3444,
      "loc": {
        "start": {
          "line": 119,
          "column": 11
        },
        "end": {
          "line": 119,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "display",
      "start": 3452,
      "end": 3459,
      "loc": {
        "start": {
          "line": 120,
          "column": 6
        },
        "end": {
          "line": 120,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3460,
      "end": 3461,
      "loc": {
        "start": {
          "line": 120,
          "column": 14
        },
        "end": {
          "line": 120,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "display",
      "start": 3462,
      "end": 3469,
      "loc": {
        "start": {
          "line": 120,
          "column": 16
        },
        "end": {
          "line": 120,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3470,
      "end": 3472,
      "loc": {
        "start": {
          "line": 120,
          "column": 24
        },
        "end": {
          "line": 120,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3473,
      "end": 3477,
      "loc": {
        "start": {
          "line": 120,
          "column": 27
        },
        "end": {
          "line": 120,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3477,
      "end": 3478,
      "loc": {
        "start": {
          "line": 120,
          "column": 31
        },
        "end": {
          "line": 120,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getDefaultDiplay",
      "start": 3478,
      "end": 3494,
      "loc": {
        "start": {
          "line": 120,
          "column": 32
        },
        "end": {
          "line": 120,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3494,
      "end": 3495,
      "loc": {
        "start": {
          "line": 120,
          "column": 48
        },
        "end": {
          "line": 120,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3495,
      "end": 3496,
      "loc": {
        "start": {
          "line": 120,
          "column": 49
        },
        "end": {
          "line": 120,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3496,
      "end": 3497,
      "loc": {
        "start": {
          "line": 120,
          "column": 50
        },
        "end": {
          "line": 120,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3503,
      "end": 3504,
      "loc": {
        "start": {
          "line": 121,
          "column": 4
        },
        "end": {
          "line": 121,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 3512,
      "end": 3518,
      "loc": {
        "start": {
          "line": 123,
          "column": 4
        },
        "end": {
          "line": 123,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "display",
      "start": 3519,
      "end": 3526,
      "loc": {
        "start": {
          "line": 123,
          "column": 11
        },
        "end": {
          "line": 123,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3526,
      "end": 3527,
      "loc": {
        "start": {
          "line": 123,
          "column": 18
        },
        "end": {
          "line": 123,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 3527,
      "end": 3533,
      "loc": {
        "start": {
          "line": 123,
          "column": 19
        },
        "end": {
          "line": 123,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3533,
      "end": 3534,
      "loc": {
        "start": {
          "line": 123,
          "column": 25
        },
        "end": {
          "line": 123,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3535,
      "end": 3537,
      "loc": {
        "start": {
          "line": 123,
          "column": 27
        },
        "end": {
          "line": 123,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 3538,
      "end": 3544,
      "loc": {
        "start": {
          "line": 123,
          "column": 30
        },
        "end": {
          "line": 123,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3544,
      "end": 3545,
      "loc": {
        "start": {
          "line": 123,
          "column": 36
        },
        "end": {
          "line": 123,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3549,
      "end": 3550,
      "loc": {
        "start": {
          "line": 124,
          "column": 2
        },
        "end": {
          "line": 124,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Returns the updated input resulting from clicking a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {string} input The input string\r\n   * @param  {object} options The simple-keyboard options object\r\n   * @param  {number} caretPos The cursor's current position\r\n   ",
      "start": 3560,
      "end": 3877,
      "loc": {
        "start": {
          "line": 127,
          "column": 2
        },
        "end": {
          "line": 134,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getUpdatedInput",
      "start": 3881,
      "end": 3896,
      "loc": {
        "start": {
          "line": 135,
          "column": 2
        },
        "end": {
          "line": 135,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3896,
      "end": 3897,
      "loc": {
        "start": {
          "line": 135,
          "column": 17
        },
        "end": {
          "line": 135,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 3897,
      "end": 3903,
      "loc": {
        "start": {
          "line": 135,
          "column": 18
        },
        "end": {
          "line": 135,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3903,
      "end": 3904,
      "loc": {
        "start": {
          "line": 135,
          "column": 24
        },
        "end": {
          "line": 135,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "input",
      "start": 3905,
      "end": 3910,
      "loc": {
        "start": {
          "line": 135,
          "column": 26
        },
        "end": {
          "line": 135,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3910,
      "end": 3911,
      "loc": {
        "start": {
          "line": 135,
          "column": 31
        },
        "end": {
          "line": 135,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 3912,
      "end": 3919,
      "loc": {
        "start": {
          "line": 135,
          "column": 33
        },
        "end": {
          "line": 135,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3919,
      "end": 3920,
      "loc": {
        "start": {
          "line": 135,
          "column": 40
        },
        "end": {
          "line": 135,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 3921,
      "end": 3929,
      "loc": {
        "start": {
          "line": 135,
          "column": 42
        },
        "end": {
          "line": 135,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3929,
      "end": 3930,
      "loc": {
        "start": {
          "line": 135,
          "column": 50
        },
        "end": {
          "line": 135,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3930,
      "end": 3931,
      "loc": {
        "start": {
          "line": 135,
          "column": 51
        },
        "end": {
          "line": 135,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 3943,
      "end": 3946,
      "loc": {
        "start": {
          "line": 137,
          "column": 4
        },
        "end": {
          "line": 137,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 3947,
      "end": 3953,
      "loc": {
        "start": {
          "line": 137,
          "column": 8
        },
        "end": {
          "line": 137,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3954,
      "end": 3955,
      "loc": {
        "start": {
          "line": 137,
          "column": 15
        },
        "end": {
          "line": 137,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "input",
      "start": 3956,
      "end": 3961,
      "loc": {
        "start": {
          "line": 137,
          "column": 17
        },
        "end": {
          "line": 137,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3961,
      "end": 3962,
      "loc": {
        "start": {
          "line": 137,
          "column": 22
        },
        "end": {
          "line": 137,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 3970,
      "end": 3972,
      "loc": {
        "start": {
          "line": 139,
          "column": 4
        },
        "end": {
          "line": 139,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3972,
      "end": 3973,
      "loc": {
        "start": {
          "line": 139,
          "column": 6
        },
        "end": {
          "line": 139,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3973,
      "end": 3974,
      "loc": {
        "start": {
          "line": 139,
          "column": 7
        },
        "end": {
          "line": 139,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 3974,
      "end": 3980,
      "loc": {
        "start": {
          "line": 139,
          "column": 8
        },
        "end": {
          "line": 139,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 3981,
      "end": 3984,
      "loc": {
        "start": {
          "line": 139,
          "column": 15
        },
        "end": {
          "line": 139,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{bksp}",
      "start": 3985,
      "end": 3993,
      "loc": {
        "start": {
          "line": 139,
          "column": 19
        },
        "end": {
          "line": 139,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3994,
      "end": 3996,
      "loc": {
        "start": {
          "line": 139,
          "column": 28
        },
        "end": {
          "line": 139,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 3997,
      "end": 4003,
      "loc": {
        "start": {
          "line": 139,
          "column": 31
        },
        "end": {
          "line": 139,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4004,
      "end": 4007,
      "loc": {
        "start": {
          "line": 139,
          "column": 38
        },
        "end": {
          "line": 139,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{backspace}",
      "start": 4008,
      "end": 4021,
      "loc": {
        "start": {
          "line": 139,
          "column": 42
        },
        "end": {
          "line": 139,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4021,
      "end": 4022,
      "loc": {
        "start": {
          "line": 139,
          "column": 55
        },
        "end": {
          "line": 139,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4023,
      "end": 4025,
      "loc": {
        "start": {
          "line": 139,
          "column": 57
        },
        "end": {
          "line": 139,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4026,
      "end": 4032,
      "loc": {
        "start": {
          "line": 139,
          "column": 60
        },
        "end": {
          "line": 139,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4032,
      "end": 4033,
      "loc": {
        "start": {
          "line": 139,
          "column": 66
        },
        "end": {
          "line": 139,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 4033,
      "end": 4039,
      "loc": {
        "start": {
          "line": 139,
          "column": 67
        },
        "end": {
          "line": 139,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 4040,
      "end": 4041,
      "loc": {
        "start": {
          "line": 139,
          "column": 74
        },
        "end": {
          "line": 139,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 4042,
      "end": 4043,
      "loc": {
        "start": {
          "line": 139,
          "column": 76
        },
        "end": {
          "line": 139,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4043,
      "end": 4044,
      "loc": {
        "start": {
          "line": 139,
          "column": 77
        },
        "end": {
          "line": 139,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4044,
      "end": 4045,
      "loc": {
        "start": {
          "line": 139,
          "column": 78
        },
        "end": {
          "line": 139,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4053,
      "end": 4059,
      "loc": {
        "start": {
          "line": 140,
          "column": 6
        },
        "end": {
          "line": 140,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4060,
      "end": 4061,
      "loc": {
        "start": {
          "line": 140,
          "column": 13
        },
        "end": {
          "line": 140,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4062,
      "end": 4066,
      "loc": {
        "start": {
          "line": 140,
          "column": 15
        },
        "end": {
          "line": 140,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4066,
      "end": 4067,
      "loc": {
        "start": {
          "line": 140,
          "column": 19
        },
        "end": {
          "line": 140,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeAt",
      "start": 4067,
      "end": 4075,
      "loc": {
        "start": {
          "line": 140,
          "column": 20
        },
        "end": {
          "line": 140,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4075,
      "end": 4076,
      "loc": {
        "start": {
          "line": 140,
          "column": 28
        },
        "end": {
          "line": 140,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4076,
      "end": 4082,
      "loc": {
        "start": {
          "line": 140,
          "column": 29
        },
        "end": {
          "line": 140,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4082,
      "end": 4083,
      "loc": {
        "start": {
          "line": 140,
          "column": 35
        },
        "end": {
          "line": 140,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4084,
      "end": 4092,
      "loc": {
        "start": {
          "line": 140,
          "column": 37
        },
        "end": {
          "line": 140,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4092,
      "end": 4093,
      "loc": {
        "start": {
          "line": 140,
          "column": 45
        },
        "end": {
          "line": 140,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4093,
      "end": 4094,
      "loc": {
        "start": {
          "line": 140,
          "column": 46
        },
        "end": {
          "line": 140,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4102,
      "end": 4103,
      "loc": {
        "start": {
          "line": 142,
          "column": 4
        },
        "end": {
          "line": 142,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4104,
      "end": 4108,
      "loc": {
        "start": {
          "line": 142,
          "column": 6
        },
        "end": {
          "line": 142,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4109,
      "end": 4111,
      "loc": {
        "start": {
          "line": 142,
          "column": 11
        },
        "end": {
          "line": 142,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4111,
      "end": 4112,
      "loc": {
        "start": {
          "line": 142,
          "column": 13
        },
        "end": {
          "line": 142,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4112,
      "end": 4118,
      "loc": {
        "start": {
          "line": 142,
          "column": 14
        },
        "end": {
          "line": 142,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4119,
      "end": 4122,
      "loc": {
        "start": {
          "line": 142,
          "column": 21
        },
        "end": {
          "line": 142,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{space}",
      "start": 4123,
      "end": 4132,
      "loc": {
        "start": {
          "line": 142,
          "column": 25
        },
        "end": {
          "line": 142,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4132,
      "end": 4133,
      "loc": {
        "start": {
          "line": 142,
          "column": 34
        },
        "end": {
          "line": 142,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4141,
      "end": 4147,
      "loc": {
        "start": {
          "line": 143,
          "column": 6
        },
        "end": {
          "line": 143,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4148,
      "end": 4149,
      "loc": {
        "start": {
          "line": 143,
          "column": 13
        },
        "end": {
          "line": 143,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4150,
      "end": 4154,
      "loc": {
        "start": {
          "line": 143,
          "column": 15
        },
        "end": {
          "line": 143,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4154,
      "end": 4155,
      "loc": {
        "start": {
          "line": 143,
          "column": 19
        },
        "end": {
          "line": 143,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 4155,
      "end": 4166,
      "loc": {
        "start": {
          "line": 143,
          "column": 20
        },
        "end": {
          "line": 143,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4166,
      "end": 4167,
      "loc": {
        "start": {
          "line": 143,
          "column": 31
        },
        "end": {
          "line": 143,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4167,
      "end": 4173,
      "loc": {
        "start": {
          "line": 143,
          "column": 32
        },
        "end": {
          "line": 143,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4173,
      "end": 4174,
      "loc": {
        "start": {
          "line": 143,
          "column": 38
        },
        "end": {
          "line": 143,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " ",
      "start": 4175,
      "end": 4178,
      "loc": {
        "start": {
          "line": 143,
          "column": 40
        },
        "end": {
          "line": 143,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4178,
      "end": 4179,
      "loc": {
        "start": {
          "line": 143,
          "column": 43
        },
        "end": {
          "line": 143,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4180,
      "end": 4188,
      "loc": {
        "start": {
          "line": 143,
          "column": 45
        },
        "end": {
          "line": 143,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4188,
      "end": 4189,
      "loc": {
        "start": {
          "line": 143,
          "column": 53
        },
        "end": {
          "line": 143,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4189,
      "end": 4190,
      "loc": {
        "start": {
          "line": 143,
          "column": 54
        },
        "end": {
          "line": 143,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4198,
      "end": 4202,
      "loc": {
        "start": {
          "line": 145,
          "column": 4
        },
        "end": {
          "line": 145,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4203,
      "end": 4205,
      "loc": {
        "start": {
          "line": 145,
          "column": 9
        },
        "end": {
          "line": 145,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4205,
      "end": 4206,
      "loc": {
        "start": {
          "line": 145,
          "column": 11
        },
        "end": {
          "line": 145,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4206,
      "end": 4212,
      "loc": {
        "start": {
          "line": 145,
          "column": 12
        },
        "end": {
          "line": 145,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4213,
      "end": 4216,
      "loc": {
        "start": {
          "line": 145,
          "column": 19
        },
        "end": {
          "line": 145,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{tab}",
      "start": 4217,
      "end": 4224,
      "loc": {
        "start": {
          "line": 145,
          "column": 23
        },
        "end": {
          "line": 145,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4225,
      "end": 4227,
      "loc": {
        "start": {
          "line": 145,
          "column": 31
        },
        "end": {
          "line": 145,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 4228,
      "end": 4229,
      "loc": {
        "start": {
          "line": 145,
          "column": 34
        },
        "end": {
          "line": 145,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4229,
      "end": 4230,
      "loc": {
        "start": {
          "line": 145,
          "column": 35
        },
        "end": {
          "line": 145,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 4230,
      "end": 4236,
      "loc": {
        "start": {
          "line": 145,
          "column": 36
        },
        "end": {
          "line": 145,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 4237,
      "end": 4244,
      "loc": {
        "start": {
          "line": 145,
          "column": 43
        },
        "end": {
          "line": 145,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4244,
      "end": 4245,
      "loc": {
        "start": {
          "line": 145,
          "column": 50
        },
        "end": {
          "line": 145,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tabCharOnTab",
      "start": 4245,
      "end": 4257,
      "loc": {
        "start": {
          "line": 145,
          "column": 51
        },
        "end": {
          "line": 145,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4258,
      "end": 4261,
      "loc": {
        "start": {
          "line": 145,
          "column": 64
        },
        "end": {
          "line": 145,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "boolean",
      "start": 4262,
      "end": 4271,
      "loc": {
        "start": {
          "line": 145,
          "column": 68
        },
        "end": {
          "line": 145,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4272,
      "end": 4274,
      "loc": {
        "start": {
          "line": 145,
          "column": 78
        },
        "end": {
          "line": 145,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 4275,
      "end": 4282,
      "loc": {
        "start": {
          "line": 145,
          "column": 81
        },
        "end": {
          "line": 145,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4282,
      "end": 4283,
      "loc": {
        "start": {
          "line": 145,
          "column": 88
        },
        "end": {
          "line": 145,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tabCharOnTab",
      "start": 4283,
      "end": 4295,
      "loc": {
        "start": {
          "line": 145,
          "column": 89
        },
        "end": {
          "line": 145,
          "column": 101
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4296,
      "end": 4299,
      "loc": {
        "start": {
          "line": 145,
          "column": 102
        },
        "end": {
          "line": 145,
          "column": 105
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 4300,
      "end": 4305,
      "loc": {
        "start": {
          "line": 145,
          "column": 106
        },
        "end": {
          "line": 145,
          "column": 111
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4305,
      "end": 4306,
      "loc": {
        "start": {
          "line": 145,
          "column": 111
        },
        "end": {
          "line": 145,
          "column": 112
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4306,
      "end": 4307,
      "loc": {
        "start": {
          "line": 145,
          "column": 112
        },
        "end": {
          "line": 145,
          "column": 113
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4307,
      "end": 4308,
      "loc": {
        "start": {
          "line": 145,
          "column": 113
        },
        "end": {
          "line": 145,
          "column": 114
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4316,
      "end": 4322,
      "loc": {
        "start": {
          "line": 146,
          "column": 6
        },
        "end": {
          "line": 146,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4323,
      "end": 4324,
      "loc": {
        "start": {
          "line": 146,
          "column": 13
        },
        "end": {
          "line": 146,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4325,
      "end": 4329,
      "loc": {
        "start": {
          "line": 146,
          "column": 15
        },
        "end": {
          "line": 146,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4329,
      "end": 4330,
      "loc": {
        "start": {
          "line": 146,
          "column": 19
        },
        "end": {
          "line": 146,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 4330,
      "end": 4341,
      "loc": {
        "start": {
          "line": 146,
          "column": 20
        },
        "end": {
          "line": 146,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4341,
      "end": 4342,
      "loc": {
        "start": {
          "line": 146,
          "column": 31
        },
        "end": {
          "line": 146,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4342,
      "end": 4348,
      "loc": {
        "start": {
          "line": 146,
          "column": 32
        },
        "end": {
          "line": 146,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4348,
      "end": 4349,
      "loc": {
        "start": {
          "line": 146,
          "column": 38
        },
        "end": {
          "line": 146,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\t",
      "start": 4350,
      "end": 4354,
      "loc": {
        "start": {
          "line": 146,
          "column": 40
        },
        "end": {
          "line": 146,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4354,
      "end": 4355,
      "loc": {
        "start": {
          "line": 146,
          "column": 44
        },
        "end": {
          "line": 146,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4356,
      "end": 4364,
      "loc": {
        "start": {
          "line": 146,
          "column": 46
        },
        "end": {
          "line": 146,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4364,
      "end": 4365,
      "loc": {
        "start": {
          "line": 146,
          "column": 54
        },
        "end": {
          "line": 146,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4365,
      "end": 4366,
      "loc": {
        "start": {
          "line": 146,
          "column": 55
        },
        "end": {
          "line": 146,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4374,
      "end": 4375,
      "loc": {
        "start": {
          "line": 148,
          "column": 4
        },
        "end": {
          "line": 148,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4376,
      "end": 4380,
      "loc": {
        "start": {
          "line": 148,
          "column": 6
        },
        "end": {
          "line": 148,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4381,
      "end": 4383,
      "loc": {
        "start": {
          "line": 148,
          "column": 11
        },
        "end": {
          "line": 148,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4383,
      "end": 4384,
      "loc": {
        "start": {
          "line": 148,
          "column": 13
        },
        "end": {
          "line": 148,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4384,
      "end": 4385,
      "loc": {
        "start": {
          "line": 148,
          "column": 14
        },
        "end": {
          "line": 148,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4385,
      "end": 4391,
      "loc": {
        "start": {
          "line": 148,
          "column": 15
        },
        "end": {
          "line": 148,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4392,
      "end": 4395,
      "loc": {
        "start": {
          "line": 148,
          "column": 22
        },
        "end": {
          "line": 148,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{enter}",
      "start": 4396,
      "end": 4405,
      "loc": {
        "start": {
          "line": 148,
          "column": 26
        },
        "end": {
          "line": 148,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 4406,
      "end": 4408,
      "loc": {
        "start": {
          "line": 148,
          "column": 36
        },
        "end": {
          "line": 148,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4409,
      "end": 4415,
      "loc": {
        "start": {
          "line": 148,
          "column": 39
        },
        "end": {
          "line": 148,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4416,
      "end": 4419,
      "loc": {
        "start": {
          "line": 148,
          "column": 46
        },
        "end": {
          "line": 148,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadenter}",
      "start": 4420,
      "end": 4435,
      "loc": {
        "start": {
          "line": 148,
          "column": 50
        },
        "end": {
          "line": 148,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4435,
      "end": 4436,
      "loc": {
        "start": {
          "line": 148,
          "column": 65
        },
        "end": {
          "line": 148,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4437,
      "end": 4439,
      "loc": {
        "start": {
          "line": 148,
          "column": 67
        },
        "end": {
          "line": 148,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 4440,
      "end": 4447,
      "loc": {
        "start": {
          "line": 148,
          "column": 70
        },
        "end": {
          "line": 148,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4447,
      "end": 4448,
      "loc": {
        "start": {
          "line": 148,
          "column": 77
        },
        "end": {
          "line": 148,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newLineOnEnter",
      "start": 4448,
      "end": 4462,
      "loc": {
        "start": {
          "line": 148,
          "column": 78
        },
        "end": {
          "line": 148,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4462,
      "end": 4463,
      "loc": {
        "start": {
          "line": 148,
          "column": 92
        },
        "end": {
          "line": 148,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4471,
      "end": 4477,
      "loc": {
        "start": {
          "line": 149,
          "column": 6
        },
        "end": {
          "line": 149,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4478,
      "end": 4479,
      "loc": {
        "start": {
          "line": 149,
          "column": 13
        },
        "end": {
          "line": 149,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4480,
      "end": 4484,
      "loc": {
        "start": {
          "line": 149,
          "column": 15
        },
        "end": {
          "line": 149,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4484,
      "end": 4485,
      "loc": {
        "start": {
          "line": 149,
          "column": 19
        },
        "end": {
          "line": 149,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 4485,
      "end": 4496,
      "loc": {
        "start": {
          "line": 149,
          "column": 20
        },
        "end": {
          "line": 149,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4496,
      "end": 4497,
      "loc": {
        "start": {
          "line": 149,
          "column": 31
        },
        "end": {
          "line": 149,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4497,
      "end": 4503,
      "loc": {
        "start": {
          "line": 149,
          "column": 32
        },
        "end": {
          "line": 149,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4503,
      "end": 4504,
      "loc": {
        "start": {
          "line": 149,
          "column": 38
        },
        "end": {
          "line": 149,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\n",
      "start": 4505,
      "end": 4509,
      "loc": {
        "start": {
          "line": 149,
          "column": 40
        },
        "end": {
          "line": 149,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4509,
      "end": 4510,
      "loc": {
        "start": {
          "line": 149,
          "column": 44
        },
        "end": {
          "line": 149,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4511,
      "end": 4519,
      "loc": {
        "start": {
          "line": 149,
          "column": 46
        },
        "end": {
          "line": 149,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4519,
      "end": 4520,
      "loc": {
        "start": {
          "line": 149,
          "column": 54
        },
        "end": {
          "line": 149,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4520,
      "end": 4521,
      "loc": {
        "start": {
          "line": 149,
          "column": 55
        },
        "end": {
          "line": 149,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4529,
      "end": 4533,
      "loc": {
        "start": {
          "line": 151,
          "column": 4
        },
        "end": {
          "line": 151,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4534,
      "end": 4536,
      "loc": {
        "start": {
          "line": 151,
          "column": 9
        },
        "end": {
          "line": 151,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4536,
      "end": 4537,
      "loc": {
        "start": {
          "line": 151,
          "column": 11
        },
        "end": {
          "line": 151,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4537,
      "end": 4543,
      "loc": {
        "start": {
          "line": 151,
          "column": 12
        },
        "end": {
          "line": 151,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4543,
      "end": 4544,
      "loc": {
        "start": {
          "line": 151,
          "column": 18
        },
        "end": {
          "line": 151,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "includes",
      "start": 4544,
      "end": 4552,
      "loc": {
        "start": {
          "line": 151,
          "column": 19
        },
        "end": {
          "line": 151,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4552,
      "end": 4553,
      "loc": {
        "start": {
          "line": 151,
          "column": 27
        },
        "end": {
          "line": 151,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "numpad",
      "start": 4553,
      "end": 4561,
      "loc": {
        "start": {
          "line": 151,
          "column": 28
        },
        "end": {
          "line": 151,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4561,
      "end": 4562,
      "loc": {
        "start": {
          "line": 151,
          "column": 36
        },
        "end": {
          "line": 151,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4563,
      "end": 4565,
      "loc": {
        "start": {
          "line": 151,
          "column": 38
        },
        "end": {
          "line": 151,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Number",
      "start": 4566,
      "end": 4572,
      "loc": {
        "start": {
          "line": 151,
          "column": 41
        },
        "end": {
          "line": 151,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4572,
      "end": 4573,
      "loc": {
        "start": {
          "line": 151,
          "column": 47
        },
        "end": {
          "line": 151,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isInteger",
      "start": 4573,
      "end": 4582,
      "loc": {
        "start": {
          "line": 151,
          "column": 48
        },
        "end": {
          "line": 151,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4582,
      "end": 4583,
      "loc": {
        "start": {
          "line": 151,
          "column": 57
        },
        "end": {
          "line": 151,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Number",
      "start": 4583,
      "end": 4589,
      "loc": {
        "start": {
          "line": 151,
          "column": 58
        },
        "end": {
          "line": 151,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4589,
      "end": 4590,
      "loc": {
        "start": {
          "line": 151,
          "column": 64
        },
        "end": {
          "line": 151,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4590,
      "end": 4596,
      "loc": {
        "start": {
          "line": 151,
          "column": 65
        },
        "end": {
          "line": 151,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4596,
      "end": 4597,
      "loc": {
        "start": {
          "line": 151,
          "column": 71
        },
        "end": {
          "line": 151,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4597,
      "end": 4603,
      "loc": {
        "start": {
          "line": 151,
          "column": 72
        },
        "end": {
          "line": 151,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4603,
      "end": 4604,
      "loc": {
        "start": {
          "line": 151,
          "column": 78
        },
        "end": {
          "line": 151,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 4604,
      "end": 4610,
      "loc": {
        "start": {
          "line": 151,
          "column": 79
        },
        "end": {
          "line": 151,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 4611,
      "end": 4612,
      "loc": {
        "start": {
          "line": 151,
          "column": 86
        },
        "end": {
          "line": 151,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 4613,
      "end": 4614,
      "loc": {
        "start": {
          "line": 151,
          "column": 88
        },
        "end": {
          "line": 151,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4614,
      "end": 4615,
      "loc": {
        "start": {
          "line": 151,
          "column": 89
        },
        "end": {
          "line": 151,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4615,
      "end": 4616,
      "loc": {
        "start": {
          "line": 151,
          "column": 90
        },
        "end": {
          "line": 151,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4616,
      "end": 4617,
      "loc": {
        "start": {
          "line": 151,
          "column": 91
        },
        "end": {
          "line": 151,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4617,
      "end": 4618,
      "loc": {
        "start": {
          "line": 151,
          "column": 92
        },
        "end": {
          "line": 151,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4618,
      "end": 4619,
      "loc": {
        "start": {
          "line": 151,
          "column": 93
        },
        "end": {
          "line": 151,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4627,
      "end": 4633,
      "loc": {
        "start": {
          "line": 152,
          "column": 6
        },
        "end": {
          "line": 152,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4634,
      "end": 4635,
      "loc": {
        "start": {
          "line": 152,
          "column": 13
        },
        "end": {
          "line": 152,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4636,
      "end": 4640,
      "loc": {
        "start": {
          "line": 152,
          "column": 15
        },
        "end": {
          "line": 152,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4640,
      "end": 4641,
      "loc": {
        "start": {
          "line": 152,
          "column": 19
        },
        "end": {
          "line": 152,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 4641,
      "end": 4652,
      "loc": {
        "start": {
          "line": 152,
          "column": 20
        },
        "end": {
          "line": 152,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4652,
      "end": 4653,
      "loc": {
        "start": {
          "line": 152,
          "column": 31
        },
        "end": {
          "line": 152,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4653,
      "end": 4659,
      "loc": {
        "start": {
          "line": 152,
          "column": 32
        },
        "end": {
          "line": 152,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4659,
      "end": 4660,
      "loc": {
        "start": {
          "line": 152,
          "column": 38
        },
        "end": {
          "line": 152,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4661,
      "end": 4667,
      "loc": {
        "start": {
          "line": 152,
          "column": 40
        },
        "end": {
          "line": 152,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4667,
      "end": 4668,
      "loc": {
        "start": {
          "line": 152,
          "column": 46
        },
        "end": {
          "line": 152,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4668,
      "end": 4674,
      "loc": {
        "start": {
          "line": 152,
          "column": 47
        },
        "end": {
          "line": 152,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4674,
      "end": 4675,
      "loc": {
        "start": {
          "line": 152,
          "column": 53
        },
        "end": {
          "line": 152,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 4675,
      "end": 4681,
      "loc": {
        "start": {
          "line": 152,
          "column": 54
        },
        "end": {
          "line": 152,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 4682,
      "end": 4683,
      "loc": {
        "start": {
          "line": 152,
          "column": 61
        },
        "end": {
          "line": 152,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 4684,
      "end": 4685,
      "loc": {
        "start": {
          "line": 152,
          "column": 63
        },
        "end": {
          "line": 152,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4685,
      "end": 4686,
      "loc": {
        "start": {
          "line": 152,
          "column": 64
        },
        "end": {
          "line": 152,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4686,
      "end": 4687,
      "loc": {
        "start": {
          "line": 152,
          "column": 65
        },
        "end": {
          "line": 152,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4688,
      "end": 4696,
      "loc": {
        "start": {
          "line": 152,
          "column": 67
        },
        "end": {
          "line": 152,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4696,
      "end": 4697,
      "loc": {
        "start": {
          "line": 152,
          "column": 75
        },
        "end": {
          "line": 152,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4697,
      "end": 4698,
      "loc": {
        "start": {
          "line": 152,
          "column": 76
        },
        "end": {
          "line": 152,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4704,
      "end": 4705,
      "loc": {
        "start": {
          "line": 153,
          "column": 4
        },
        "end": {
          "line": 153,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4711,
      "end": 4715,
      "loc": {
        "start": {
          "line": 154,
          "column": 4
        },
        "end": {
          "line": 154,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4716,
      "end": 4718,
      "loc": {
        "start": {
          "line": 154,
          "column": 9
        },
        "end": {
          "line": 154,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4718,
      "end": 4719,
      "loc": {
        "start": {
          "line": 154,
          "column": 11
        },
        "end": {
          "line": 154,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4719,
      "end": 4725,
      "loc": {
        "start": {
          "line": 154,
          "column": 12
        },
        "end": {
          "line": 154,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4726,
      "end": 4729,
      "loc": {
        "start": {
          "line": 154,
          "column": 19
        },
        "end": {
          "line": 154,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpaddivide}",
      "start": 4730,
      "end": 4746,
      "loc": {
        "start": {
          "line": 154,
          "column": 23
        },
        "end": {
          "line": 154,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4746,
      "end": 4747,
      "loc": {
        "start": {
          "line": 154,
          "column": 39
        },
        "end": {
          "line": 154,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4755,
      "end": 4761,
      "loc": {
        "start": {
          "line": 155,
          "column": 6
        },
        "end": {
          "line": 155,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4762,
      "end": 4763,
      "loc": {
        "start": {
          "line": 155,
          "column": 13
        },
        "end": {
          "line": 155,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4764,
      "end": 4768,
      "loc": {
        "start": {
          "line": 155,
          "column": 15
        },
        "end": {
          "line": 155,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4768,
      "end": 4769,
      "loc": {
        "start": {
          "line": 155,
          "column": 19
        },
        "end": {
          "line": 155,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 4769,
      "end": 4780,
      "loc": {
        "start": {
          "line": 155,
          "column": 20
        },
        "end": {
          "line": 155,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4780,
      "end": 4781,
      "loc": {
        "start": {
          "line": 155,
          "column": 31
        },
        "end": {
          "line": 155,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4781,
      "end": 4787,
      "loc": {
        "start": {
          "line": 155,
          "column": 32
        },
        "end": {
          "line": 155,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4787,
      "end": 4788,
      "loc": {
        "start": {
          "line": 155,
          "column": 38
        },
        "end": {
          "line": 155,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "/",
      "start": 4789,
      "end": 4792,
      "loc": {
        "start": {
          "line": 155,
          "column": 40
        },
        "end": {
          "line": 155,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4792,
      "end": 4793,
      "loc": {
        "start": {
          "line": 155,
          "column": 43
        },
        "end": {
          "line": 155,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4794,
      "end": 4802,
      "loc": {
        "start": {
          "line": 155,
          "column": 45
        },
        "end": {
          "line": 155,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4802,
      "end": 4803,
      "loc": {
        "start": {
          "line": 155,
          "column": 53
        },
        "end": {
          "line": 155,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4803,
      "end": 4804,
      "loc": {
        "start": {
          "line": 155,
          "column": 54
        },
        "end": {
          "line": 155,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4812,
      "end": 4816,
      "loc": {
        "start": {
          "line": 157,
          "column": 4
        },
        "end": {
          "line": 157,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4817,
      "end": 4819,
      "loc": {
        "start": {
          "line": 157,
          "column": 9
        },
        "end": {
          "line": 157,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4819,
      "end": 4820,
      "loc": {
        "start": {
          "line": 157,
          "column": 11
        },
        "end": {
          "line": 157,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4820,
      "end": 4826,
      "loc": {
        "start": {
          "line": 157,
          "column": 12
        },
        "end": {
          "line": 157,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4827,
      "end": 4830,
      "loc": {
        "start": {
          "line": 157,
          "column": 19
        },
        "end": {
          "line": 157,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadmultiply}",
      "start": 4831,
      "end": 4849,
      "loc": {
        "start": {
          "line": 157,
          "column": 23
        },
        "end": {
          "line": 157,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4849,
      "end": 4850,
      "loc": {
        "start": {
          "line": 157,
          "column": 41
        },
        "end": {
          "line": 157,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4858,
      "end": 4864,
      "loc": {
        "start": {
          "line": 158,
          "column": 6
        },
        "end": {
          "line": 158,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4865,
      "end": 4866,
      "loc": {
        "start": {
          "line": 158,
          "column": 13
        },
        "end": {
          "line": 158,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4867,
      "end": 4871,
      "loc": {
        "start": {
          "line": 158,
          "column": 15
        },
        "end": {
          "line": 158,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4871,
      "end": 4872,
      "loc": {
        "start": {
          "line": 158,
          "column": 19
        },
        "end": {
          "line": 158,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 4872,
      "end": 4883,
      "loc": {
        "start": {
          "line": 158,
          "column": 20
        },
        "end": {
          "line": 158,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4883,
      "end": 4884,
      "loc": {
        "start": {
          "line": 158,
          "column": 31
        },
        "end": {
          "line": 158,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4884,
      "end": 4890,
      "loc": {
        "start": {
          "line": 158,
          "column": 32
        },
        "end": {
          "line": 158,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4890,
      "end": 4891,
      "loc": {
        "start": {
          "line": 158,
          "column": 38
        },
        "end": {
          "line": 158,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "*",
      "start": 4892,
      "end": 4895,
      "loc": {
        "start": {
          "line": 158,
          "column": 40
        },
        "end": {
          "line": 158,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4895,
      "end": 4896,
      "loc": {
        "start": {
          "line": 158,
          "column": 43
        },
        "end": {
          "line": 158,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4897,
      "end": 4905,
      "loc": {
        "start": {
          "line": 158,
          "column": 45
        },
        "end": {
          "line": 158,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4905,
      "end": 4906,
      "loc": {
        "start": {
          "line": 158,
          "column": 53
        },
        "end": {
          "line": 158,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4906,
      "end": 4907,
      "loc": {
        "start": {
          "line": 158,
          "column": 54
        },
        "end": {
          "line": 158,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4913,
      "end": 4917,
      "loc": {
        "start": {
          "line": 159,
          "column": 4
        },
        "end": {
          "line": 159,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 4918,
      "end": 4920,
      "loc": {
        "start": {
          "line": 159,
          "column": 9
        },
        "end": {
          "line": 159,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4920,
      "end": 4921,
      "loc": {
        "start": {
          "line": 159,
          "column": 11
        },
        "end": {
          "line": 159,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4921,
      "end": 4927,
      "loc": {
        "start": {
          "line": 159,
          "column": 12
        },
        "end": {
          "line": 159,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4928,
      "end": 4931,
      "loc": {
        "start": {
          "line": 159,
          "column": 19
        },
        "end": {
          "line": 159,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadsubtract}",
      "start": 4932,
      "end": 4950,
      "loc": {
        "start": {
          "line": 159,
          "column": 23
        },
        "end": {
          "line": 159,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4950,
      "end": 4951,
      "loc": {
        "start": {
          "line": 159,
          "column": 41
        },
        "end": {
          "line": 159,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4959,
      "end": 4965,
      "loc": {
        "start": {
          "line": 160,
          "column": 6
        },
        "end": {
          "line": 160,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4966,
      "end": 4967,
      "loc": {
        "start": {
          "line": 160,
          "column": 13
        },
        "end": {
          "line": 160,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4968,
      "end": 4972,
      "loc": {
        "start": {
          "line": 160,
          "column": 15
        },
        "end": {
          "line": 160,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4972,
      "end": 4973,
      "loc": {
        "start": {
          "line": 160,
          "column": 19
        },
        "end": {
          "line": 160,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 4973,
      "end": 4984,
      "loc": {
        "start": {
          "line": 160,
          "column": 20
        },
        "end": {
          "line": 160,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4984,
      "end": 4985,
      "loc": {
        "start": {
          "line": 160,
          "column": 31
        },
        "end": {
          "line": 160,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4985,
      "end": 4991,
      "loc": {
        "start": {
          "line": 160,
          "column": 32
        },
        "end": {
          "line": 160,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4991,
      "end": 4992,
      "loc": {
        "start": {
          "line": 160,
          "column": 38
        },
        "end": {
          "line": 160,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "-",
      "start": 4993,
      "end": 4996,
      "loc": {
        "start": {
          "line": 160,
          "column": 40
        },
        "end": {
          "line": 160,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4996,
      "end": 4997,
      "loc": {
        "start": {
          "line": 160,
          "column": 43
        },
        "end": {
          "line": 160,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4998,
      "end": 5006,
      "loc": {
        "start": {
          "line": 160,
          "column": 45
        },
        "end": {
          "line": 160,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5006,
      "end": 5007,
      "loc": {
        "start": {
          "line": 160,
          "column": 53
        },
        "end": {
          "line": 160,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5007,
      "end": 5008,
      "loc": {
        "start": {
          "line": 160,
          "column": 54
        },
        "end": {
          "line": 160,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 5016,
      "end": 5020,
      "loc": {
        "start": {
          "line": 162,
          "column": 4
        },
        "end": {
          "line": 162,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5021,
      "end": 5023,
      "loc": {
        "start": {
          "line": 162,
          "column": 9
        },
        "end": {
          "line": 162,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5023,
      "end": 5024,
      "loc": {
        "start": {
          "line": 162,
          "column": 11
        },
        "end": {
          "line": 162,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5024,
      "end": 5030,
      "loc": {
        "start": {
          "line": 162,
          "column": 12
        },
        "end": {
          "line": 162,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 5031,
      "end": 5034,
      "loc": {
        "start": {
          "line": 162,
          "column": 19
        },
        "end": {
          "line": 162,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadadd}",
      "start": 5035,
      "end": 5048,
      "loc": {
        "start": {
          "line": 162,
          "column": 23
        },
        "end": {
          "line": 162,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5048,
      "end": 5049,
      "loc": {
        "start": {
          "line": 162,
          "column": 36
        },
        "end": {
          "line": 162,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5057,
      "end": 5063,
      "loc": {
        "start": {
          "line": 163,
          "column": 6
        },
        "end": {
          "line": 163,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5064,
      "end": 5065,
      "loc": {
        "start": {
          "line": 163,
          "column": 13
        },
        "end": {
          "line": 163,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5066,
      "end": 5070,
      "loc": {
        "start": {
          "line": 163,
          "column": 15
        },
        "end": {
          "line": 163,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5070,
      "end": 5071,
      "loc": {
        "start": {
          "line": 163,
          "column": 19
        },
        "end": {
          "line": 163,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 5071,
      "end": 5082,
      "loc": {
        "start": {
          "line": 163,
          "column": 20
        },
        "end": {
          "line": 163,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5082,
      "end": 5083,
      "loc": {
        "start": {
          "line": 163,
          "column": 31
        },
        "end": {
          "line": 163,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5083,
      "end": 5089,
      "loc": {
        "start": {
          "line": 163,
          "column": 32
        },
        "end": {
          "line": 163,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5089,
      "end": 5090,
      "loc": {
        "start": {
          "line": 163,
          "column": 38
        },
        "end": {
          "line": 163,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "+",
      "start": 5091,
      "end": 5094,
      "loc": {
        "start": {
          "line": 163,
          "column": 40
        },
        "end": {
          "line": 163,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5094,
      "end": 5095,
      "loc": {
        "start": {
          "line": 163,
          "column": 43
        },
        "end": {
          "line": 163,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 5096,
      "end": 5104,
      "loc": {
        "start": {
          "line": 163,
          "column": 45
        },
        "end": {
          "line": 163,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5104,
      "end": 5105,
      "loc": {
        "start": {
          "line": 163,
          "column": 53
        },
        "end": {
          "line": 163,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5105,
      "end": 5106,
      "loc": {
        "start": {
          "line": 163,
          "column": 54
        },
        "end": {
          "line": 163,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 5114,
      "end": 5118,
      "loc": {
        "start": {
          "line": 165,
          "column": 4
        },
        "end": {
          "line": 165,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5119,
      "end": 5121,
      "loc": {
        "start": {
          "line": 165,
          "column": 9
        },
        "end": {
          "line": 165,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5121,
      "end": 5122,
      "loc": {
        "start": {
          "line": 165,
          "column": 11
        },
        "end": {
          "line": 165,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5122,
      "end": 5128,
      "loc": {
        "start": {
          "line": 165,
          "column": 12
        },
        "end": {
          "line": 165,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 5129,
      "end": 5132,
      "loc": {
        "start": {
          "line": 165,
          "column": 19
        },
        "end": {
          "line": 165,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpaddecimal}",
      "start": 5133,
      "end": 5150,
      "loc": {
        "start": {
          "line": 165,
          "column": 23
        },
        "end": {
          "line": 165,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5150,
      "end": 5151,
      "loc": {
        "start": {
          "line": 165,
          "column": 40
        },
        "end": {
          "line": 165,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5159,
      "end": 5165,
      "loc": {
        "start": {
          "line": 166,
          "column": 6
        },
        "end": {
          "line": 166,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5166,
      "end": 5167,
      "loc": {
        "start": {
          "line": 166,
          "column": 13
        },
        "end": {
          "line": 166,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5168,
      "end": 5172,
      "loc": {
        "start": {
          "line": 166,
          "column": 15
        },
        "end": {
          "line": 166,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5172,
      "end": 5173,
      "loc": {
        "start": {
          "line": 166,
          "column": 19
        },
        "end": {
          "line": 166,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 5173,
      "end": 5184,
      "loc": {
        "start": {
          "line": 166,
          "column": 20
        },
        "end": {
          "line": 166,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5184,
      "end": 5185,
      "loc": {
        "start": {
          "line": 166,
          "column": 31
        },
        "end": {
          "line": 166,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5185,
      "end": 5191,
      "loc": {
        "start": {
          "line": 166,
          "column": 32
        },
        "end": {
          "line": 166,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5191,
      "end": 5192,
      "loc": {
        "start": {
          "line": 166,
          "column": 38
        },
        "end": {
          "line": 166,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".",
      "start": 5193,
      "end": 5196,
      "loc": {
        "start": {
          "line": 166,
          "column": 40
        },
        "end": {
          "line": 166,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5196,
      "end": 5197,
      "loc": {
        "start": {
          "line": 166,
          "column": 43
        },
        "end": {
          "line": 166,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 5198,
      "end": 5206,
      "loc": {
        "start": {
          "line": 166,
          "column": 45
        },
        "end": {
          "line": 166,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5206,
      "end": 5207,
      "loc": {
        "start": {
          "line": 166,
          "column": 53
        },
        "end": {
          "line": 166,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5207,
      "end": 5208,
      "loc": {
        "start": {
          "line": 166,
          "column": 54
        },
        "end": {
          "line": 166,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 5216,
      "end": 5220,
      "loc": {
        "start": {
          "line": 168,
          "column": 4
        },
        "end": {
          "line": 168,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5221,
      "end": 5223,
      "loc": {
        "start": {
          "line": 168,
          "column": 9
        },
        "end": {
          "line": 168,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5223,
      "end": 5224,
      "loc": {
        "start": {
          "line": 168,
          "column": 11
        },
        "end": {
          "line": 168,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5224,
      "end": 5230,
      "loc": {
        "start": {
          "line": 168,
          "column": 12
        },
        "end": {
          "line": 168,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 5231,
      "end": 5234,
      "loc": {
        "start": {
          "line": 168,
          "column": 19
        },
        "end": {
          "line": 168,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{",
      "start": 5235,
      "end": 5238,
      "loc": {
        "start": {
          "line": 168,
          "column": 23
        },
        "end": {
          "line": 168,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 5239,
      "end": 5241,
      "loc": {
        "start": {
          "line": 168,
          "column": 27
        },
        "end": {
          "line": 168,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5242,
      "end": 5248,
      "loc": {
        "start": {
          "line": 168,
          "column": 30
        },
        "end": {
          "line": 168,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 5249,
      "end": 5252,
      "loc": {
        "start": {
          "line": 168,
          "column": 37
        },
        "end": {
          "line": 168,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "}",
      "start": 5253,
      "end": 5256,
      "loc": {
        "start": {
          "line": 168,
          "column": 41
        },
        "end": {
          "line": 168,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5256,
      "end": 5257,
      "loc": {
        "start": {
          "line": 168,
          "column": 44
        },
        "end": {
          "line": 168,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5265,
      "end": 5271,
      "loc": {
        "start": {
          "line": 169,
          "column": 6
        },
        "end": {
          "line": 169,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5272,
      "end": 5273,
      "loc": {
        "start": {
          "line": 169,
          "column": 13
        },
        "end": {
          "line": 169,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5274,
      "end": 5278,
      "loc": {
        "start": {
          "line": 169,
          "column": 15
        },
        "end": {
          "line": 169,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5278,
      "end": 5279,
      "loc": {
        "start": {
          "line": 169,
          "column": 19
        },
        "end": {
          "line": 169,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 5279,
      "end": 5290,
      "loc": {
        "start": {
          "line": 169,
          "column": 20
        },
        "end": {
          "line": 169,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5290,
      "end": 5291,
      "loc": {
        "start": {
          "line": 169,
          "column": 31
        },
        "end": {
          "line": 169,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5291,
      "end": 5297,
      "loc": {
        "start": {
          "line": 169,
          "column": 32
        },
        "end": {
          "line": 169,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5297,
      "end": 5298,
      "loc": {
        "start": {
          "line": 169,
          "column": 38
        },
        "end": {
          "line": 169,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5299,
      "end": 5305,
      "loc": {
        "start": {
          "line": 169,
          "column": 40
        },
        "end": {
          "line": 169,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5305,
      "end": 5306,
      "loc": {
        "start": {
          "line": 169,
          "column": 46
        },
        "end": {
          "line": 169,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 5307,
      "end": 5315,
      "loc": {
        "start": {
          "line": 169,
          "column": 48
        },
        "end": {
          "line": 169,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5315,
      "end": 5316,
      "loc": {
        "start": {
          "line": 169,
          "column": 56
        },
        "end": {
          "line": 169,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5316,
      "end": 5317,
      "loc": {
        "start": {
          "line": 169,
          "column": 57
        },
        "end": {
          "line": 169,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 5325,
      "end": 5329,
      "loc": {
        "start": {
          "line": 171,
          "column": 4
        },
        "end": {
          "line": 171,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5330,
      "end": 5332,
      "loc": {
        "start": {
          "line": 171,
          "column": 9
        },
        "end": {
          "line": 171,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5332,
      "end": 5333,
      "loc": {
        "start": {
          "line": 171,
          "column": 11
        },
        "end": {
          "line": 171,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 5333,
      "end": 5334,
      "loc": {
        "start": {
          "line": 171,
          "column": 12
        },
        "end": {
          "line": 171,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5334,
      "end": 5340,
      "loc": {
        "start": {
          "line": 171,
          "column": 13
        },
        "end": {
          "line": 171,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5340,
      "end": 5341,
      "loc": {
        "start": {
          "line": 171,
          "column": 19
        },
        "end": {
          "line": 171,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "includes",
      "start": 5341,
      "end": 5349,
      "loc": {
        "start": {
          "line": 171,
          "column": 20
        },
        "end": {
          "line": 171,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5349,
      "end": 5350,
      "loc": {
        "start": {
          "line": 171,
          "column": 28
        },
        "end": {
          "line": 171,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{",
      "start": 5350,
      "end": 5353,
      "loc": {
        "start": {
          "line": 171,
          "column": 29
        },
        "end": {
          "line": 171,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5353,
      "end": 5354,
      "loc": {
        "start": {
          "line": 171,
          "column": 32
        },
        "end": {
          "line": 171,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 5355,
      "end": 5357,
      "loc": {
        "start": {
          "line": 171,
          "column": 34
        },
        "end": {
          "line": 171,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 5358,
      "end": 5359,
      "loc": {
        "start": {
          "line": 171,
          "column": 37
        },
        "end": {
          "line": 171,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5359,
      "end": 5365,
      "loc": {
        "start": {
          "line": 171,
          "column": 38
        },
        "end": {
          "line": 171,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5365,
      "end": 5366,
      "loc": {
        "start": {
          "line": 171,
          "column": 44
        },
        "end": {
          "line": 171,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "includes",
      "start": 5366,
      "end": 5374,
      "loc": {
        "start": {
          "line": 171,
          "column": 45
        },
        "end": {
          "line": 171,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5374,
      "end": 5375,
      "loc": {
        "start": {
          "line": 171,
          "column": 53
        },
        "end": {
          "line": 171,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "}",
      "start": 5375,
      "end": 5378,
      "loc": {
        "start": {
          "line": 171,
          "column": 54
        },
        "end": {
          "line": 171,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5378,
      "end": 5379,
      "loc": {
        "start": {
          "line": 171,
          "column": 57
        },
        "end": {
          "line": 171,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5379,
      "end": 5380,
      "loc": {
        "start": {
          "line": 171,
          "column": 58
        },
        "end": {
          "line": 171,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5388,
      "end": 5394,
      "loc": {
        "start": {
          "line": 172,
          "column": 6
        },
        "end": {
          "line": 172,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5395,
      "end": 5396,
      "loc": {
        "start": {
          "line": 172,
          "column": 13
        },
        "end": {
          "line": 172,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5397,
      "end": 5401,
      "loc": {
        "start": {
          "line": 172,
          "column": 15
        },
        "end": {
          "line": 172,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5401,
      "end": 5402,
      "loc": {
        "start": {
          "line": 172,
          "column": 19
        },
        "end": {
          "line": 172,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 5402,
      "end": 5413,
      "loc": {
        "start": {
          "line": 172,
          "column": 20
        },
        "end": {
          "line": 172,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5413,
      "end": 5414,
      "loc": {
        "start": {
          "line": 172,
          "column": 31
        },
        "end": {
          "line": 172,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5414,
      "end": 5420,
      "loc": {
        "start": {
          "line": 172,
          "column": 32
        },
        "end": {
          "line": 172,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5420,
      "end": 5421,
      "loc": {
        "start": {
          "line": 172,
          "column": 38
        },
        "end": {
          "line": 172,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5422,
      "end": 5428,
      "loc": {
        "start": {
          "line": 172,
          "column": 40
        },
        "end": {
          "line": 172,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5428,
      "end": 5429,
      "loc": {
        "start": {
          "line": 172,
          "column": 46
        },
        "end": {
          "line": 172,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 5430,
      "end": 5438,
      "loc": {
        "start": {
          "line": 172,
          "column": 48
        },
        "end": {
          "line": 172,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5438,
      "end": 5439,
      "loc": {
        "start": {
          "line": 172,
          "column": 56
        },
        "end": {
          "line": 172,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5439,
      "end": 5440,
      "loc": {
        "start": {
          "line": 172,
          "column": 57
        },
        "end": {
          "line": 172,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 5448,
      "end": 5454,
      "loc": {
        "start": {
          "line": 174,
          "column": 4
        },
        "end": {
          "line": 174,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5455,
      "end": 5461,
      "loc": {
        "start": {
          "line": 174,
          "column": 11
        },
        "end": {
          "line": 174,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5461,
      "end": 5462,
      "loc": {
        "start": {
          "line": 174,
          "column": 17
        },
        "end": {
          "line": 174,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5466,
      "end": 5467,
      "loc": {
        "start": {
          "line": 175,
          "column": 2
        },
        "end": {
          "line": 175,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Moves the cursor position by a given amount\r\n   * \r\n   * @param  {number} length Represents by how many characters the input should be moved\r\n   * @param  {boolean} minus Whether the cursor should be moved to the left or not.\r\n   ",
      "start": 5471,
      "end": 5713,
      "loc": {
        "start": {
          "line": 176,
          "column": 2
        },
        "end": {
          "line": 181,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 5717,
      "end": 5731,
      "loc": {
        "start": {
          "line": 182,
          "column": 2
        },
        "end": {
          "line": 182,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5731,
      "end": 5732,
      "loc": {
        "start": {
          "line": 182,
          "column": 16
        },
        "end": {
          "line": 182,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 5732,
      "end": 5738,
      "loc": {
        "start": {
          "line": 182,
          "column": 17
        },
        "end": {
          "line": 182,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5738,
      "end": 5739,
      "loc": {
        "start": {
          "line": 182,
          "column": 23
        },
        "end": {
          "line": 182,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "minus",
      "start": 5740,
      "end": 5745,
      "loc": {
        "start": {
          "line": 182,
          "column": 25
        },
        "end": {
          "line": 182,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5745,
      "end": 5746,
      "loc": {
        "start": {
          "line": 182,
          "column": 30
        },
        "end": {
          "line": 182,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5746,
      "end": 5747,
      "loc": {
        "start": {
          "line": 182,
          "column": 31
        },
        "end": {
          "line": 182,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5753,
      "end": 5755,
      "loc": {
        "start": {
          "line": 183,
          "column": 4
        },
        "end": {
          "line": 183,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5755,
      "end": 5756,
      "loc": {
        "start": {
          "line": 183,
          "column": 6
        },
        "end": {
          "line": 183,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "minus",
      "start": 5756,
      "end": 5761,
      "loc": {
        "start": {
          "line": 183,
          "column": 7
        },
        "end": {
          "line": 183,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5761,
      "end": 5762,
      "loc": {
        "start": {
          "line": 183,
          "column": 12
        },
        "end": {
          "line": 183,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5762,
      "end": 5763,
      "loc": {
        "start": {
          "line": 183,
          "column": 13
        },
        "end": {
          "line": 183,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 5771,
      "end": 5773,
      "loc": {
        "start": {
          "line": 184,
          "column": 6
        },
        "end": {
          "line": 184,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5773,
      "end": 5774,
      "loc": {
        "start": {
          "line": 184,
          "column": 8
        },
        "end": {
          "line": 184,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5774,
      "end": 5778,
      "loc": {
        "start": {
          "line": 184,
          "column": 9
        },
        "end": {
          "line": 184,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5778,
      "end": 5779,
      "loc": {
        "start": {
          "line": 184,
          "column": 13
        },
        "end": {
          "line": 184,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 5779,
      "end": 5801,
      "loc": {
        "start": {
          "line": 184,
          "column": 14
        },
        "end": {
          "line": 184,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5801,
      "end": 5802,
      "loc": {
        "start": {
          "line": 184,
          "column": 36
        },
        "end": {
          "line": 184,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 5802,
      "end": 5815,
      "loc": {
        "start": {
          "line": 184,
          "column": 37
        },
        "end": {
          "line": 184,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 5816,
      "end": 5817,
      "loc": {
        "start": {
          "line": 184,
          "column": 51
        },
        "end": {
          "line": 184,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 5818,
      "end": 5819,
      "loc": {
        "start": {
          "line": 184,
          "column": 53
        },
        "end": {
          "line": 184,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5819,
      "end": 5820,
      "loc": {
        "start": {
          "line": 184,
          "column": 54
        },
        "end": {
          "line": 184,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5830,
      "end": 5834,
      "loc": {
        "start": {
          "line": 185,
          "column": 8
        },
        "end": {
          "line": 185,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5834,
      "end": 5835,
      "loc": {
        "start": {
          "line": 185,
          "column": 12
        },
        "end": {
          "line": 185,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 5835,
      "end": 5857,
      "loc": {
        "start": {
          "line": 185,
          "column": 13
        },
        "end": {
          "line": 185,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5857,
      "end": 5858,
      "loc": {
        "start": {
          "line": 185,
          "column": 35
        },
        "end": {
          "line": 185,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 5858,
      "end": 5871,
      "loc": {
        "start": {
          "line": 185,
          "column": 36
        },
        "end": {
          "line": 185,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5872,
      "end": 5873,
      "loc": {
        "start": {
          "line": 185,
          "column": 50
        },
        "end": {
          "line": 185,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5874,
      "end": 5878,
      "loc": {
        "start": {
          "line": 185,
          "column": 52
        },
        "end": {
          "line": 185,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5878,
      "end": 5879,
      "loc": {
        "start": {
          "line": 185,
          "column": 56
        },
        "end": {
          "line": 185,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 5879,
      "end": 5901,
      "loc": {
        "start": {
          "line": 185,
          "column": 57
        },
        "end": {
          "line": 185,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5901,
      "end": 5902,
      "loc": {
        "start": {
          "line": 185,
          "column": 79
        },
        "end": {
          "line": 185,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 5902,
      "end": 5915,
      "loc": {
        "start": {
          "line": 185,
          "column": 80
        },
        "end": {
          "line": 185,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 5916,
      "end": 5917,
      "loc": {
        "start": {
          "line": 185,
          "column": 94
        },
        "end": {
          "line": 185,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 5918,
      "end": 5924,
      "loc": {
        "start": {
          "line": 185,
          "column": 96
        },
        "end": {
          "line": 185,
          "column": 102
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5930,
      "end": 5931,
      "loc": {
        "start": {
          "line": 186,
          "column": 4
        },
        "end": {
          "line": 186,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 5932,
      "end": 5936,
      "loc": {
        "start": {
          "line": 186,
          "column": 6
        },
        "end": {
          "line": 186,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5937,
      "end": 5938,
      "loc": {
        "start": {
          "line": 186,
          "column": 11
        },
        "end": {
          "line": 186,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5946,
      "end": 5950,
      "loc": {
        "start": {
          "line": 187,
          "column": 6
        },
        "end": {
          "line": 187,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5950,
      "end": 5951,
      "loc": {
        "start": {
          "line": 187,
          "column": 10
        },
        "end": {
          "line": 187,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 5951,
      "end": 5973,
      "loc": {
        "start": {
          "line": 187,
          "column": 11
        },
        "end": {
          "line": 187,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5973,
      "end": 5974,
      "loc": {
        "start": {
          "line": 187,
          "column": 33
        },
        "end": {
          "line": 187,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 5974,
      "end": 5987,
      "loc": {
        "start": {
          "line": 187,
          "column": 34
        },
        "end": {
          "line": 187,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5988,
      "end": 5989,
      "loc": {
        "start": {
          "line": 187,
          "column": 48
        },
        "end": {
          "line": 187,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5990,
      "end": 5994,
      "loc": {
        "start": {
          "line": 187,
          "column": 50
        },
        "end": {
          "line": 187,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5994,
      "end": 5995,
      "loc": {
        "start": {
          "line": 187,
          "column": 54
        },
        "end": {
          "line": 187,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 5995,
      "end": 6017,
      "loc": {
        "start": {
          "line": 187,
          "column": 55
        },
        "end": {
          "line": 187,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6017,
      "end": 6018,
      "loc": {
        "start": {
          "line": 187,
          "column": 77
        },
        "end": {
          "line": 187,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 6018,
      "end": 6031,
      "loc": {
        "start": {
          "line": 187,
          "column": 78
        },
        "end": {
          "line": 187,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 6032,
      "end": 6033,
      "loc": {
        "start": {
          "line": 187,
          "column": 92
        },
        "end": {
          "line": 187,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 6034,
      "end": 6040,
      "loc": {
        "start": {
          "line": 187,
          "column": 94
        },
        "end": {
          "line": 187,
          "column": 100
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6040,
      "end": 6041,
      "loc": {
        "start": {
          "line": 187,
          "column": 100
        },
        "end": {
          "line": 187,
          "column": 101
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6047,
      "end": 6048,
      "loc": {
        "start": {
          "line": 188,
          "column": 4
        },
        "end": {
          "line": 188,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6052,
      "end": 6053,
      "loc": {
        "start": {
          "line": 189,
          "column": 2
        },
        "end": {
          "line": 189,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Adds a string to the input at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {string} string The string to add\r\n   * @param  {number} position The (cursor) position where the string should be added\r\n   ",
      "start": 6059,
      "end": 6311,
      "loc": {
        "start": {
          "line": 191,
          "column": 2
        },
        "end": {
          "line": 197,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 6315,
      "end": 6326,
      "loc": {
        "start": {
          "line": 198,
          "column": 2
        },
        "end": {
          "line": 198,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6326,
      "end": 6327,
      "loc": {
        "start": {
          "line": 198,
          "column": 13
        },
        "end": {
          "line": 198,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 6327,
      "end": 6333,
      "loc": {
        "start": {
          "line": 198,
          "column": 14
        },
        "end": {
          "line": 198,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6333,
      "end": 6334,
      "loc": {
        "start": {
          "line": 198,
          "column": 20
        },
        "end": {
          "line": 198,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 6335,
      "end": 6341,
      "loc": {
        "start": {
          "line": 198,
          "column": 22
        },
        "end": {
          "line": 198,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6341,
      "end": 6342,
      "loc": {
        "start": {
          "line": 198,
          "column": 28
        },
        "end": {
          "line": 198,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 6343,
      "end": 6351,
      "loc": {
        "start": {
          "line": 198,
          "column": 30
        },
        "end": {
          "line": 198,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6351,
      "end": 6352,
      "loc": {
        "start": {
          "line": 198,
          "column": 38
        },
        "end": {
          "line": 198,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6352,
      "end": 6353,
      "loc": {
        "start": {
          "line": 198,
          "column": 39
        },
        "end": {
          "line": 198,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 6359,
      "end": 6362,
      "loc": {
        "start": {
          "line": 199,
          "column": 4
        },
        "end": {
          "line": 199,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 6363,
      "end": 6369,
      "loc": {
        "start": {
          "line": 199,
          "column": 8
        },
        "end": {
          "line": 199,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6369,
      "end": 6370,
      "loc": {
        "start": {
          "line": 199,
          "column": 14
        },
        "end": {
          "line": 199,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6378,
      "end": 6380,
      "loc": {
        "start": {
          "line": 201,
          "column": 4
        },
        "end": {
          "line": 201,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6380,
      "end": 6381,
      "loc": {
        "start": {
          "line": 201,
          "column": 6
        },
        "end": {
          "line": 201,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6381,
      "end": 6385,
      "loc": {
        "start": {
          "line": 201,
          "column": 7
        },
        "end": {
          "line": 201,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6385,
      "end": 6386,
      "loc": {
        "start": {
          "line": 201,
          "column": 11
        },
        "end": {
          "line": 201,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 6386,
      "end": 6408,
      "loc": {
        "start": {
          "line": 201,
          "column": 12
        },
        "end": {
          "line": 201,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6408,
      "end": 6409,
      "loc": {
        "start": {
          "line": 201,
          "column": 34
        },
        "end": {
          "line": 201,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 6409,
      "end": 6416,
      "loc": {
        "start": {
          "line": 201,
          "column": 35
        },
        "end": {
          "line": 201,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6416,
      "end": 6417,
      "loc": {
        "start": {
          "line": 201,
          "column": 42
        },
        "end": {
          "line": 201,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 6417,
      "end": 6422,
      "loc": {
        "start": {
          "line": 201,
          "column": 43
        },
        "end": {
          "line": 201,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6422,
      "end": 6423,
      "loc": {
        "start": {
          "line": 201,
          "column": 48
        },
        "end": {
          "line": 201,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6423,
      "end": 6424,
      "loc": {
        "start": {
          "line": 201,
          "column": 49
        },
        "end": {
          "line": 201,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 6432,
      "end": 6439,
      "loc": {
        "start": {
          "line": 202,
          "column": 6
        },
        "end": {
          "line": 202,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6439,
      "end": 6440,
      "loc": {
        "start": {
          "line": 202,
          "column": 13
        },
        "end": {
          "line": 202,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "log",
      "start": 6440,
      "end": 6443,
      "loc": {
        "start": {
          "line": 202,
          "column": 14
        },
        "end": {
          "line": 202,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6443,
      "end": 6444,
      "loc": {
        "start": {
          "line": 202,
          "column": 17
        },
        "end": {
          "line": 202,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Caret at:",
      "start": 6444,
      "end": 6455,
      "loc": {
        "start": {
          "line": 202,
          "column": 18
        },
        "end": {
          "line": 202,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6455,
      "end": 6456,
      "loc": {
        "start": {
          "line": 202,
          "column": 29
        },
        "end": {
          "line": 202,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 6457,
      "end": 6465,
      "loc": {
        "start": {
          "line": 202,
          "column": 31
        },
        "end": {
          "line": 202,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6465,
      "end": 6466,
      "loc": {
        "start": {
          "line": 202,
          "column": 39
        },
        "end": {
          "line": 202,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6466,
      "end": 6467,
      "loc": {
        "start": {
          "line": 202,
          "column": 40
        },
        "end": {
          "line": 202,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6473,
      "end": 6474,
      "loc": {
        "start": {
          "line": 203,
          "column": 4
        },
        "end": {
          "line": 203,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6482,
      "end": 6484,
      "loc": {
        "start": {
          "line": 205,
          "column": 4
        },
        "end": {
          "line": 205,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6484,
      "end": 6485,
      "loc": {
        "start": {
          "line": 205,
          "column": 6
        },
        "end": {
          "line": 205,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 6485,
      "end": 6486,
      "loc": {
        "start": {
          "line": 205,
          "column": 7
        },
        "end": {
          "line": 205,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 6486,
      "end": 6494,
      "loc": {
        "start": {
          "line": 205,
          "column": 8
        },
        "end": {
          "line": 205,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 6495,
      "end": 6497,
      "loc": {
        "start": {
          "line": 205,
          "column": 17
        },
        "end": {
          "line": 205,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 6498,
      "end": 6506,
      "loc": {
        "start": {
          "line": 205,
          "column": 20
        },
        "end": {
          "line": 205,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 6507,
      "end": 6510,
      "loc": {
        "start": {
          "line": 205,
          "column": 29
        },
        "end": {
          "line": 205,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 6511,
      "end": 6512,
      "loc": {
        "start": {
          "line": 205,
          "column": 33
        },
        "end": {
          "line": 205,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6512,
      "end": 6513,
      "loc": {
        "start": {
          "line": 205,
          "column": 34
        },
        "end": {
          "line": 205,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6513,
      "end": 6514,
      "loc": {
        "start": {
          "line": 205,
          "column": 35
        },
        "end": {
          "line": 205,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 6522,
      "end": 6528,
      "loc": {
        "start": {
          "line": 206,
          "column": 6
        },
        "end": {
          "line": 206,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6529,
      "end": 6530,
      "loc": {
        "start": {
          "line": 206,
          "column": 13
        },
        "end": {
          "line": 206,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 6531,
      "end": 6537,
      "loc": {
        "start": {
          "line": 206,
          "column": 15
        },
        "end": {
          "line": 206,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 6538,
      "end": 6539,
      "loc": {
        "start": {
          "line": 206,
          "column": 22
        },
        "end": {
          "line": 206,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 6540,
      "end": 6546,
      "loc": {
        "start": {
          "line": 206,
          "column": 24
        },
        "end": {
          "line": 206,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6546,
      "end": 6547,
      "loc": {
        "start": {
          "line": 206,
          "column": 30
        },
        "end": {
          "line": 206,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6553,
      "end": 6554,
      "loc": {
        "start": {
          "line": 207,
          "column": 4
        },
        "end": {
          "line": 207,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 6555,
      "end": 6559,
      "loc": {
        "start": {
          "line": 207,
          "column": 6
        },
        "end": {
          "line": 207,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6560,
      "end": 6561,
      "loc": {
        "start": {
          "line": 207,
          "column": 11
        },
        "end": {
          "line": 207,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 6569,
      "end": 6575,
      "loc": {
        "start": {
          "line": 208,
          "column": 6
        },
        "end": {
          "line": 208,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6576,
      "end": 6577,
      "loc": {
        "start": {
          "line": 208,
          "column": 13
        },
        "end": {
          "line": 208,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6578,
      "end": 6579,
      "loc": {
        "start": {
          "line": 208,
          "column": 15
        },
        "end": {
          "line": 208,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 6579,
      "end": 6585,
      "loc": {
        "start": {
          "line": 208,
          "column": 16
        },
        "end": {
          "line": 208,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6585,
      "end": 6586,
      "loc": {
        "start": {
          "line": 208,
          "column": 22
        },
        "end": {
          "line": 208,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 6586,
      "end": 6591,
      "loc": {
        "start": {
          "line": 208,
          "column": 23
        },
        "end": {
          "line": 208,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6591,
      "end": 6592,
      "loc": {
        "start": {
          "line": 208,
          "column": 28
        },
        "end": {
          "line": 208,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 6592,
      "end": 6593,
      "loc": {
        "start": {
          "line": 208,
          "column": 29
        },
        "end": {
          "line": 208,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6593,
      "end": 6594,
      "loc": {
        "start": {
          "line": 208,
          "column": 30
        },
        "end": {
          "line": 208,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 6595,
      "end": 6603,
      "loc": {
        "start": {
          "line": 208,
          "column": 32
        },
        "end": {
          "line": 208,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6603,
      "end": 6604,
      "loc": {
        "start": {
          "line": 208,
          "column": 40
        },
        "end": {
          "line": 208,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6604,
      "end": 6605,
      "loc": {
        "start": {
          "line": 208,
          "column": 41
        },
        "end": {
          "line": 208,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 6606,
      "end": 6612,
      "loc": {
        "start": {
          "line": 208,
          "column": 43
        },
        "end": {
          "line": 208,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6612,
      "end": 6613,
      "loc": {
        "start": {
          "line": 208,
          "column": 49
        },
        "end": {
          "line": 208,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 6614,
      "end": 6620,
      "loc": {
        "start": {
          "line": 208,
          "column": 51
        },
        "end": {
          "line": 208,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6620,
      "end": 6621,
      "loc": {
        "start": {
          "line": 208,
          "column": 57
        },
        "end": {
          "line": 208,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 6621,
      "end": 6626,
      "loc": {
        "start": {
          "line": 208,
          "column": 58
        },
        "end": {
          "line": 208,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6626,
      "end": 6627,
      "loc": {
        "start": {
          "line": 208,
          "column": 63
        },
        "end": {
          "line": 208,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 6627,
      "end": 6635,
      "loc": {
        "start": {
          "line": 208,
          "column": 64
        },
        "end": {
          "line": 208,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6635,
      "end": 6636,
      "loc": {
        "start": {
          "line": 208,
          "column": 72
        },
        "end": {
          "line": 208,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6636,
      "end": 6637,
      "loc": {
        "start": {
          "line": 208,
          "column": 73
        },
        "end": {
          "line": 208,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6637,
      "end": 6638,
      "loc": {
        "start": {
          "line": 208,
          "column": 74
        },
        "end": {
          "line": 208,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "join",
      "start": 6638,
      "end": 6642,
      "loc": {
        "start": {
          "line": 208,
          "column": 75
        },
        "end": {
          "line": 208,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6642,
      "end": 6643,
      "loc": {
        "start": {
          "line": 208,
          "column": 79
        },
        "end": {
          "line": 208,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 6643,
      "end": 6645,
      "loc": {
        "start": {
          "line": 208,
          "column": 80
        },
        "end": {
          "line": 208,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6645,
      "end": 6646,
      "loc": {
        "start": {
          "line": 208,
          "column": 82
        },
        "end": {
          "line": 208,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6646,
      "end": 6647,
      "loc": {
        "start": {
          "line": 208,
          "column": 83
        },
        "end": {
          "line": 208,
          "column": 84
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n       * Avoid caret position change when maxLength is set\r\n       ",
      "start": 6657,
      "end": 6731,
      "loc": {
        "start": {
          "line": 210,
          "column": 6
        },
        "end": {
          "line": 212,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 6739,
      "end": 6741,
      "loc": {
        "start": {
          "line": 213,
          "column": 6
        },
        "end": {
          "line": 213,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6741,
      "end": 6742,
      "loc": {
        "start": {
          "line": 213,
          "column": 8
        },
        "end": {
          "line": 213,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 6742,
      "end": 6743,
      "loc": {
        "start": {
          "line": 213,
          "column": 9
        },
        "end": {
          "line": 213,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6743,
      "end": 6747,
      "loc": {
        "start": {
          "line": 213,
          "column": 10
        },
        "end": {
          "line": 213,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6747,
      "end": 6748,
      "loc": {
        "start": {
          "line": 213,
          "column": 14
        },
        "end": {
          "line": 213,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isMaxLengthReached",
      "start": 6748,
      "end": 6766,
      "loc": {
        "start": {
          "line": 213,
          "column": 15
        },
        "end": {
          "line": 213,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6766,
      "end": 6767,
      "loc": {
        "start": {
          "line": 213,
          "column": 33
        },
        "end": {
          "line": 213,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6767,
      "end": 6768,
      "loc": {
        "start": {
          "line": 213,
          "column": 34
        },
        "end": {
          "line": 213,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6768,
      "end": 6769,
      "loc": {
        "start": {
          "line": 213,
          "column": 35
        },
        "end": {
          "line": 213,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6769,
      "end": 6770,
      "loc": {
        "start": {
          "line": 213,
          "column": 36
        },
        "end": {
          "line": 213,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6780,
      "end": 6784,
      "loc": {
        "start": {
          "line": 214,
          "column": 8
        },
        "end": {
          "line": 214,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6784,
      "end": 6785,
      "loc": {
        "start": {
          "line": 214,
          "column": 12
        },
        "end": {
          "line": 214,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 6785,
      "end": 6799,
      "loc": {
        "start": {
          "line": 214,
          "column": 13
        },
        "end": {
          "line": 214,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6799,
      "end": 6800,
      "loc": {
        "start": {
          "line": 214,
          "column": 27
        },
        "end": {
          "line": 214,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 6800,
      "end": 6806,
      "loc": {
        "start": {
          "line": 214,
          "column": 28
        },
        "end": {
          "line": 214,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6806,
      "end": 6807,
      "loc": {
        "start": {
          "line": 214,
          "column": 34
        },
        "end": {
          "line": 214,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 6807,
      "end": 6813,
      "loc": {
        "start": {
          "line": 214,
          "column": 35
        },
        "end": {
          "line": 214,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6813,
      "end": 6814,
      "loc": {
        "start": {
          "line": 214,
          "column": 41
        },
        "end": {
          "line": 214,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6814,
      "end": 6815,
      "loc": {
        "start": {
          "line": 214,
          "column": 42
        },
        "end": {
          "line": 214,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6823,
      "end": 6824,
      "loc": {
        "start": {
          "line": 215,
          "column": 6
        },
        "end": {
          "line": 215,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6832,
      "end": 6833,
      "loc": {
        "start": {
          "line": 217,
          "column": 4
        },
        "end": {
          "line": 217,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 6841,
      "end": 6847,
      "loc": {
        "start": {
          "line": 219,
          "column": 4
        },
        "end": {
          "line": 219,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 6848,
      "end": 6854,
      "loc": {
        "start": {
          "line": 219,
          "column": 11
        },
        "end": {
          "line": 219,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6854,
      "end": 6855,
      "loc": {
        "start": {
          "line": 219,
          "column": 17
        },
        "end": {
          "line": 219,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6859,
      "end": 6860,
      "loc": {
        "start": {
          "line": 220,
          "column": 2
        },
        "end": {
          "line": 220,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Removes an amount of characters at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {number} position The (cursor) position from where the characters should be removed\r\n   ",
      "start": 6866,
      "end": 7086,
      "loc": {
        "start": {
          "line": 222,
          "column": 2
        },
        "end": {
          "line": 227,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeAt",
      "start": 7090,
      "end": 7098,
      "loc": {
        "start": {
          "line": 228,
          "column": 2
        },
        "end": {
          "line": 228,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7098,
      "end": 7099,
      "loc": {
        "start": {
          "line": 228,
          "column": 10
        },
        "end": {
          "line": 228,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 7099,
      "end": 7105,
      "loc": {
        "start": {
          "line": 228,
          "column": 11
        },
        "end": {
          "line": 228,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7105,
      "end": 7106,
      "loc": {
        "start": {
          "line": 228,
          "column": 17
        },
        "end": {
          "line": 228,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7107,
      "end": 7115,
      "loc": {
        "start": {
          "line": 228,
          "column": 19
        },
        "end": {
          "line": 228,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7115,
      "end": 7116,
      "loc": {
        "start": {
          "line": 228,
          "column": 27
        },
        "end": {
          "line": 228,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7116,
      "end": 7117,
      "loc": {
        "start": {
          "line": 228,
          "column": 28
        },
        "end": {
          "line": 228,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 7123,
      "end": 7125,
      "loc": {
        "start": {
          "line": 229,
          "column": 4
        },
        "end": {
          "line": 229,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7125,
      "end": 7126,
      "loc": {
        "start": {
          "line": 229,
          "column": 6
        },
        "end": {
          "line": 229,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7126,
      "end": 7130,
      "loc": {
        "start": {
          "line": 229,
          "column": 7
        },
        "end": {
          "line": 229,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7130,
      "end": 7131,
      "loc": {
        "start": {
          "line": 229,
          "column": 11
        },
        "end": {
          "line": 229,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 7131,
      "end": 7153,
      "loc": {
        "start": {
          "line": 229,
          "column": 12
        },
        "end": {
          "line": 229,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7153,
      "end": 7154,
      "loc": {
        "start": {
          "line": 229,
          "column": 34
        },
        "end": {
          "line": 229,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 7154,
      "end": 7167,
      "loc": {
        "start": {
          "line": 229,
          "column": 35
        },
        "end": {
          "line": 229,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 7168,
      "end": 7171,
      "loc": {
        "start": {
          "line": 229,
          "column": 49
        },
        "end": {
          "line": 229,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 7172,
      "end": 7173,
      "loc": {
        "start": {
          "line": 229,
          "column": 53
        },
        "end": {
          "line": 229,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7173,
      "end": 7174,
      "loc": {
        "start": {
          "line": 229,
          "column": 54
        },
        "end": {
          "line": 229,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7174,
      "end": 7175,
      "loc": {
        "start": {
          "line": 229,
          "column": 55
        },
        "end": {
          "line": 229,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 7183,
      "end": 7189,
      "loc": {
        "start": {
          "line": 230,
          "column": 6
        },
        "end": {
          "line": 230,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 7190,
      "end": 7196,
      "loc": {
        "start": {
          "line": 230,
          "column": 13
        },
        "end": {
          "line": 230,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7196,
      "end": 7197,
      "loc": {
        "start": {
          "line": 230,
          "column": 19
        },
        "end": {
          "line": 230,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7203,
      "end": 7204,
      "loc": {
        "start": {
          "line": 231,
          "column": 4
        },
        "end": {
          "line": 231,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 7212,
      "end": 7215,
      "loc": {
        "start": {
          "line": 233,
          "column": 4
        },
        "end": {
          "line": 233,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 7216,
      "end": 7222,
      "loc": {
        "start": {
          "line": 233,
          "column": 8
        },
        "end": {
          "line": 233,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7222,
      "end": 7223,
      "loc": {
        "start": {
          "line": 233,
          "column": 14
        },
        "end": {
          "line": 233,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 7229,
      "end": 7232,
      "loc": {
        "start": {
          "line": 234,
          "column": 4
        },
        "end": {
          "line": 234,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prevTwoChars",
      "start": 7233,
      "end": 7245,
      "loc": {
        "start": {
          "line": 234,
          "column": 8
        },
        "end": {
          "line": 234,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7245,
      "end": 7246,
      "loc": {
        "start": {
          "line": 234,
          "column": 20
        },
        "end": {
          "line": 234,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 7252,
      "end": 7255,
      "loc": {
        "start": {
          "line": 235,
          "column": 4
        },
        "end": {
          "line": 235,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatched",
      "start": 7256,
      "end": 7268,
      "loc": {
        "start": {
          "line": 235,
          "column": 8
        },
        "end": {
          "line": 235,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7268,
      "end": 7269,
      "loc": {
        "start": {
          "line": 235,
          "column": 20
        },
        "end": {
          "line": 235,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 7275,
      "end": 7278,
      "loc": {
        "start": {
          "line": 236,
          "column": 4
        },
        "end": {
          "line": 236,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatchedReg",
      "start": 7279,
      "end": 7294,
      "loc": {
        "start": {
          "line": 236,
          "column": 8
        },
        "end": {
          "line": 236,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7295,
      "end": 7296,
      "loc": {
        "start": {
          "line": 236,
          "column": 24
        },
        "end": {
          "line": 236,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "regexp",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": {
        "pattern": "([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])",
        "flags": "g"
      },
      "start": 7297,
      "end": 7332,
      "loc": {
        "start": {
          "line": 236,
          "column": 26
        },
        "end": {
          "line": 236,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7332,
      "end": 7333,
      "loc": {
        "start": {
          "line": 236,
          "column": 61
        },
        "end": {
          "line": 236,
          "column": 62
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Emojis are made out of two characters, so we must take a custom approach to trim them.\r\n     * For more info: https://mathiasbynens.be/notes/javascript-unicode\r\n     ",
      "start": 7341,
      "end": 7521,
      "loc": {
        "start": {
          "line": 238,
          "column": 4
        },
        "end": {
          "line": 241,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 7527,
      "end": 7529,
      "loc": {
        "start": {
          "line": 242,
          "column": 4
        },
        "end": {
          "line": 242,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7529,
      "end": 7530,
      "loc": {
        "start": {
          "line": 242,
          "column": 6
        },
        "end": {
          "line": 242,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7530,
      "end": 7538,
      "loc": {
        "start": {
          "line": 242,
          "column": 7
        },
        "end": {
          "line": 242,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 7539,
      "end": 7541,
      "loc": {
        "start": {
          "line": 242,
          "column": 16
        },
        "end": {
          "line": 242,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7542,
      "end": 7550,
      "loc": {
        "start": {
          "line": 242,
          "column": 19
        },
        "end": {
          "line": 242,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 7551,
      "end": 7553,
      "loc": {
        "start": {
          "line": 242,
          "column": 28
        },
        "end": {
          "line": 242,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 7554,
      "end": 7555,
      "loc": {
        "start": {
          "line": 242,
          "column": 31
        },
        "end": {
          "line": 242,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7555,
      "end": 7556,
      "loc": {
        "start": {
          "line": 242,
          "column": 32
        },
        "end": {
          "line": 242,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7556,
      "end": 7557,
      "loc": {
        "start": {
          "line": 242,
          "column": 33
        },
        "end": {
          "line": 242,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prevTwoChars",
      "start": 7565,
      "end": 7577,
      "loc": {
        "start": {
          "line": 243,
          "column": 6
        },
        "end": {
          "line": 243,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7578,
      "end": 7579,
      "loc": {
        "start": {
          "line": 243,
          "column": 19
        },
        "end": {
          "line": 243,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 7580,
      "end": 7586,
      "loc": {
        "start": {
          "line": 243,
          "column": 21
        },
        "end": {
          "line": 243,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7586,
      "end": 7587,
      "loc": {
        "start": {
          "line": 243,
          "column": 27
        },
        "end": {
          "line": 243,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "substring",
      "start": 7587,
      "end": 7596,
      "loc": {
        "start": {
          "line": 243,
          "column": 28
        },
        "end": {
          "line": 243,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7596,
      "end": 7597,
      "loc": {
        "start": {
          "line": 243,
          "column": 37
        },
        "end": {
          "line": 243,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7597,
      "end": 7605,
      "loc": {
        "start": {
          "line": 243,
          "column": 38
        },
        "end": {
          "line": 243,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 7606,
      "end": 7607,
      "loc": {
        "start": {
          "line": 243,
          "column": 47
        },
        "end": {
          "line": 243,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 7608,
      "end": 7609,
      "loc": {
        "start": {
          "line": 243,
          "column": 49
        },
        "end": {
          "line": 243,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7609,
      "end": 7610,
      "loc": {
        "start": {
          "line": 243,
          "column": 50
        },
        "end": {
          "line": 243,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7611,
      "end": 7619,
      "loc": {
        "start": {
          "line": 243,
          "column": 52
        },
        "end": {
          "line": 243,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7619,
      "end": 7620,
      "loc": {
        "start": {
          "line": 243,
          "column": 60
        },
        "end": {
          "line": 243,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatched",
      "start": 7628,
      "end": 7640,
      "loc": {
        "start": {
          "line": 244,
          "column": 6
        },
        "end": {
          "line": 244,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7641,
      "end": 7642,
      "loc": {
        "start": {
          "line": 244,
          "column": 19
        },
        "end": {
          "line": 244,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prevTwoChars",
      "start": 7643,
      "end": 7655,
      "loc": {
        "start": {
          "line": 244,
          "column": 21
        },
        "end": {
          "line": 244,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7655,
      "end": 7656,
      "loc": {
        "start": {
          "line": 244,
          "column": 33
        },
        "end": {
          "line": 244,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "match",
      "start": 7656,
      "end": 7661,
      "loc": {
        "start": {
          "line": 244,
          "column": 34
        },
        "end": {
          "line": 244,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7661,
      "end": 7662,
      "loc": {
        "start": {
          "line": 244,
          "column": 39
        },
        "end": {
          "line": 244,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatchedReg",
      "start": 7662,
      "end": 7677,
      "loc": {
        "start": {
          "line": 244,
          "column": 40
        },
        "end": {
          "line": 244,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7677,
      "end": 7678,
      "loc": {
        "start": {
          "line": 244,
          "column": 55
        },
        "end": {
          "line": 244,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7678,
      "end": 7679,
      "loc": {
        "start": {
          "line": 244,
          "column": 56
        },
        "end": {
          "line": 244,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 7689,
      "end": 7691,
      "loc": {
        "start": {
          "line": 246,
          "column": 6
        },
        "end": {
          "line": 246,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7691,
      "end": 7692,
      "loc": {
        "start": {
          "line": 246,
          "column": 8
        },
        "end": {
          "line": 246,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatched",
      "start": 7692,
      "end": 7704,
      "loc": {
        "start": {
          "line": 246,
          "column": 9
        },
        "end": {
          "line": 246,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7704,
      "end": 7705,
      "loc": {
        "start": {
          "line": 246,
          "column": 21
        },
        "end": {
          "line": 246,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7705,
      "end": 7706,
      "loc": {
        "start": {
          "line": 246,
          "column": 22
        },
        "end": {
          "line": 246,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 7716,
      "end": 7722,
      "loc": {
        "start": {
          "line": 247,
          "column": 8
        },
        "end": {
          "line": 247,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7723,
      "end": 7724,
      "loc": {
        "start": {
          "line": 247,
          "column": 15
        },
        "end": {
          "line": 247,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 7725,
      "end": 7731,
      "loc": {
        "start": {
          "line": 247,
          "column": 17
        },
        "end": {
          "line": 247,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7731,
      "end": 7732,
      "loc": {
        "start": {
          "line": 247,
          "column": 23
        },
        "end": {
          "line": 247,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "substr",
      "start": 7732,
      "end": 7738,
      "loc": {
        "start": {
          "line": 247,
          "column": 24
        },
        "end": {
          "line": 247,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7738,
      "end": 7739,
      "loc": {
        "start": {
          "line": 247,
          "column": 30
        },
        "end": {
          "line": 247,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 7739,
      "end": 7740,
      "loc": {
        "start": {
          "line": 247,
          "column": 31
        },
        "end": {
          "line": 247,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7740,
      "end": 7741,
      "loc": {
        "start": {
          "line": 247,
          "column": 32
        },
        "end": {
          "line": 247,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7742,
      "end": 7743,
      "loc": {
        "start": {
          "line": 247,
          "column": 34
        },
        "end": {
          "line": 247,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7743,
      "end": 7751,
      "loc": {
        "start": {
          "line": 247,
          "column": 35
        },
        "end": {
          "line": 247,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 7752,
      "end": 7753,
      "loc": {
        "start": {
          "line": 247,
          "column": 44
        },
        "end": {
          "line": 247,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 7754,
      "end": 7755,
      "loc": {
        "start": {
          "line": 247,
          "column": 46
        },
        "end": {
          "line": 247,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7755,
      "end": 7756,
      "loc": {
        "start": {
          "line": 247,
          "column": 47
        },
        "end": {
          "line": 247,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7756,
      "end": 7757,
      "loc": {
        "start": {
          "line": 247,
          "column": 48
        },
        "end": {
          "line": 247,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 7758,
      "end": 7759,
      "loc": {
        "start": {
          "line": 247,
          "column": 50
        },
        "end": {
          "line": 247,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 7760,
      "end": 7766,
      "loc": {
        "start": {
          "line": 247,
          "column": 52
        },
        "end": {
          "line": 247,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7766,
      "end": 7767,
      "loc": {
        "start": {
          "line": 247,
          "column": 58
        },
        "end": {
          "line": 247,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "substr",
      "start": 7767,
      "end": 7773,
      "loc": {
        "start": {
          "line": 247,
          "column": 59
        },
        "end": {
          "line": 247,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7773,
      "end": 7774,
      "loc": {
        "start": {
          "line": 247,
          "column": 65
        },
        "end": {
          "line": 247,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7774,
      "end": 7782,
      "loc": {
        "start": {
          "line": 247,
          "column": 66
        },
        "end": {
          "line": 247,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7782,
      "end": 7783,
      "loc": {
        "start": {
          "line": 247,
          "column": 74
        },
        "end": {
          "line": 247,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7783,
      "end": 7784,
      "loc": {
        "start": {
          "line": 247,
          "column": 75
        },
        "end": {
          "line": 247,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7794,
      "end": 7798,
      "loc": {
        "start": {
          "line": 248,
          "column": 8
        },
        "end": {
          "line": 248,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7798,
      "end": 7799,
      "loc": {
        "start": {
          "line": 248,
          "column": 12
        },
        "end": {
          "line": 248,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 7799,
      "end": 7813,
      "loc": {
        "start": {
          "line": 248,
          "column": 13
        },
        "end": {
          "line": 248,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7813,
      "end": 7814,
      "loc": {
        "start": {
          "line": 248,
          "column": 27
        },
        "end": {
          "line": 248,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 7814,
      "end": 7815,
      "loc": {
        "start": {
          "line": 248,
          "column": 28
        },
        "end": {
          "line": 248,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7815,
      "end": 7816,
      "loc": {
        "start": {
          "line": 248,
          "column": 29
        },
        "end": {
          "line": 248,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 7817,
      "end": 7821,
      "loc": {
        "start": {
          "line": 248,
          "column": 31
        },
        "end": {
          "line": 248,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7821,
      "end": 7822,
      "loc": {
        "start": {
          "line": 248,
          "column": 35
        },
        "end": {
          "line": 248,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7822,
      "end": 7823,
      "loc": {
        "start": {
          "line": 248,
          "column": 36
        },
        "end": {
          "line": 248,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7831,
      "end": 7832,
      "loc": {
        "start": {
          "line": 249,
          "column": 6
        },
        "end": {
          "line": 249,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 7833,
      "end": 7837,
      "loc": {
        "start": {
          "line": 249,
          "column": 8
        },
        "end": {
          "line": 249,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7838,
      "end": 7839,
      "loc": {
        "start": {
          "line": 249,
          "column": 13
        },
        "end": {
          "line": 249,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 7849,
      "end": 7855,
      "loc": {
        "start": {
          "line": 250,
          "column": 8
        },
        "end": {
          "line": 250,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7856,
      "end": 7857,
      "loc": {
        "start": {
          "line": 250,
          "column": 15
        },
        "end": {
          "line": 250,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 7858,
      "end": 7864,
      "loc": {
        "start": {
          "line": 250,
          "column": 17
        },
        "end": {
          "line": 250,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7864,
      "end": 7865,
      "loc": {
        "start": {
          "line": 250,
          "column": 23
        },
        "end": {
          "line": 250,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "substr",
      "start": 7865,
      "end": 7871,
      "loc": {
        "start": {
          "line": 250,
          "column": 24
        },
        "end": {
          "line": 250,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7871,
      "end": 7872,
      "loc": {
        "start": {
          "line": 250,
          "column": 30
        },
        "end": {
          "line": 250,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 7872,
      "end": 7873,
      "loc": {
        "start": {
          "line": 250,
          "column": 31
        },
        "end": {
          "line": 250,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7873,
      "end": 7874,
      "loc": {
        "start": {
          "line": 250,
          "column": 32
        },
        "end": {
          "line": 250,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7875,
      "end": 7876,
      "loc": {
        "start": {
          "line": 250,
          "column": 34
        },
        "end": {
          "line": 250,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7876,
      "end": 7884,
      "loc": {
        "start": {
          "line": 250,
          "column": 35
        },
        "end": {
          "line": 250,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 7885,
      "end": 7886,
      "loc": {
        "start": {
          "line": 250,
          "column": 44
        },
        "end": {
          "line": 250,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 7887,
      "end": 7888,
      "loc": {
        "start": {
          "line": 250,
          "column": 46
        },
        "end": {
          "line": 250,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7888,
      "end": 7889,
      "loc": {
        "start": {
          "line": 250,
          "column": 47
        },
        "end": {
          "line": 250,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7889,
      "end": 7890,
      "loc": {
        "start": {
          "line": 250,
          "column": 48
        },
        "end": {
          "line": 250,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 7891,
      "end": 7892,
      "loc": {
        "start": {
          "line": 250,
          "column": 50
        },
        "end": {
          "line": 250,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 7893,
      "end": 7899,
      "loc": {
        "start": {
          "line": 250,
          "column": 52
        },
        "end": {
          "line": 250,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7899,
      "end": 7900,
      "loc": {
        "start": {
          "line": 250,
          "column": 58
        },
        "end": {
          "line": 250,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "substr",
      "start": 7900,
      "end": 7906,
      "loc": {
        "start": {
          "line": 250,
          "column": 59
        },
        "end": {
          "line": 250,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7906,
      "end": 7907,
      "loc": {
        "start": {
          "line": 250,
          "column": 65
        },
        "end": {
          "line": 250,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7907,
      "end": 7915,
      "loc": {
        "start": {
          "line": 250,
          "column": 66
        },
        "end": {
          "line": 250,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7915,
      "end": 7916,
      "loc": {
        "start": {
          "line": 250,
          "column": 74
        },
        "end": {
          "line": 250,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7916,
      "end": 7917,
      "loc": {
        "start": {
          "line": 250,
          "column": 75
        },
        "end": {
          "line": 250,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7927,
      "end": 7931,
      "loc": {
        "start": {
          "line": 251,
          "column": 8
        },
        "end": {
          "line": 251,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7931,
      "end": 7932,
      "loc": {
        "start": {
          "line": 251,
          "column": 12
        },
        "end": {
          "line": 251,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 7932,
      "end": 7946,
      "loc": {
        "start": {
          "line": 251,
          "column": 13
        },
        "end": {
          "line": 251,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7946,
      "end": 7947,
      "loc": {
        "start": {
          "line": 251,
          "column": 27
        },
        "end": {
          "line": 251,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 7947,
      "end": 7948,
      "loc": {
        "start": {
          "line": 251,
          "column": 28
        },
        "end": {
          "line": 251,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7948,
      "end": 7949,
      "loc": {
        "start": {
          "line": 251,
          "column": 29
        },
        "end": {
          "line": 251,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 7950,
      "end": 7954,
      "loc": {
        "start": {
          "line": 251,
          "column": 31
        },
        "end": {
          "line": 251,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7954,
      "end": 7955,
      "loc": {
        "start": {
          "line": 251,
          "column": 35
        },
        "end": {
          "line": 251,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7955,
      "end": 7956,
      "loc": {
        "start": {
          "line": 251,
          "column": 36
        },
        "end": {
          "line": 251,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7964,
      "end": 7965,
      "loc": {
        "start": {
          "line": 252,
          "column": 6
        },
        "end": {
          "line": 252,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7971,
      "end": 7972,
      "loc": {
        "start": {
          "line": 253,
          "column": 4
        },
        "end": {
          "line": 253,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 7973,
      "end": 7977,
      "loc": {
        "start": {
          "line": 253,
          "column": 6
        },
        "end": {
          "line": 253,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7978,
      "end": 7979,
      "loc": {
        "start": {
          "line": 253,
          "column": 11
        },
        "end": {
          "line": 253,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prevTwoChars",
      "start": 7987,
      "end": 7999,
      "loc": {
        "start": {
          "line": 254,
          "column": 6
        },
        "end": {
          "line": 254,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8000,
      "end": 8001,
      "loc": {
        "start": {
          "line": 254,
          "column": 19
        },
        "end": {
          "line": 254,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 8002,
      "end": 8008,
      "loc": {
        "start": {
          "line": 254,
          "column": 21
        },
        "end": {
          "line": 254,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8008,
      "end": 8009,
      "loc": {
        "start": {
          "line": 254,
          "column": 27
        },
        "end": {
          "line": 254,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 8009,
      "end": 8014,
      "loc": {
        "start": {
          "line": 254,
          "column": 28
        },
        "end": {
          "line": 254,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8014,
      "end": 8015,
      "loc": {
        "start": {
          "line": 254,
          "column": 33
        },
        "end": {
          "line": 254,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 8015,
      "end": 8016,
      "loc": {
        "start": {
          "line": 254,
          "column": 34
        },
        "end": {
          "line": 254,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 8016,
      "end": 8017,
      "loc": {
        "start": {
          "line": 254,
          "column": 35
        },
        "end": {
          "line": 254,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8017,
      "end": 8018,
      "loc": {
        "start": {
          "line": 254,
          "column": 36
        },
        "end": {
          "line": 254,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8018,
      "end": 8019,
      "loc": {
        "start": {
          "line": 254,
          "column": 37
        },
        "end": {
          "line": 254,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatched",
      "start": 8027,
      "end": 8039,
      "loc": {
        "start": {
          "line": 255,
          "column": 6
        },
        "end": {
          "line": 255,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8040,
      "end": 8041,
      "loc": {
        "start": {
          "line": 255,
          "column": 19
        },
        "end": {
          "line": 255,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prevTwoChars",
      "start": 8042,
      "end": 8054,
      "loc": {
        "start": {
          "line": 255,
          "column": 21
        },
        "end": {
          "line": 255,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8054,
      "end": 8055,
      "loc": {
        "start": {
          "line": 255,
          "column": 33
        },
        "end": {
          "line": 255,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "match",
      "start": 8055,
      "end": 8060,
      "loc": {
        "start": {
          "line": 255,
          "column": 34
        },
        "end": {
          "line": 255,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8060,
      "end": 8061,
      "loc": {
        "start": {
          "line": 255,
          "column": 39
        },
        "end": {
          "line": 255,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatchedReg",
      "start": 8061,
      "end": 8076,
      "loc": {
        "start": {
          "line": 255,
          "column": 40
        },
        "end": {
          "line": 255,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8076,
      "end": 8077,
      "loc": {
        "start": {
          "line": 255,
          "column": 55
        },
        "end": {
          "line": 255,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8077,
      "end": 8078,
      "loc": {
        "start": {
          "line": 255,
          "column": 56
        },
        "end": {
          "line": 255,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 8088,
      "end": 8090,
      "loc": {
        "start": {
          "line": 257,
          "column": 6
        },
        "end": {
          "line": 257,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8090,
      "end": 8091,
      "loc": {
        "start": {
          "line": 257,
          "column": 8
        },
        "end": {
          "line": 257,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatched",
      "start": 8091,
      "end": 8103,
      "loc": {
        "start": {
          "line": 257,
          "column": 9
        },
        "end": {
          "line": 257,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8103,
      "end": 8104,
      "loc": {
        "start": {
          "line": 257,
          "column": 21
        },
        "end": {
          "line": 257,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8104,
      "end": 8105,
      "loc": {
        "start": {
          "line": 257,
          "column": 22
        },
        "end": {
          "line": 257,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 8115,
      "end": 8121,
      "loc": {
        "start": {
          "line": 258,
          "column": 8
        },
        "end": {
          "line": 258,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8122,
      "end": 8123,
      "loc": {
        "start": {
          "line": 258,
          "column": 15
        },
        "end": {
          "line": 258,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 8124,
      "end": 8130,
      "loc": {
        "start": {
          "line": 258,
          "column": 17
        },
        "end": {
          "line": 258,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8130,
      "end": 8131,
      "loc": {
        "start": {
          "line": 258,
          "column": 23
        },
        "end": {
          "line": 258,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 8131,
      "end": 8136,
      "loc": {
        "start": {
          "line": 258,
          "column": 24
        },
        "end": {
          "line": 258,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8136,
      "end": 8137,
      "loc": {
        "start": {
          "line": 258,
          "column": 29
        },
        "end": {
          "line": 258,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 8137,
      "end": 8138,
      "loc": {
        "start": {
          "line": 258,
          "column": 30
        },
        "end": {
          "line": 258,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8138,
      "end": 8139,
      "loc": {
        "start": {
          "line": 258,
          "column": 31
        },
        "end": {
          "line": 258,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 8140,
      "end": 8141,
      "loc": {
        "start": {
          "line": 258,
          "column": 33
        },
        "end": {
          "line": 258,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 8141,
      "end": 8142,
      "loc": {
        "start": {
          "line": 258,
          "column": 34
        },
        "end": {
          "line": 258,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8142,
      "end": 8143,
      "loc": {
        "start": {
          "line": 258,
          "column": 35
        },
        "end": {
          "line": 258,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8143,
      "end": 8144,
      "loc": {
        "start": {
          "line": 258,
          "column": 36
        },
        "end": {
          "line": 258,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8154,
      "end": 8158,
      "loc": {
        "start": {
          "line": 259,
          "column": 8
        },
        "end": {
          "line": 259,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8158,
      "end": 8159,
      "loc": {
        "start": {
          "line": 259,
          "column": 12
        },
        "end": {
          "line": 259,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 8159,
      "end": 8173,
      "loc": {
        "start": {
          "line": 259,
          "column": 13
        },
        "end": {
          "line": 259,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8173,
      "end": 8174,
      "loc": {
        "start": {
          "line": 259,
          "column": 27
        },
        "end": {
          "line": 259,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 8174,
      "end": 8175,
      "loc": {
        "start": {
          "line": 259,
          "column": 28
        },
        "end": {
          "line": 259,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8175,
      "end": 8176,
      "loc": {
        "start": {
          "line": 259,
          "column": 29
        },
        "end": {
          "line": 259,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 8177,
      "end": 8181,
      "loc": {
        "start": {
          "line": 259,
          "column": 31
        },
        "end": {
          "line": 259,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8181,
      "end": 8182,
      "loc": {
        "start": {
          "line": 259,
          "column": 35
        },
        "end": {
          "line": 259,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8182,
      "end": 8183,
      "loc": {
        "start": {
          "line": 259,
          "column": 36
        },
        "end": {
          "line": 259,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8191,
      "end": 8192,
      "loc": {
        "start": {
          "line": 260,
          "column": 6
        },
        "end": {
          "line": 260,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 8193,
      "end": 8197,
      "loc": {
        "start": {
          "line": 260,
          "column": 8
        },
        "end": {
          "line": 260,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8198,
      "end": 8199,
      "loc": {
        "start": {
          "line": 260,
          "column": 13
        },
        "end": {
          "line": 260,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 8209,
      "end": 8215,
      "loc": {
        "start": {
          "line": 261,
          "column": 8
        },
        "end": {
          "line": 261,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8216,
      "end": 8217,
      "loc": {
        "start": {
          "line": 261,
          "column": 15
        },
        "end": {
          "line": 261,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 8218,
      "end": 8224,
      "loc": {
        "start": {
          "line": 261,
          "column": 17
        },
        "end": {
          "line": 261,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8224,
      "end": 8225,
      "loc": {
        "start": {
          "line": 261,
          "column": 23
        },
        "end": {
          "line": 261,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 8225,
      "end": 8230,
      "loc": {
        "start": {
          "line": 261,
          "column": 24
        },
        "end": {
          "line": 261,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8230,
      "end": 8231,
      "loc": {
        "start": {
          "line": 261,
          "column": 29
        },
        "end": {
          "line": 261,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 8231,
      "end": 8232,
      "loc": {
        "start": {
          "line": 261,
          "column": 30
        },
        "end": {
          "line": 261,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8232,
      "end": 8233,
      "loc": {
        "start": {
          "line": 261,
          "column": 31
        },
        "end": {
          "line": 261,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 8234,
      "end": 8235,
      "loc": {
        "start": {
          "line": 261,
          "column": 33
        },
        "end": {
          "line": 261,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 8235,
      "end": 8236,
      "loc": {
        "start": {
          "line": 261,
          "column": 34
        },
        "end": {
          "line": 261,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8236,
      "end": 8237,
      "loc": {
        "start": {
          "line": 261,
          "column": 35
        },
        "end": {
          "line": 261,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8237,
      "end": 8238,
      "loc": {
        "start": {
          "line": 261,
          "column": 36
        },
        "end": {
          "line": 261,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8248,
      "end": 8252,
      "loc": {
        "start": {
          "line": 262,
          "column": 8
        },
        "end": {
          "line": 262,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8252,
      "end": 8253,
      "loc": {
        "start": {
          "line": 262,
          "column": 12
        },
        "end": {
          "line": 262,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 8253,
      "end": 8267,
      "loc": {
        "start": {
          "line": 262,
          "column": 13
        },
        "end": {
          "line": 262,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8267,
      "end": 8268,
      "loc": {
        "start": {
          "line": 262,
          "column": 27
        },
        "end": {
          "line": 262,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 8268,
      "end": 8269,
      "loc": {
        "start": {
          "line": 262,
          "column": 28
        },
        "end": {
          "line": 262,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8269,
      "end": 8270,
      "loc": {
        "start": {
          "line": 262,
          "column": 29
        },
        "end": {
          "line": 262,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 8271,
      "end": 8275,
      "loc": {
        "start": {
          "line": 262,
          "column": 31
        },
        "end": {
          "line": 262,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8275,
      "end": 8276,
      "loc": {
        "start": {
          "line": 262,
          "column": 35
        },
        "end": {
          "line": 262,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8276,
      "end": 8277,
      "loc": {
        "start": {
          "line": 262,
          "column": 36
        },
        "end": {
          "line": 262,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8285,
      "end": 8286,
      "loc": {
        "start": {
          "line": 263,
          "column": 6
        },
        "end": {
          "line": 263,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8292,
      "end": 8293,
      "loc": {
        "start": {
          "line": 264,
          "column": 4
        },
        "end": {
          "line": 264,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 8301,
      "end": 8307,
      "loc": {
        "start": {
          "line": 266,
          "column": 4
        },
        "end": {
          "line": 266,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 8308,
      "end": 8314,
      "loc": {
        "start": {
          "line": 266,
          "column": 11
        },
        "end": {
          "line": 266,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8314,
      "end": 8315,
      "loc": {
        "start": {
          "line": 266,
          "column": 17
        },
        "end": {
          "line": 266,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8319,
      "end": 8320,
      "loc": {
        "start": {
          "line": 267,
          "column": 2
        },
        "end": {
          "line": 267,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Determines whether the maxLength has been reached. This function is called when the maxLength option it set.\r\n   * \r\n   * @param  {object} inputObj\r\n   * @param  {object} options\r\n   * @param  {string} updatedInput\r\n   ",
      "start": 8324,
      "end": 8555,
      "loc": {
        "start": {
          "line": 268,
          "column": 2
        },
        "end": {
          "line": 274,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleMaxLength",
      "start": 8559,
      "end": 8574,
      "loc": {
        "start": {
          "line": 275,
          "column": 2
        },
        "end": {
          "line": 275,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8574,
      "end": 8575,
      "loc": {
        "start": {
          "line": 275,
          "column": 17
        },
        "end": {
          "line": 275,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inputObj",
      "start": 8575,
      "end": 8583,
      "loc": {
        "start": {
          "line": 275,
          "column": 18
        },
        "end": {
          "line": 275,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8583,
      "end": 8584,
      "loc": {
        "start": {
          "line": 275,
          "column": 26
        },
        "end": {
          "line": 275,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 8585,
      "end": 8592,
      "loc": {
        "start": {
          "line": 275,
          "column": 28
        },
        "end": {
          "line": 275,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8592,
      "end": 8593,
      "loc": {
        "start": {
          "line": 275,
          "column": 35
        },
        "end": {
          "line": 275,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updatedInput",
      "start": 8594,
      "end": 8606,
      "loc": {
        "start": {
          "line": 275,
          "column": 37
        },
        "end": {
          "line": 275,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8606,
      "end": 8607,
      "loc": {
        "start": {
          "line": 275,
          "column": 49
        },
        "end": {
          "line": 275,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8607,
      "end": 8608,
      "loc": {
        "start": {
          "line": 275,
          "column": 50
        },
        "end": {
          "line": 275,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 8614,
      "end": 8617,
      "loc": {
        "start": {
          "line": 276,
          "column": 4
        },
        "end": {
          "line": 276,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLength",
      "start": 8618,
      "end": 8627,
      "loc": {
        "start": {
          "line": 276,
          "column": 8
        },
        "end": {
          "line": 276,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8628,
      "end": 8629,
      "loc": {
        "start": {
          "line": 276,
          "column": 18
        },
        "end": {
          "line": 276,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 8630,
      "end": 8637,
      "loc": {
        "start": {
          "line": 276,
          "column": 20
        },
        "end": {
          "line": 276,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8637,
      "end": 8638,
      "loc": {
        "start": {
          "line": 276,
          "column": 27
        },
        "end": {
          "line": 276,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLength",
      "start": 8638,
      "end": 8647,
      "loc": {
        "start": {
          "line": 276,
          "column": 28
        },
        "end": {
          "line": 276,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8647,
      "end": 8648,
      "loc": {
        "start": {
          "line": 276,
          "column": 37
        },
        "end": {
          "line": 276,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 8654,
      "end": 8657,
      "loc": {
        "start": {
          "line": 277,
          "column": 4
        },
        "end": {
          "line": 277,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentInput",
      "start": 8658,
      "end": 8670,
      "loc": {
        "start": {
          "line": 277,
          "column": 8
        },
        "end": {
          "line": 277,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8671,
      "end": 8672,
      "loc": {
        "start": {
          "line": 277,
          "column": 21
        },
        "end": {
          "line": 277,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inputObj",
      "start": 8673,
      "end": 8681,
      "loc": {
        "start": {
          "line": 277,
          "column": 23
        },
        "end": {
          "line": 277,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8681,
      "end": 8682,
      "loc": {
        "start": {
          "line": 277,
          "column": 31
        },
        "end": {
          "line": 277,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 8682,
      "end": 8689,
      "loc": {
        "start": {
          "line": 277,
          "column": 32
        },
        "end": {
          "line": 277,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8689,
      "end": 8690,
      "loc": {
        "start": {
          "line": 277,
          "column": 39
        },
        "end": {
          "line": 277,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inputName",
      "start": 8690,
      "end": 8699,
      "loc": {
        "start": {
          "line": 277,
          "column": 40
        },
        "end": {
          "line": 277,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8699,
      "end": 8700,
      "loc": {
        "start": {
          "line": 277,
          "column": 49
        },
        "end": {
          "line": 277,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8700,
      "end": 8701,
      "loc": {
        "start": {
          "line": 277,
          "column": 50
        },
        "end": {
          "line": 277,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 8707,
      "end": 8710,
      "loc": {
        "start": {
          "line": 278,
          "column": 4
        },
        "end": {
          "line": 278,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "condition",
      "start": 8711,
      "end": 8720,
      "loc": {
        "start": {
          "line": 278,
          "column": 8
        },
        "end": {
          "line": 278,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8721,
      "end": 8722,
      "loc": {
        "start": {
          "line": 278,
          "column": 18
        },
        "end": {
          "line": 278,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentInput",
      "start": 8723,
      "end": 8735,
      "loc": {
        "start": {
          "line": 278,
          "column": 20
        },
        "end": {
          "line": 278,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8735,
      "end": 8736,
      "loc": {
        "start": {
          "line": 278,
          "column": 32
        },
        "end": {
          "line": 278,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 8736,
      "end": 8742,
      "loc": {
        "start": {
          "line": 278,
          "column": 33
        },
        "end": {
          "line": 278,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 8743,
      "end": 8746,
      "loc": {
        "start": {
          "line": 278,
          "column": 40
        },
        "end": {
          "line": 278,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLength",
      "start": 8747,
      "end": 8756,
      "loc": {
        "start": {
          "line": 278,
          "column": 44
        },
        "end": {
          "line": 278,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8756,
      "end": 8757,
      "loc": {
        "start": {
          "line": 278,
          "column": 53
        },
        "end": {
          "line": 278,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 8767,
      "end": 8769,
      "loc": {
        "start": {
          "line": 281,
          "column": 4
        },
        "end": {
          "line": 281,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8769,
      "end": 8770,
      "loc": {
        "start": {
          "line": 281,
          "column": 6
        },
        "end": {
          "line": 281,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n       * If pressing this button won't add more characters\r\n       * We exit out of this limiter function\r\n       ",
      "start": 8778,
      "end": 8899,
      "loc": {
        "start": {
          "line": 282,
          "column": 6
        },
        "end": {
          "line": 285,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updatedInput",
      "start": 8907,
      "end": 8919,
      "loc": {
        "start": {
          "line": 286,
          "column": 6
        },
        "end": {
          "line": 286,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8919,
      "end": 8920,
      "loc": {
        "start": {
          "line": 286,
          "column": 18
        },
        "end": {
          "line": 286,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 8920,
      "end": 8926,
      "loc": {
        "start": {
          "line": 286,
          "column": 19
        },
        "end": {
          "line": 286,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<=",
      "start": 8927,
      "end": 8929,
      "loc": {
        "start": {
          "line": 286,
          "column": 26
        },
        "end": {
          "line": 286,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentInput",
      "start": 8930,
      "end": 8942,
      "loc": {
        "start": {
          "line": 286,
          "column": 29
        },
        "end": {
          "line": 286,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8942,
      "end": 8943,
      "loc": {
        "start": {
          "line": 286,
          "column": 41
        },
        "end": {
          "line": 286,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 8943,
      "end": 8949,
      "loc": {
        "start": {
          "line": 286,
          "column": 42
        },
        "end": {
          "line": 286,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8955,
      "end": 8956,
      "loc": {
        "start": {
          "line": 287,
          "column": 4
        },
        "end": {
          "line": 287,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8956,
      "end": 8957,
      "loc": {
        "start": {
          "line": 287,
          "column": 5
        },
        "end": {
          "line": 287,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 8965,
      "end": 8971,
      "loc": {
        "start": {
          "line": 288,
          "column": 6
        },
        "end": {
          "line": 288,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 8972,
      "end": 8977,
      "loc": {
        "start": {
          "line": 288,
          "column": 13
        },
        "end": {
          "line": 288,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8977,
      "end": 8978,
      "loc": {
        "start": {
          "line": 288,
          "column": 18
        },
        "end": {
          "line": 288,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8984,
      "end": 8985,
      "loc": {
        "start": {
          "line": 289,
          "column": 4
        },
        "end": {
          "line": 289,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 8993,
      "end": 8995,
      "loc": {
        "start": {
          "line": 291,
          "column": 4
        },
        "end": {
          "line": 291,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8995,
      "end": 8996,
      "loc": {
        "start": {
          "line": 291,
          "column": 6
        },
        "end": {
          "line": 291,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Number",
      "start": 8996,
      "end": 9002,
      "loc": {
        "start": {
          "line": 291,
          "column": 7
        },
        "end": {
          "line": 291,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9002,
      "end": 9003,
      "loc": {
        "start": {
          "line": 291,
          "column": 13
        },
        "end": {
          "line": 291,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isInteger",
      "start": 9003,
      "end": 9012,
      "loc": {
        "start": {
          "line": 291,
          "column": 14
        },
        "end": {
          "line": 291,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9012,
      "end": 9013,
      "loc": {
        "start": {
          "line": 291,
          "column": 23
        },
        "end": {
          "line": 291,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLength",
      "start": 9013,
      "end": 9022,
      "loc": {
        "start": {
          "line": 291,
          "column": 24
        },
        "end": {
          "line": 291,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9022,
      "end": 9023,
      "loc": {
        "start": {
          "line": 291,
          "column": 33
        },
        "end": {
          "line": 291,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9023,
      "end": 9024,
      "loc": {
        "start": {
          "line": 291,
          "column": 34
        },
        "end": {
          "line": 291,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9024,
      "end": 9025,
      "loc": {
        "start": {
          "line": 291,
          "column": 35
        },
        "end": {
          "line": 291,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9033,
      "end": 9035,
      "loc": {
        "start": {
          "line": 292,
          "column": 6
        },
        "end": {
          "line": 292,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9035,
      "end": 9036,
      "loc": {
        "start": {
          "line": 292,
          "column": 8
        },
        "end": {
          "line": 292,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 9036,
      "end": 9043,
      "loc": {
        "start": {
          "line": 292,
          "column": 9
        },
        "end": {
          "line": 292,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9043,
      "end": 9044,
      "loc": {
        "start": {
          "line": 292,
          "column": 16
        },
        "end": {
          "line": 292,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 9044,
      "end": 9049,
      "loc": {
        "start": {
          "line": 292,
          "column": 17
        },
        "end": {
          "line": 292,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9049,
      "end": 9050,
      "loc": {
        "start": {
          "line": 292,
          "column": 22
        },
        "end": {
          "line": 292,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9050,
      "end": 9051,
      "loc": {
        "start": {
          "line": 292,
          "column": 23
        },
        "end": {
          "line": 292,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 9061,
      "end": 9068,
      "loc": {
        "start": {
          "line": 293,
          "column": 8
        },
        "end": {
          "line": 293,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9068,
      "end": 9069,
      "loc": {
        "start": {
          "line": 293,
          "column": 15
        },
        "end": {
          "line": 293,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "log",
      "start": 9069,
      "end": 9072,
      "loc": {
        "start": {
          "line": 293,
          "column": 16
        },
        "end": {
          "line": 293,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9072,
      "end": 9073,
      "loc": {
        "start": {
          "line": 293,
          "column": 19
        },
        "end": {
          "line": 293,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "maxLength (num) reached:",
      "start": 9073,
      "end": 9099,
      "loc": {
        "start": {
          "line": 293,
          "column": 20
        },
        "end": {
          "line": 293,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9099,
      "end": 9100,
      "loc": {
        "start": {
          "line": 293,
          "column": 46
        },
        "end": {
          "line": 293,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "condition",
      "start": 9101,
      "end": 9110,
      "loc": {
        "start": {
          "line": 293,
          "column": 48
        },
        "end": {
          "line": 293,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9110,
      "end": 9111,
      "loc": {
        "start": {
          "line": 293,
          "column": 57
        },
        "end": {
          "line": 293,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9111,
      "end": 9112,
      "loc": {
        "start": {
          "line": 293,
          "column": 58
        },
        "end": {
          "line": 293,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9120,
      "end": 9121,
      "loc": {
        "start": {
          "line": 294,
          "column": 6
        },
        "end": {
          "line": 294,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9131,
      "end": 9133,
      "loc": {
        "start": {
          "line": 296,
          "column": 6
        },
        "end": {
          "line": 296,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9133,
      "end": 9134,
      "loc": {
        "start": {
          "line": 296,
          "column": 8
        },
        "end": {
          "line": 296,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "condition",
      "start": 9134,
      "end": 9143,
      "loc": {
        "start": {
          "line": 296,
          "column": 9
        },
        "end": {
          "line": 296,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9143,
      "end": 9144,
      "loc": {
        "start": {
          "line": 296,
          "column": 18
        },
        "end": {
          "line": 296,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9144,
      "end": 9145,
      "loc": {
        "start": {
          "line": 296,
          "column": 19
        },
        "end": {
          "line": 296,
          "column": 20
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n         * @type {boolean} Boolean value that shows whether maxLength has been reached\r\n         ",
      "start": 9155,
      "end": 9259,
      "loc": {
        "start": {
          "line": 297,
          "column": 8
        },
        "end": {
          "line": 299,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9269,
      "end": 9273,
      "loc": {
        "start": {
          "line": 300,
          "column": 8
        },
        "end": {
          "line": 300,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9273,
      "end": 9274,
      "loc": {
        "start": {
          "line": 300,
          "column": 12
        },
        "end": {
          "line": 300,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLengthReached",
      "start": 9274,
      "end": 9290,
      "loc": {
        "start": {
          "line": 300,
          "column": 13
        },
        "end": {
          "line": 300,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9291,
      "end": 9292,
      "loc": {
        "start": {
          "line": 300,
          "column": 30
        },
        "end": {
          "line": 300,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 9293,
      "end": 9297,
      "loc": {
        "start": {
          "line": 300,
          "column": 32
        },
        "end": {
          "line": 300,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9297,
      "end": 9298,
      "loc": {
        "start": {
          "line": 300,
          "column": 36
        },
        "end": {
          "line": 300,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9308,
      "end": 9314,
      "loc": {
        "start": {
          "line": 301,
          "column": 8
        },
        "end": {
          "line": 301,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 9315,
      "end": 9319,
      "loc": {
        "start": {
          "line": 301,
          "column": 15
        },
        "end": {
          "line": 301,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9319,
      "end": 9320,
      "loc": {
        "start": {
          "line": 301,
          "column": 19
        },
        "end": {
          "line": 301,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9328,
      "end": 9329,
      "loc": {
        "start": {
          "line": 302,
          "column": 6
        },
        "end": {
          "line": 302,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 9330,
      "end": 9334,
      "loc": {
        "start": {
          "line": 302,
          "column": 8
        },
        "end": {
          "line": 302,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9335,
      "end": 9336,
      "loc": {
        "start": {
          "line": 302,
          "column": 13
        },
        "end": {
          "line": 302,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9346,
      "end": 9350,
      "loc": {
        "start": {
          "line": 303,
          "column": 8
        },
        "end": {
          "line": 303,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9350,
      "end": 9351,
      "loc": {
        "start": {
          "line": 303,
          "column": 12
        },
        "end": {
          "line": 303,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLengthReached",
      "start": 9351,
      "end": 9367,
      "loc": {
        "start": {
          "line": 303,
          "column": 13
        },
        "end": {
          "line": 303,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9368,
      "end": 9369,
      "loc": {
        "start": {
          "line": 303,
          "column": 30
        },
        "end": {
          "line": 303,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 9370,
      "end": 9375,
      "loc": {
        "start": {
          "line": 303,
          "column": 32
        },
        "end": {
          "line": 303,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9375,
      "end": 9376,
      "loc": {
        "start": {
          "line": 303,
          "column": 37
        },
        "end": {
          "line": 303,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9386,
      "end": 9392,
      "loc": {
        "start": {
          "line": 304,
          "column": 8
        },
        "end": {
          "line": 304,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 9393,
      "end": 9398,
      "loc": {
        "start": {
          "line": 304,
          "column": 15
        },
        "end": {
          "line": 304,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9398,
      "end": 9399,
      "loc": {
        "start": {
          "line": 304,
          "column": 20
        },
        "end": {
          "line": 304,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9407,
      "end": 9408,
      "loc": {
        "start": {
          "line": 305,
          "column": 6
        },
        "end": {
          "line": 305,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9414,
      "end": 9415,
      "loc": {
        "start": {
          "line": 306,
          "column": 4
        },
        "end": {
          "line": 306,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9423,
      "end": 9425,
      "loc": {
        "start": {
          "line": 308,
          "column": 4
        },
        "end": {
          "line": 308,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9425,
      "end": 9426,
      "loc": {
        "start": {
          "line": 308,
          "column": 6
        },
        "end": {
          "line": 308,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 9426,
      "end": 9432,
      "loc": {
        "start": {
          "line": 308,
          "column": 7
        },
        "end": {
          "line": 308,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLength",
      "start": 9433,
      "end": 9442,
      "loc": {
        "start": {
          "line": 308,
          "column": 14
        },
        "end": {
          "line": 308,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 9443,
      "end": 9446,
      "loc": {
        "start": {
          "line": 308,
          "column": 24
        },
        "end": {
          "line": 308,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "object",
      "start": 9447,
      "end": 9455,
      "loc": {
        "start": {
          "line": 308,
          "column": 28
        },
        "end": {
          "line": 308,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9455,
      "end": 9456,
      "loc": {
        "start": {
          "line": 308,
          "column": 36
        },
        "end": {
          "line": 308,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9456,
      "end": 9457,
      "loc": {
        "start": {
          "line": 308,
          "column": 37
        },
        "end": {
          "line": 308,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 9465,
      "end": 9468,
      "loc": {
        "start": {
          "line": 309,
          "column": 6
        },
        "end": {
          "line": 309,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "condition",
      "start": 9469,
      "end": 9478,
      "loc": {
        "start": {
          "line": 309,
          "column": 10
        },
        "end": {
          "line": 309,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9479,
      "end": 9480,
      "loc": {
        "start": {
          "line": 309,
          "column": 20
        },
        "end": {
          "line": 309,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentInput",
      "start": 9481,
      "end": 9493,
      "loc": {
        "start": {
          "line": 309,
          "column": 22
        },
        "end": {
          "line": 309,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9493,
      "end": 9494,
      "loc": {
        "start": {
          "line": 309,
          "column": 34
        },
        "end": {
          "line": 309,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 9494,
      "end": 9500,
      "loc": {
        "start": {
          "line": 309,
          "column": 35
        },
        "end": {
          "line": 309,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 9501,
      "end": 9504,
      "loc": {
        "start": {
          "line": 309,
          "column": 42
        },
        "end": {
          "line": 309,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLength",
      "start": 9505,
      "end": 9514,
      "loc": {
        "start": {
          "line": 309,
          "column": 46
        },
        "end": {
          "line": 309,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9514,
      "end": 9515,
      "loc": {
        "start": {
          "line": 309,
          "column": 55
        },
        "end": {
          "line": 309,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 9515,
      "end": 9522,
      "loc": {
        "start": {
          "line": 309,
          "column": 56
        },
        "end": {
          "line": 309,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9522,
      "end": 9523,
      "loc": {
        "start": {
          "line": 309,
          "column": 63
        },
        "end": {
          "line": 309,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inputName",
      "start": 9523,
      "end": 9532,
      "loc": {
        "start": {
          "line": 309,
          "column": 64
        },
        "end": {
          "line": 309,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9532,
      "end": 9533,
      "loc": {
        "start": {
          "line": 309,
          "column": 73
        },
        "end": {
          "line": 309,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9533,
      "end": 9534,
      "loc": {
        "start": {
          "line": 309,
          "column": 74
        },
        "end": {
          "line": 309,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9544,
      "end": 9546,
      "loc": {
        "start": {
          "line": 311,
          "column": 6
        },
        "end": {
          "line": 311,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9546,
      "end": 9547,
      "loc": {
        "start": {
          "line": 311,
          "column": 8
        },
        "end": {
          "line": 311,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 9547,
      "end": 9554,
      "loc": {
        "start": {
          "line": 311,
          "column": 9
        },
        "end": {
          "line": 311,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9554,
      "end": 9555,
      "loc": {
        "start": {
          "line": 311,
          "column": 16
        },
        "end": {
          "line": 311,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 9555,
      "end": 9560,
      "loc": {
        "start": {
          "line": 311,
          "column": 17
        },
        "end": {
          "line": 311,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9560,
      "end": 9561,
      "loc": {
        "start": {
          "line": 311,
          "column": 22
        },
        "end": {
          "line": 311,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9561,
      "end": 9562,
      "loc": {
        "start": {
          "line": 311,
          "column": 23
        },
        "end": {
          "line": 311,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 9572,
      "end": 9579,
      "loc": {
        "start": {
          "line": 312,
          "column": 8
        },
        "end": {
          "line": 312,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9579,
      "end": 9580,
      "loc": {
        "start": {
          "line": 312,
          "column": 15
        },
        "end": {
          "line": 312,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "log",
      "start": 9580,
      "end": 9583,
      "loc": {
        "start": {
          "line": 312,
          "column": 16
        },
        "end": {
          "line": 312,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9583,
      "end": 9584,
      "loc": {
        "start": {
          "line": 312,
          "column": 19
        },
        "end": {
          "line": 312,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "maxLength (obj) reached:",
      "start": 9584,
      "end": 9610,
      "loc": {
        "start": {
          "line": 312,
          "column": 20
        },
        "end": {
          "line": 312,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9610,
      "end": 9611,
      "loc": {
        "start": {
          "line": 312,
          "column": 46
        },
        "end": {
          "line": 312,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "condition",
      "start": 9612,
      "end": 9621,
      "loc": {
        "start": {
          "line": 312,
          "column": 48
        },
        "end": {
          "line": 312,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9621,
      "end": 9622,
      "loc": {
        "start": {
          "line": 312,
          "column": 57
        },
        "end": {
          "line": 312,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9622,
      "end": 9623,
      "loc": {
        "start": {
          "line": 312,
          "column": 58
        },
        "end": {
          "line": 312,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9631,
      "end": 9632,
      "loc": {
        "start": {
          "line": 313,
          "column": 6
        },
        "end": {
          "line": 313,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 9642,
      "end": 9644,
      "loc": {
        "start": {
          "line": 315,
          "column": 6
        },
        "end": {
          "line": 315,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9644,
      "end": 9645,
      "loc": {
        "start": {
          "line": 315,
          "column": 8
        },
        "end": {
          "line": 315,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "condition",
      "start": 9645,
      "end": 9654,
      "loc": {
        "start": {
          "line": 315,
          "column": 9
        },
        "end": {
          "line": 315,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9654,
      "end": 9655,
      "loc": {
        "start": {
          "line": 315,
          "column": 18
        },
        "end": {
          "line": 315,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9655,
      "end": 9656,
      "loc": {
        "start": {
          "line": 315,
          "column": 19
        },
        "end": {
          "line": 315,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9666,
      "end": 9670,
      "loc": {
        "start": {
          "line": 316,
          "column": 8
        },
        "end": {
          "line": 316,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9670,
      "end": 9671,
      "loc": {
        "start": {
          "line": 316,
          "column": 12
        },
        "end": {
          "line": 316,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLengthReached",
      "start": 9671,
      "end": 9687,
      "loc": {
        "start": {
          "line": 316,
          "column": 13
        },
        "end": {
          "line": 316,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9688,
      "end": 9689,
      "loc": {
        "start": {
          "line": 316,
          "column": 30
        },
        "end": {
          "line": 316,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 9690,
      "end": 9694,
      "loc": {
        "start": {
          "line": 316,
          "column": 32
        },
        "end": {
          "line": 316,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9694,
      "end": 9695,
      "loc": {
        "start": {
          "line": 316,
          "column": 36
        },
        "end": {
          "line": 316,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9705,
      "end": 9711,
      "loc": {
        "start": {
          "line": 317,
          "column": 8
        },
        "end": {
          "line": 317,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 9712,
      "end": 9716,
      "loc": {
        "start": {
          "line": 317,
          "column": 15
        },
        "end": {
          "line": 317,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9716,
      "end": 9717,
      "loc": {
        "start": {
          "line": 317,
          "column": 19
        },
        "end": {
          "line": 317,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9725,
      "end": 9726,
      "loc": {
        "start": {
          "line": 318,
          "column": 6
        },
        "end": {
          "line": 318,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 9727,
      "end": 9731,
      "loc": {
        "start": {
          "line": 318,
          "column": 8
        },
        "end": {
          "line": 318,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9732,
      "end": 9733,
      "loc": {
        "start": {
          "line": 318,
          "column": 13
        },
        "end": {
          "line": 318,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9743,
      "end": 9747,
      "loc": {
        "start": {
          "line": 319,
          "column": 8
        },
        "end": {
          "line": 319,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9747,
      "end": 9748,
      "loc": {
        "start": {
          "line": 319,
          "column": 12
        },
        "end": {
          "line": 319,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLengthReached",
      "start": 9748,
      "end": 9764,
      "loc": {
        "start": {
          "line": 319,
          "column": 13
        },
        "end": {
          "line": 319,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9765,
      "end": 9766,
      "loc": {
        "start": {
          "line": 319,
          "column": 30
        },
        "end": {
          "line": 319,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 9767,
      "end": 9772,
      "loc": {
        "start": {
          "line": 319,
          "column": 32
        },
        "end": {
          "line": 319,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9772,
      "end": 9773,
      "loc": {
        "start": {
          "line": 319,
          "column": 37
        },
        "end": {
          "line": 319,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9783,
      "end": 9789,
      "loc": {
        "start": {
          "line": 320,
          "column": 8
        },
        "end": {
          "line": 320,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 9790,
      "end": 9795,
      "loc": {
        "start": {
          "line": 320,
          "column": 15
        },
        "end": {
          "line": 320,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9795,
      "end": 9796,
      "loc": {
        "start": {
          "line": 320,
          "column": 20
        },
        "end": {
          "line": 320,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9804,
      "end": 9805,
      "loc": {
        "start": {
          "line": 321,
          "column": 6
        },
        "end": {
          "line": 321,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9811,
      "end": 9812,
      "loc": {
        "start": {
          "line": 322,
          "column": 4
        },
        "end": {
          "line": 322,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9816,
      "end": 9817,
      "loc": {
        "start": {
          "line": 323,
          "column": 2
        },
        "end": {
          "line": 323,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Gets the current value of maxLengthReached\r\n   ",
      "start": 9823,
      "end": 9882,
      "loc": {
        "start": {
          "line": 325,
          "column": 2
        },
        "end": {
          "line": 327,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isMaxLengthReached",
      "start": 9886,
      "end": 9904,
      "loc": {
        "start": {
          "line": 328,
          "column": 2
        },
        "end": {
          "line": 328,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9904,
      "end": 9905,
      "loc": {
        "start": {
          "line": 328,
          "column": 20
        },
        "end": {
          "line": 328,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9905,
      "end": 9906,
      "loc": {
        "start": {
          "line": 328,
          "column": 21
        },
        "end": {
          "line": 328,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9906,
      "end": 9907,
      "loc": {
        "start": {
          "line": 328,
          "column": 22
        },
        "end": {
          "line": 328,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 9913,
      "end": 9919,
      "loc": {
        "start": {
          "line": 329,
          "column": 4
        },
        "end": {
          "line": 329,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Boolean",
      "start": 9920,
      "end": 9927,
      "loc": {
        "start": {
          "line": 329,
          "column": 11
        },
        "end": {
          "line": 329,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9927,
      "end": 9928,
      "loc": {
        "start": {
          "line": 329,
          "column": 18
        },
        "end": {
          "line": 329,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9928,
      "end": 9932,
      "loc": {
        "start": {
          "line": 329,
          "column": 19
        },
        "end": {
          "line": 329,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9932,
      "end": 9933,
      "loc": {
        "start": {
          "line": 329,
          "column": 23
        },
        "end": {
          "line": 329,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLengthReached",
      "start": 9933,
      "end": 9949,
      "loc": {
        "start": {
          "line": 329,
          "column": 24
        },
        "end": {
          "line": 329,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9949,
      "end": 9950,
      "loc": {
        "start": {
          "line": 329,
          "column": 40
        },
        "end": {
          "line": 329,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9950,
      "end": 9951,
      "loc": {
        "start": {
          "line": 329,
          "column": 41
        },
        "end": {
          "line": 329,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9955,
      "end": 9956,
      "loc": {
        "start": {
          "line": 330,
          "column": 2
        },
        "end": {
          "line": 330,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Transforms an arbitrary string to camelCase\r\n   * \r\n   * @param  {string} string The string to transform.\r\n   ",
      "start": 9962,
      "end": 10084,
      "loc": {
        "start": {
          "line": 332,
          "column": 2
        },
        "end": {
          "line": 336,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "camelCase",
      "start": 10088,
      "end": 10097,
      "loc": {
        "start": {
          "line": 337,
          "column": 2
        },
        "end": {
          "line": 337,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10097,
      "end": 10098,
      "loc": {
        "start": {
          "line": 337,
          "column": 11
        },
        "end": {
          "line": 337,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 10098,
      "end": 10104,
      "loc": {
        "start": {
          "line": 337,
          "column": 12
        },
        "end": {
          "line": 337,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10104,
      "end": 10105,
      "loc": {
        "start": {
          "line": 337,
          "column": 18
        },
        "end": {
          "line": 337,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10105,
      "end": 10106,
      "loc": {
        "start": {
          "line": 337,
          "column": 19
        },
        "end": {
          "line": 337,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 10112,
      "end": 10118,
      "loc": {
        "start": {
          "line": 338,
          "column": 4
        },
        "end": {
          "line": 338,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 10119,
      "end": 10125,
      "loc": {
        "start": {
          "line": 338,
          "column": 11
        },
        "end": {
          "line": 338,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10125,
      "end": 10126,
      "loc": {
        "start": {
          "line": 338,
          "column": 17
        },
        "end": {
          "line": 338,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toLowerCase",
      "start": 10126,
      "end": 10137,
      "loc": {
        "start": {
          "line": 338,
          "column": 18
        },
        "end": {
          "line": 338,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10137,
      "end": 10138,
      "loc": {
        "start": {
          "line": 338,
          "column": 29
        },
        "end": {
          "line": 338,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10138,
      "end": 10139,
      "loc": {
        "start": {
          "line": 338,
          "column": 30
        },
        "end": {
          "line": 338,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10139,
      "end": 10140,
      "loc": {
        "start": {
          "line": 338,
          "column": 31
        },
        "end": {
          "line": 338,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "trim",
      "start": 10140,
      "end": 10144,
      "loc": {
        "start": {
          "line": 338,
          "column": 32
        },
        "end": {
          "line": 338,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10144,
      "end": 10145,
      "loc": {
        "start": {
          "line": 338,
          "column": 36
        },
        "end": {
          "line": 338,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10145,
      "end": 10146,
      "loc": {
        "start": {
          "line": 338,
          "column": 37
        },
        "end": {
          "line": 338,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10146,
      "end": 10147,
      "loc": {
        "start": {
          "line": 338,
          "column": 38
        },
        "end": {
          "line": 338,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "split",
      "start": 10147,
      "end": 10152,
      "loc": {
        "start": {
          "line": 338,
          "column": 39
        },
        "end": {
          "line": 338,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10152,
      "end": 10153,
      "loc": {
        "start": {
          "line": 338,
          "column": 44
        },
        "end": {
          "line": 338,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "regexp",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": {
        "pattern": "[.\\-_\\s]",
        "flags": "g"
      },
      "start": 10153,
      "end": 10164,
      "loc": {
        "start": {
          "line": 338,
          "column": 45
        },
        "end": {
          "line": 338,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10164,
      "end": 10165,
      "loc": {
        "start": {
          "line": 338,
          "column": 56
        },
        "end": {
          "line": 338,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10165,
      "end": 10166,
      "loc": {
        "start": {
          "line": 338,
          "column": 57
        },
        "end": {
          "line": 338,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reduce",
      "start": 10166,
      "end": 10172,
      "loc": {
        "start": {
          "line": 338,
          "column": 58
        },
        "end": {
          "line": 338,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10172,
      "end": 10173,
      "loc": {
        "start": {
          "line": 338,
          "column": 64
        },
        "end": {
          "line": 338,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10173,
      "end": 10174,
      "loc": {
        "start": {
          "line": 338,
          "column": 65
        },
        "end": {
          "line": 338,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 10174,
      "end": 10180,
      "loc": {
        "start": {
          "line": 338,
          "column": 66
        },
        "end": {
          "line": 338,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10180,
      "end": 10181,
      "loc": {
        "start": {
          "line": 338,
          "column": 72
        },
        "end": {
          "line": 338,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "word",
      "start": 10182,
      "end": 10186,
      "loc": {
        "start": {
          "line": 338,
          "column": 74
        },
        "end": {
          "line": 338,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10186,
      "end": 10187,
      "loc": {
        "start": {
          "line": 338,
          "column": 78
        },
        "end": {
          "line": 338,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10188,
      "end": 10190,
      "loc": {
        "start": {
          "line": 338,
          "column": 80
        },
        "end": {
          "line": 338,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 10191,
      "end": 10197,
      "loc": {
        "start": {
          "line": 338,
          "column": 83
        },
        "end": {
          "line": 338,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 10198,
      "end": 10199,
      "loc": {
        "start": {
          "line": 338,
          "column": 90
        },
        "end": {
          "line": 338,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "word",
      "start": 10200,
      "end": 10204,
      "loc": {
        "start": {
          "line": 338,
          "column": 92
        },
        "end": {
          "line": 338,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10204,
      "end": 10205,
      "loc": {
        "start": {
          "line": 338,
          "column": 96
        },
        "end": {
          "line": 338,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 10205,
      "end": 10206,
      "loc": {
        "start": {
          "line": 338,
          "column": 97
        },
        "end": {
          "line": 338,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10206,
      "end": 10207,
      "loc": {
        "start": {
          "line": 338,
          "column": 98
        },
        "end": {
          "line": 338,
          "column": 99
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10207,
      "end": 10208,
      "loc": {
        "start": {
          "line": 338,
          "column": 99
        },
        "end": {
          "line": 338,
          "column": 100
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toUpperCase",
      "start": 10208,
      "end": 10219,
      "loc": {
        "start": {
          "line": 338,
          "column": 100
        },
        "end": {
          "line": 338,
          "column": 111
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10219,
      "end": 10220,
      "loc": {
        "start": {
          "line": 338,
          "column": 111
        },
        "end": {
          "line": 338,
          "column": 112
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10220,
      "end": 10221,
      "loc": {
        "start": {
          "line": 338,
          "column": 112
        },
        "end": {
          "line": 338,
          "column": 113
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 10222,
      "end": 10223,
      "loc": {
        "start": {
          "line": 338,
          "column": 114
        },
        "end": {
          "line": 338,
          "column": 115
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "word",
      "start": 10224,
      "end": 10228,
      "loc": {
        "start": {
          "line": 338,
          "column": 116
        },
        "end": {
          "line": 338,
          "column": 120
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10228,
      "end": 10229,
      "loc": {
        "start": {
          "line": 338,
          "column": 120
        },
        "end": {
          "line": 338,
          "column": 121
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 10229,
      "end": 10234,
      "loc": {
        "start": {
          "line": 338,
          "column": 121
        },
        "end": {
          "line": 338,
          "column": 126
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10234,
      "end": 10235,
      "loc": {
        "start": {
          "line": 338,
          "column": 126
        },
        "end": {
          "line": 338,
          "column": 127
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 10235,
      "end": 10236,
      "loc": {
        "start": {
          "line": 338,
          "column": 127
        },
        "end": {
          "line": 338,
          "column": 128
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10236,
      "end": 10237,
      "loc": {
        "start": {
          "line": 338,
          "column": 128
        },
        "end": {
          "line": 338,
          "column": 129
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10237,
      "end": 10238,
      "loc": {
        "start": {
          "line": 338,
          "column": 129
        },
        "end": {
          "line": 338,
          "column": 130
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10238,
      "end": 10239,
      "loc": {
        "start": {
          "line": 338,
          "column": 130
        },
        "end": {
          "line": 338,
          "column": 131
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10243,
      "end": 10244,
      "loc": {
        "start": {
          "line": 339,
          "column": 2
        },
        "end": {
          "line": 339,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10244,
      "end": 10245,
      "loc": {
        "start": {
          "line": 339,
          "column": 3
        },
        "end": {
          "line": 339,
          "column": 4
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Counts the number of duplicates in a given array\r\n   * \r\n   * @param  {Array} array The haystack to search in\r\n   * @param  {string} value The needle to search for\r\n   ",
      "start": 10251,
      "end": 10431,
      "loc": {
        "start": {
          "line": 341,
          "column": 2
        },
        "end": {
          "line": 346,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "countInArray",
      "start": 10435,
      "end": 10447,
      "loc": {
        "start": {
          "line": 347,
          "column": 2
        },
        "end": {
          "line": 347,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10447,
      "end": 10448,
      "loc": {
        "start": {
          "line": 347,
          "column": 14
        },
        "end": {
          "line": 347,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "array",
      "start": 10448,
      "end": 10453,
      "loc": {
        "start": {
          "line": 347,
          "column": 15
        },
        "end": {
          "line": 347,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10453,
      "end": 10454,
      "loc": {
        "start": {
          "line": 347,
          "column": 20
        },
        "end": {
          "line": 347,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 10455,
      "end": 10460,
      "loc": {
        "start": {
          "line": 347,
          "column": 22
        },
        "end": {
          "line": 347,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10460,
      "end": 10461,
      "loc": {
        "start": {
          "line": 347,
          "column": 27
        },
        "end": {
          "line": 347,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10461,
      "end": 10462,
      "loc": {
        "start": {
          "line": 347,
          "column": 28
        },
        "end": {
          "line": 347,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 10468,
      "end": 10474,
      "loc": {
        "start": {
          "line": 348,
          "column": 4
        },
        "end": {
          "line": 348,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "array",
      "start": 10475,
      "end": 10480,
      "loc": {
        "start": {
          "line": 348,
          "column": 11
        },
        "end": {
          "line": 348,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10480,
      "end": 10481,
      "loc": {
        "start": {
          "line": 348,
          "column": 16
        },
        "end": {
          "line": 348,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reduce",
      "start": 10481,
      "end": 10487,
      "loc": {
        "start": {
          "line": 348,
          "column": 17
        },
        "end": {
          "line": 348,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10487,
      "end": 10488,
      "loc": {
        "start": {
          "line": 348,
          "column": 23
        },
        "end": {
          "line": 348,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10488,
      "end": 10489,
      "loc": {
        "start": {
          "line": 348,
          "column": 24
        },
        "end": {
          "line": 348,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "n",
      "start": 10489,
      "end": 10490,
      "loc": {
        "start": {
          "line": 348,
          "column": 25
        },
        "end": {
          "line": 348,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10490,
      "end": 10491,
      "loc": {
        "start": {
          "line": 348,
          "column": 26
        },
        "end": {
          "line": 348,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 10492,
      "end": 10493,
      "loc": {
        "start": {
          "line": 348,
          "column": 28
        },
        "end": {
          "line": 348,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10493,
      "end": 10494,
      "loc": {
        "start": {
          "line": 348,
          "column": 29
        },
        "end": {
          "line": 348,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10495,
      "end": 10497,
      "loc": {
        "start": {
          "line": 348,
          "column": 31
        },
        "end": {
          "line": 348,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "n",
      "start": 10498,
      "end": 10499,
      "loc": {
        "start": {
          "line": 348,
          "column": 34
        },
        "end": {
          "line": 348,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 10500,
      "end": 10501,
      "loc": {
        "start": {
          "line": 348,
          "column": 36
        },
        "end": {
          "line": 348,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10502,
      "end": 10503,
      "loc": {
        "start": {
          "line": 348,
          "column": 38
        },
        "end": {
          "line": 348,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 10503,
      "end": 10504,
      "loc": {
        "start": {
          "line": 348,
          "column": 39
        },
        "end": {
          "line": 348,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 10505,
      "end": 10508,
      "loc": {
        "start": {
          "line": 348,
          "column": 41
        },
        "end": {
          "line": 348,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 10509,
      "end": 10514,
      "loc": {
        "start": {
          "line": 348,
          "column": 45
        },
        "end": {
          "line": 348,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10514,
      "end": 10515,
      "loc": {
        "start": {
          "line": 348,
          "column": 50
        },
        "end": {
          "line": 348,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10515,
      "end": 10516,
      "loc": {
        "start": {
          "line": 348,
          "column": 51
        },
        "end": {
          "line": 348,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 10517,
      "end": 10518,
      "loc": {
        "start": {
          "line": 348,
          "column": 53
        },
        "end": {
          "line": 348,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10518,
      "end": 10519,
      "loc": {
        "start": {
          "line": 348,
          "column": 54
        },
        "end": {
          "line": 348,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10519,
      "end": 10520,
      "loc": {
        "start": {
          "line": 348,
          "column": 55
        },
        "end": {
          "line": 348,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10524,
      "end": 10525,
      "loc": {
        "start": {
          "line": 349,
          "column": 2
        },
        "end": {
          "line": 349,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10529,
      "end": 10530,
      "loc": {
        "start": {
          "line": 351,
          "column": 0
        },
        "end": {
          "line": 351,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 10534,
      "end": 10540,
      "loc": {
        "start": {
          "line": 353,
          "column": 0
        },
        "end": {
          "line": 353,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 10541,
      "end": 10548,
      "loc": {
        "start": {
          "line": 353,
          "column": 7
        },
        "end": {
          "line": 353,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Utilities",
      "start": 10549,
      "end": 10558,
      "loc": {
        "start": {
          "line": 353,
          "column": 15
        },
        "end": {
          "line": 353,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10558,
      "end": 10559,
      "loc": {
        "start": {
          "line": 353,
          "column": 24
        },
        "end": {
          "line": 353,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10559,
      "end": 10559,
      "loc": {
        "start": {
          "line": 353,
          "column": 25
        },
        "end": {
          "line": 353,
          "column": 25
        }
      }
    }
  ]
}