{
  "type": "Program",
  "body": [
    {
      "type": "ExportDefaultDeclaration",
      "declaration": {
        "type": "ClassDeclaration",
        "id": {
          "type": "Identifier",
          "name": "ElementCreator",
          "range": [
            21,
            35
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 21
            },
            "end": {
              "line": 1,
              "column": 35
            }
          }
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "body": [
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "constructor",
                "range": [
                  40,
                  51
                ],
                "loc": {
                  "start": {
                    "line": 2,
                    "column": 2
                  },
                  "end": {
                    "line": 2,
                    "column": 13
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "left": {
                      "type": "Identifier",
                      "name": "tagName",
                      "range": [
                        52,
                        59
                      ],
                      "loc": {
                        "start": {
                          "line": 2,
                          "column": 14
                        },
                        "end": {
                          "line": 2,
                          "column": 21
                        }
                      }
                    },
                    "right": {
                      "type": "Literal",
                      "value": null,
                      "raw": "null",
                      "range": [
                        60,
                        64
                      ],
                      "loc": {
                        "start": {
                          "line": 2,
                          "column": 22
                        },
                        "end": {
                          "line": 2,
                          "column": 26
                        }
                      }
                    },
                    "range": [
                      52,
                      64
                    ],
                    "loc": {
                      "start": {
                        "line": 2,
                        "column": 14
                      },
                      "end": {
                        "line": 2,
                        "column": 26
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              72,
                              76
                            ],
                            "loc": {
                              "start": {
                                "line": 3,
                                "column": 4
                              },
                              "end": {
                                "line": 3,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "reset",
                            "range": [
                              77,
                              82
                            ],
                            "loc": {
                              "start": {
                                "line": 3,
                                "column": 9
                              },
                              "end": {
                                "line": 3,
                                "column": 14
                              }
                            }
                          },
                          "range": [
                            72,
                            82
                          ],
                          "loc": {
                            "start": {
                              "line": 3,
                              "column": 4
                            },
                            "end": {
                              "line": 3,
                              "column": 14
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "tagName",
                            "range": [
                              83,
                              90
                            ],
                            "loc": {
                              "start": {
                                "line": 3,
                                "column": 15
                              },
                              "end": {
                                "line": 3,
                                "column": 22
                              }
                            }
                          }
                        ],
                        "range": [
                          72,
                          91
                        ],
                        "loc": {
                          "start": {
                            "line": 3,
                            "column": 4
                          },
                          "end": {
                            "line": 3,
                            "column": 23
                          }
                        }
                      },
                      "range": [
                        72,
                        92
                      ],
                      "loc": {
                        "start": {
                          "line": 3,
                          "column": 4
                        },
                        "end": {
                          "line": 3,
                          "column": 24
                        }
                      }
                    }
                  ],
                  "range": [
                    66,
                    96
                  ],
                  "loc": {
                    "start": {
                      "line": 2,
                      "column": 28
                    },
                    "end": {
                      "line": 4,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  51,
                  96
                ],
                "loc": {
                  "start": {
                    "line": 2,
                    "column": 13
                  },
                  "end": {
                    "line": 4,
                    "column": 3
                  }
                }
              },
              "kind": "constructor",
              "computed": false,
              "range": [
                40,
                96
              ],
              "loc": {
                "start": {
                  "line": 2,
                  "column": 2
                },
                "end": {
                  "line": 4,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "reset",
                "range": [
                  100,
                  105
                ],
                "loc": {
                  "start": {
                    "line": 6,
                    "column": 2
                  },
                  "end": {
                    "line": 6,
                    "column": 7
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "left": {
                      "type": "Identifier",
                      "name": "newTagName",
                      "range": [
                        106,
                        116
                      ],
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 8
                        },
                        "end": {
                          "line": 6,
                          "column": 18
                        }
                      }
                    },
                    "right": {
                      "type": "MemberExpression",
                      "computed": false,
                      "object": {
                        "type": "ThisExpression",
                        "range": [
                          117,
                          121
                        ],
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 19
                          },
                          "end": {
                            "line": 6,
                            "column": 23
                          }
                        }
                      },
                      "property": {
                        "type": "Identifier",
                        "name": "_tagName",
                        "range": [
                          122,
                          130
                        ],
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 24
                          },
                          "end": {
                            "line": 6,
                            "column": 32
                          }
                        }
                      },
                      "range": [
                        117,
                        130
                      ],
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 19
                        },
                        "end": {
                          "line": 6,
                          "column": 32
                        }
                      }
                    },
                    "range": [
                      106,
                      130
                    ],
                    "loc": {
                      "start": {
                        "line": 6,
                        "column": 8
                      },
                      "end": {
                        "line": 6,
                        "column": 32
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              138,
                              142
                            ],
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 4
                              },
                              "end": {
                                "line": 7,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_destroy",
                            "range": [
                              143,
                              151
                            ],
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 9
                              },
                              "end": {
                                "line": 7,
                                "column": 17
                              }
                            }
                          },
                          "range": [
                            138,
                            151
                          ],
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 4
                            },
                            "end": {
                              "line": 7,
                              "column": 17
                            }
                          }
                        },
                        "arguments": [],
                        "range": [
                          138,
                          153
                        ],
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 4
                          },
                          "end": {
                            "line": 7,
                            "column": 19
                          }
                        }
                      },
                      "range": [
                        138,
                        154
                      ],
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 4
                        },
                        "end": {
                          "line": 7,
                          "column": 20
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              159,
                              163
                            ],
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 4
                              },
                              "end": {
                                "line": 8,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_tagName",
                            "range": [
                              164,
                              172
                            ],
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 9
                              },
                              "end": {
                                "line": 8,
                                "column": 17
                              }
                            }
                          },
                          "range": [
                            159,
                            172
                          ],
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 4
                            },
                            "end": {
                              "line": 8,
                              "column": 17
                            }
                          }
                        },
                        "right": {
                          "type": "Identifier",
                          "name": "newTagName",
                          "range": [
                            175,
                            185
                          ],
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 20
                            },
                            "end": {
                              "line": 8,
                              "column": 30
                            }
                          }
                        },
                        "range": [
                          159,
                          185
                        ],
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 4
                          },
                          "end": {
                            "line": 8,
                            "column": 30
                          }
                        }
                      },
                      "range": [
                        159,
                        186
                      ],
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 4
                        },
                        "end": {
                          "line": 8,
                          "column": 31
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              191,
                              195
                            ],
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 4
                              },
                              "end": {
                                "line": 9,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_cssClasses",
                            "range": [
                              196,
                              207
                            ],
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 9
                              },
                              "end": {
                                "line": 9,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            191,
                            207
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 4
                            },
                            "end": {
                              "line": 9,
                              "column": 20
                            }
                          }
                        },
                        "right": {
                          "type": "ArrayExpression",
                          "elements": [],
                          "range": [
                            210,
                            212
                          ],
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 23
                            },
                            "end": {
                              "line": 9,
                              "column": 25
                            }
                          }
                        },
                        "range": [
                          191,
                          212
                        ],
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 4
                          },
                          "end": {
                            "line": 9,
                            "column": 25
                          }
                        }
                      },
                      "range": [
                        191,
                        213
                      ],
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 4
                        },
                        "end": {
                          "line": 9,
                          "column": 26
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              218,
                              222
                            ],
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 4
                              },
                              "end": {
                                "line": 10,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_attributes",
                            "range": [
                              223,
                              234
                            ],
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 9
                              },
                              "end": {
                                "line": 10,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            218,
                            234
                          ],
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 4
                            },
                            "end": {
                              "line": 10,
                              "column": 20
                            }
                          }
                        },
                        "right": {
                          "type": "NewExpression",
                          "callee": {
                            "type": "Identifier",
                            "name": "Map",
                            "range": [
                              241,
                              244
                            ],
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 27
                              },
                              "end": {
                                "line": 10,
                                "column": 30
                              }
                            }
                          },
                          "arguments": [],
                          "range": [
                            237,
                            246
                          ],
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 23
                            },
                            "end": {
                              "line": 10,
                              "column": 32
                            }
                          }
                        },
                        "range": [
                          218,
                          246
                        ],
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 4
                          },
                          "end": {
                            "line": 10,
                            "column": 32
                          }
                        }
                      },
                      "range": [
                        218,
                        247
                      ],
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 4
                        },
                        "end": {
                          "line": 10,
                          "column": 33
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              252,
                              256
                            ],
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 4
                              },
                              "end": {
                                "line": 11,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_value",
                            "range": [
                              257,
                              263
                            ],
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 9
                              },
                              "end": {
                                "line": 11,
                                "column": 15
                              }
                            }
                          },
                          "range": [
                            252,
                            263
                          ],
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 4
                            },
                            "end": {
                              "line": 11,
                              "column": 15
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": null,
                          "raw": "null",
                          "range": [
                            266,
                            270
                          ],
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 18
                            },
                            "end": {
                              "line": 11,
                              "column": 22
                            }
                          }
                        },
                        "range": [
                          252,
                          270
                        ],
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 4
                          },
                          "end": {
                            "line": 11,
                            "column": 22
                          }
                        }
                      },
                      "range": [
                        252,
                        271
                      ],
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 4
                        },
                        "end": {
                          "line": 11,
                          "column": 23
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              276,
                              280
                            ],
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 4
                              },
                              "end": {
                                "line": 12,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_hasChanges",
                            "range": [
                              281,
                              292
                            ],
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 9
                              },
                              "end": {
                                "line": 12,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            276,
                            292
                          ],
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 4
                            },
                            "end": {
                              "line": 12,
                              "column": 20
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": false,
                          "raw": "false",
                          "range": [
                            295,
                            300
                          ],
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 23
                            },
                            "end": {
                              "line": 12,
                              "column": 28
                            }
                          }
                        },
                        "range": [
                          276,
                          300
                        ],
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 4
                          },
                          "end": {
                            "line": 12,
                            "column": 28
                          }
                        }
                      },
                      "range": [
                        276,
                        301
                      ],
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 4
                        },
                        "end": {
                          "line": 12,
                          "column": 29
                        }
                      }
                    }
                  ],
                  "range": [
                    132,
                    305
                  ],
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 34
                    },
                    "end": {
                      "line": 13,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  105,
                  305
                ],
                "loc": {
                  "start": {
                    "line": 6,
                    "column": 7
                  },
                  "end": {
                    "line": 13,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                100,
                305
              ],
              "loc": {
                "start": {
                  "line": 6,
                  "column": 2
                },
                "end": {
                  "line": 13,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "_hasValidElement",
                "range": [
                  309,
                  325
                ],
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 2
                  },
                  "end": {
                    "line": 15,
                    "column": 18
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "LogicalExpression",
                        "operator": "&&",
                        "left": {
                          "type": "BinaryExpression",
                          "operator": "!=",
                          "left": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                341,
                                345
                              ],
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 11
                                },
                                "end": {
                                  "line": 16,
                                  "column": 15
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_element",
                              "range": [
                                346,
                                354
                              ],
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 16
                                },
                                "end": {
                                  "line": 16,
                                  "column": 24
                                }
                              }
                            },
                            "range": [
                              341,
                              354
                            ],
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 11
                              },
                              "end": {
                                "line": 16,
                                "column": 24
                              }
                            }
                          },
                          "right": {
                            "type": "Literal",
                            "value": null,
                            "raw": "null",
                            "range": [
                              358,
                              362
                            ],
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 28
                              },
                              "end": {
                                "line": 16,
                                "column": 32
                              }
                            }
                          },
                          "range": [
                            341,
                            362
                          ],
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 11
                            },
                            "end": {
                              "line": 16,
                              "column": 32
                            }
                          }
                        },
                        "right": {
                          "type": "UnaryExpression",
                          "operator": "!",
                          "argument": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                367,
                                371
                              ],
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 37
                                },
                                "end": {
                                  "line": 16,
                                  "column": 41
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_hasChanges",
                              "range": [
                                372,
                                383
                              ],
                              "loc": {
                                "start": {
                                  "line": 16,
                                  "column": 42
                                },
                                "end": {
                                  "line": 16,
                                  "column": 53
                                }
                              }
                            },
                            "range": [
                              367,
                              383
                            ],
                            "loc": {
                              "start": {
                                "line": 16,
                                "column": 37
                              },
                              "end": {
                                "line": 16,
                                "column": 53
                              }
                            }
                          },
                          "prefix": true,
                          "range": [
                            366,
                            383
                          ],
                          "loc": {
                            "start": {
                              "line": 16,
                              "column": 36
                            },
                            "end": {
                              "line": 16,
                              "column": 53
                            }
                          }
                        },
                        "range": [
                          341,
                          383
                        ],
                        "loc": {
                          "start": {
                            "line": 16,
                            "column": 11
                          },
                          "end": {
                            "line": 16,
                            "column": 53
                          }
                        }
                      },
                      "range": [
                        334,
                        384
                      ],
                      "loc": {
                        "start": {
                          "line": 16,
                          "column": 4
                        },
                        "end": {
                          "line": 16,
                          "column": 54
                        }
                      }
                    }
                  ],
                  "range": [
                    328,
                    388
                  ],
                  "loc": {
                    "start": {
                      "line": 15,
                      "column": 21
                    },
                    "end": {
                      "line": 17,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  325,
                  388
                ],
                "loc": {
                  "start": {
                    "line": 15,
                    "column": 18
                  },
                  "end": {
                    "line": 17,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                309,
                388
              ],
              "loc": {
                "start": {
                  "line": 15,
                  "column": 2
                },
                "end": {
                  "line": 17,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "addCssClass",
                "range": [
                  392,
                  403
                ],
                "loc": {
                  "start": {
                    "line": 19,
                    "column": 2
                  },
                  "end": {
                    "line": 19,
                    "column": 13
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "className",
                    "range": [
                      404,
                      413
                    ],
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 14
                      },
                      "end": {
                        "line": 19,
                        "column": 23
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              421,
                              425
                            ],
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 4
                              },
                              "end": {
                                "line": 20,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_hasChanges",
                            "range": [
                              426,
                              437
                            ],
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 9
                              },
                              "end": {
                                "line": 20,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            421,
                            437
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 4
                            },
                            "end": {
                              "line": 20,
                              "column": 20
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": true,
                          "raw": "true",
                          "range": [
                            440,
                            444
                          ],
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 23
                            },
                            "end": {
                              "line": 20,
                              "column": 27
                            }
                          }
                        },
                        "range": [
                          421,
                          444
                        ],
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 4
                          },
                          "end": {
                            "line": 20,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        421,
                        445
                      ],
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 4
                        },
                        "end": {
                          "line": 20,
                          "column": 28
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                450,
                                454
                              ],
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 4
                                },
                                "end": {
                                  "line": 21,
                                  "column": 8
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_cssClasses",
                              "range": [
                                455,
                                466
                              ],
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 9
                                },
                                "end": {
                                  "line": 21,
                                  "column": 20
                                }
                              }
                            },
                            "range": [
                              450,
                              466
                            ],
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 4
                              },
                              "end": {
                                "line": 21,
                                "column": 20
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "push",
                            "range": [
                              467,
                              471
                            ],
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 21
                              },
                              "end": {
                                "line": 21,
                                "column": 25
                              }
                            }
                          },
                          "range": [
                            450,
                            471
                          ],
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 4
                            },
                            "end": {
                              "line": 21,
                              "column": 25
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "className",
                            "range": [
                              472,
                              481
                            ],
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 26
                              },
                              "end": {
                                "line": 21,
                                "column": 35
                              }
                            }
                          }
                        ],
                        "range": [
                          450,
                          482
                        ],
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 4
                          },
                          "end": {
                            "line": 21,
                            "column": 36
                          }
                        }
                      },
                      "range": [
                        450,
                        483
                      ],
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 4
                        },
                        "end": {
                          "line": 21,
                          "column": 37
                        }
                      }
                    }
                  ],
                  "range": [
                    415,
                    487
                  ],
                  "loc": {
                    "start": {
                      "line": 19,
                      "column": 25
                    },
                    "end": {
                      "line": 22,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  403,
                  487
                ],
                "loc": {
                  "start": {
                    "line": 19,
                    "column": 13
                  },
                  "end": {
                    "line": 22,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                392,
                487
              ],
              "loc": {
                "start": {
                  "line": 19,
                  "column": 2
                },
                "end": {
                  "line": 22,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "changeTagName",
                "range": [
                  491,
                  504
                ],
                "loc": {
                  "start": {
                    "line": 24,
                    "column": 2
                  },
                  "end": {
                    "line": 24,
                    "column": 15
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "tagName",
                    "range": [
                      505,
                      512
                    ],
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 16
                      },
                      "end": {
                        "line": 24,
                        "column": 23
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              520,
                              524
                            ],
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 4
                              },
                              "end": {
                                "line": 25,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_hasChanges",
                            "range": [
                              525,
                              536
                            ],
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 9
                              },
                              "end": {
                                "line": 25,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            520,
                            536
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 4
                            },
                            "end": {
                              "line": 25,
                              "column": 20
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": true,
                          "raw": "true",
                          "range": [
                            539,
                            543
                          ],
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 23
                            },
                            "end": {
                              "line": 25,
                              "column": 27
                            }
                          }
                        },
                        "range": [
                          520,
                          543
                        ],
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 4
                          },
                          "end": {
                            "line": 25,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        520,
                        544
                      ],
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 4
                        },
                        "end": {
                          "line": 25,
                          "column": 28
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              549,
                              553
                            ],
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 4
                              },
                              "end": {
                                "line": 26,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_tagName",
                            "range": [
                              554,
                              562
                            ],
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 9
                              },
                              "end": {
                                "line": 26,
                                "column": 17
                              }
                            }
                          },
                          "range": [
                            549,
                            562
                          ],
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 4
                            },
                            "end": {
                              "line": 26,
                              "column": 17
                            }
                          }
                        },
                        "right": {
                          "type": "Identifier",
                          "name": "tagName",
                          "range": [
                            565,
                            572
                          ],
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 20
                            },
                            "end": {
                              "line": 26,
                              "column": 27
                            }
                          }
                        },
                        "range": [
                          549,
                          572
                        ],
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 4
                          },
                          "end": {
                            "line": 26,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        549,
                        573
                      ],
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 4
                        },
                        "end": {
                          "line": 26,
                          "column": 28
                        }
                      }
                    }
                  ],
                  "range": [
                    514,
                    577
                  ],
                  "loc": {
                    "start": {
                      "line": 24,
                      "column": 25
                    },
                    "end": {
                      "line": 27,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  504,
                  577
                ],
                "loc": {
                  "start": {
                    "line": 24,
                    "column": 15
                  },
                  "end": {
                    "line": 27,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                491,
                577
              ],
              "loc": {
                "start": {
                  "line": 24,
                  "column": 2
                },
                "end": {
                  "line": 27,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "addAttribute",
                "range": [
                  581,
                  593
                ],
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 2
                  },
                  "end": {
                    "line": 29,
                    "column": 14
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "attribute",
                    "range": [
                      594,
                      603
                    ],
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 15
                      },
                      "end": {
                        "line": 29,
                        "column": 24
                      }
                    }
                  },
                  {
                    "type": "AssignmentPattern",
                    "left": {
                      "type": "Identifier",
                      "name": "attributeValue",
                      "range": [
                        605,
                        619
                      ],
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 26
                        },
                        "end": {
                          "line": 29,
                          "column": 40
                        }
                      }
                    },
                    "right": {
                      "type": "Literal",
                      "value": "",
                      "raw": "\"\"",
                      "range": [
                        620,
                        622
                      ],
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 41
                        },
                        "end": {
                          "line": 29,
                          "column": 43
                        }
                      }
                    },
                    "range": [
                      605,
                      622
                    ],
                    "loc": {
                      "start": {
                        "line": 29,
                        "column": 26
                      },
                      "end": {
                        "line": 29,
                        "column": 43
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              630,
                              634
                            ],
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 4
                              },
                              "end": {
                                "line": 30,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_hasChanges",
                            "range": [
                              635,
                              646
                            ],
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 9
                              },
                              "end": {
                                "line": 30,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            630,
                            646
                          ],
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 4
                            },
                            "end": {
                              "line": 30,
                              "column": 20
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": true,
                          "raw": "true",
                          "range": [
                            649,
                            653
                          ],
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 23
                            },
                            "end": {
                              "line": 30,
                              "column": 27
                            }
                          }
                        },
                        "range": [
                          630,
                          653
                        ],
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 4
                          },
                          "end": {
                            "line": 30,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        630,
                        654
                      ],
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 4
                        },
                        "end": {
                          "line": 30,
                          "column": 28
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                659,
                                663
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 4
                                },
                                "end": {
                                  "line": 31,
                                  "column": 8
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_attributes",
                              "range": [
                                664,
                                675
                              ],
                              "loc": {
                                "start": {
                                  "line": 31,
                                  "column": 9
                                },
                                "end": {
                                  "line": 31,
                                  "column": 20
                                }
                              }
                            },
                            "range": [
                              659,
                              675
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 4
                              },
                              "end": {
                                "line": 31,
                                "column": 20
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "set",
                            "range": [
                              676,
                              679
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 21
                              },
                              "end": {
                                "line": 31,
                                "column": 24
                              }
                            }
                          },
                          "range": [
                            659,
                            679
                          ],
                          "loc": {
                            "start": {
                              "line": 31,
                              "column": 4
                            },
                            "end": {
                              "line": 31,
                              "column": 24
                            }
                          }
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "name": "attribute",
                            "range": [
                              680,
                              689
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 25
                              },
                              "end": {
                                "line": 31,
                                "column": 34
                              }
                            }
                          },
                          {
                            "type": "Identifier",
                            "name": "attributeValue",
                            "range": [
                              691,
                              705
                            ],
                            "loc": {
                              "start": {
                                "line": 31,
                                "column": 36
                              },
                              "end": {
                                "line": 31,
                                "column": 50
                              }
                            }
                          }
                        ],
                        "range": [
                          659,
                          706
                        ],
                        "loc": {
                          "start": {
                            "line": 31,
                            "column": 4
                          },
                          "end": {
                            "line": 31,
                            "column": 51
                          }
                        }
                      },
                      "range": [
                        659,
                        707
                      ],
                      "loc": {
                        "start": {
                          "line": 31,
                          "column": 4
                        },
                        "end": {
                          "line": 31,
                          "column": 52
                        }
                      }
                    }
                  ],
                  "range": [
                    624,
                    711
                  ],
                  "loc": {
                    "start": {
                      "line": 29,
                      "column": 45
                    },
                    "end": {
                      "line": 32,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  593,
                  711
                ],
                "loc": {
                  "start": {
                    "line": 29,
                    "column": 14
                  },
                  "end": {
                    "line": 32,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                581,
                711
              ],
              "loc": {
                "start": {
                  "line": 29,
                  "column": 2
                },
                "end": {
                  "line": 32,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "setValue",
                "range": [
                  715,
                  723
                ],
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 2
                  },
                  "end": {
                    "line": 34,
                    "column": 10
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "value",
                    "range": [
                      724,
                      729
                    ],
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 11
                      },
                      "end": {
                        "line": 34,
                        "column": 16
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              737,
                              741
                            ],
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 4
                              },
                              "end": {
                                "line": 35,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_hasChanges",
                            "range": [
                              742,
                              753
                            ],
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 9
                              },
                              "end": {
                                "line": 35,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            737,
                            753
                          ],
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 4
                            },
                            "end": {
                              "line": 35,
                              "column": 20
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": true,
                          "raw": "true",
                          "range": [
                            756,
                            760
                          ],
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 23
                            },
                            "end": {
                              "line": 35,
                              "column": 27
                            }
                          }
                        },
                        "range": [
                          737,
                          760
                        ],
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 4
                          },
                          "end": {
                            "line": 35,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        737,
                        761
                      ],
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 4
                        },
                        "end": {
                          "line": 35,
                          "column": 28
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              766,
                              770
                            ],
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 4
                              },
                              "end": {
                                "line": 36,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_value",
                            "range": [
                              771,
                              777
                            ],
                            "loc": {
                              "start": {
                                "line": 36,
                                "column": 9
                              },
                              "end": {
                                "line": 36,
                                "column": 15
                              }
                            }
                          },
                          "range": [
                            766,
                            777
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 4
                            },
                            "end": {
                              "line": 36,
                              "column": 15
                            }
                          }
                        },
                        "right": {
                          "type": "Identifier",
                          "name": "value",
                          "range": [
                            780,
                            785
                          ],
                          "loc": {
                            "start": {
                              "line": 36,
                              "column": 18
                            },
                            "end": {
                              "line": 36,
                              "column": 23
                            }
                          }
                        },
                        "range": [
                          766,
                          785
                        ],
                        "loc": {
                          "start": {
                            "line": 36,
                            "column": 4
                          },
                          "end": {
                            "line": 36,
                            "column": 23
                          }
                        }
                      },
                      "range": [
                        766,
                        786
                      ],
                      "loc": {
                        "start": {
                          "line": 36,
                          "column": 4
                        },
                        "end": {
                          "line": 36,
                          "column": 24
                        }
                      }
                    }
                  ],
                  "range": [
                    731,
                    790
                  ],
                  "loc": {
                    "start": {
                      "line": 34,
                      "column": 18
                    },
                    "end": {
                      "line": 37,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  723,
                  790
                ],
                "loc": {
                  "start": {
                    "line": 34,
                    "column": 10
                  },
                  "end": {
                    "line": 37,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                715,
                790
              ],
              "loc": {
                "start": {
                  "line": 34,
                  "column": 2
                },
                "end": {
                  "line": 37,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "useElement",
                "range": [
                  794,
                  804
                ],
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 2
                  },
                  "end": {
                    "line": 39,
                    "column": 12
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [
                  {
                    "type": "Identifier",
                    "name": "element",
                    "range": [
                      805,
                      812
                    ],
                    "loc": {
                      "start": {
                        "line": 39,
                        "column": 13
                      },
                      "end": {
                        "line": 39,
                        "column": 20
                      }
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              820,
                              824
                            ],
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 4
                              },
                              "end": {
                                "line": 40,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_destroy",
                            "range": [
                              825,
                              833
                            ],
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 9
                              },
                              "end": {
                                "line": 40,
                                "column": 17
                              }
                            }
                          },
                          "range": [
                            820,
                            833
                          ],
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 4
                            },
                            "end": {
                              "line": 40,
                              "column": 17
                            }
                          }
                        },
                        "arguments": [],
                        "range": [
                          820,
                          835
                        ],
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 4
                          },
                          "end": {
                            "line": 40,
                            "column": 19
                          }
                        }
                      },
                      "range": [
                        820,
                        836
                      ],
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 4
                        },
                        "end": {
                          "line": 40,
                          "column": 20
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              841,
                              845
                            ],
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 4
                              },
                              "end": {
                                "line": 41,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_element",
                            "range": [
                              846,
                              854
                            ],
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 9
                              },
                              "end": {
                                "line": 41,
                                "column": 17
                              }
                            }
                          },
                          "range": [
                            841,
                            854
                          ],
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 4
                            },
                            "end": {
                              "line": 41,
                              "column": 17
                            }
                          }
                        },
                        "right": {
                          "type": "Identifier",
                          "name": "element",
                          "range": [
                            857,
                            864
                          ],
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 20
                            },
                            "end": {
                              "line": 41,
                              "column": 27
                            }
                          }
                        },
                        "range": [
                          841,
                          864
                        ],
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 4
                          },
                          "end": {
                            "line": 41,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        841,
                        865
                      ],
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 4
                        },
                        "end": {
                          "line": 41,
                          "column": 28
                        }
                      }
                    }
                  ],
                  "range": [
                    814,
                    869
                  ],
                  "loc": {
                    "start": {
                      "line": 39,
                      "column": 22
                    },
                    "end": {
                      "line": 42,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  804,
                  869
                ],
                "loc": {
                  "start": {
                    "line": 39,
                    "column": 12
                  },
                  "end": {
                    "line": 42,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                794,
                869
              ],
              "loc": {
                "start": {
                  "line": 39,
                  "column": 2
                },
                "end": {
                  "line": 42,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "renderElement",
                "range": [
                  873,
                  886
                ],
                "loc": {
                  "start": {
                    "line": 44,
                    "column": 2
                  },
                  "end": {
                    "line": 44,
                    "column": 15
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              899,
                              903
                            ],
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 8
                              },
                              "end": {
                                "line": 45,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_hasValidElement",
                            "range": [
                              904,
                              920
                            ],
                            "loc": {
                              "start": {
                                "line": 45,
                                "column": 13
                              },
                              "end": {
                                "line": 45,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            899,
                            920
                          ],
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 45,
                              "column": 29
                            }
                          }
                        },
                        "arguments": [],
                        "range": [
                          899,
                          922
                        ],
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 8
                          },
                          "end": {
                            "line": 45,
                            "column": 31
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "argument": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "ThisExpression",
                                "range": [
                                  939,
                                  943
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 17
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "_element",
                                "range": [
                                  944,
                                  952
                                ],
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 26
                                  }
                                }
                              },
                              "range": [
                                939,
                                952
                              ],
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 13
                                },
                                "end": {
                                  "line": 46,
                                  "column": 26
                                }
                              }
                            },
                            "range": [
                              932,
                              953
                            ],
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 6
                              },
                              "end": {
                                "line": 46,
                                "column": 27
                              }
                            }
                          }
                        ],
                        "range": [
                          924,
                          959
                        ],
                        "loc": {
                          "start": {
                            "line": 45,
                            "column": 33
                          },
                          "end": {
                            "line": 47,
                            "column": 5
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        895,
                        959
                      ],
                      "loc": {
                        "start": {
                          "line": 45,
                          "column": 4
                        },
                        "end": {
                          "line": 47,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "CallExpression",
                        "callee": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              965,
                              969
                            ],
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 4
                              },
                              "end": {
                                "line": 49,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_destroy",
                            "range": [
                              970,
                              978
                            ],
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 9
                              },
                              "end": {
                                "line": 49,
                                "column": 17
                              }
                            }
                          },
                          "range": [
                            965,
                            978
                          ],
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 4
                            },
                            "end": {
                              "line": 49,
                              "column": 17
                            }
                          }
                        },
                        "arguments": [],
                        "range": [
                          965,
                          980
                        ],
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 4
                          },
                          "end": {
                            "line": 49,
                            "column": 19
                          }
                        }
                      },
                      "range": [
                        965,
                        981
                      ],
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 4
                        },
                        "end": {
                          "line": 49,
                          "column": 20
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              986,
                              990
                            ],
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 4
                              },
                              "end": {
                                "line": 50,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_hasChanges",
                            "range": [
                              991,
                              1002
                            ],
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 9
                              },
                              "end": {
                                "line": 50,
                                "column": 20
                              }
                            }
                          },
                          "range": [
                            986,
                            1002
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 4
                            },
                            "end": {
                              "line": 50,
                              "column": 20
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": false,
                          "raw": "false",
                          "range": [
                            1005,
                            1010
                          ],
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 23
                            },
                            "end": {
                              "line": 50,
                              "column": 28
                            }
                          }
                        },
                        "range": [
                          986,
                          1010
                        ],
                        "loc": {
                          "start": {
                            "line": 50,
                            "column": 4
                          },
                          "end": {
                            "line": 50,
                            "column": 28
                          }
                        }
                      },
                      "range": [
                        986,
                        1011
                      ],
                      "loc": {
                        "start": {
                          "line": 50,
                          "column": 4
                        },
                        "end": {
                          "line": 50,
                          "column": 29
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "BinaryExpression",
                        "operator": "==",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              1020,
                              1024
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 8
                              },
                              "end": {
                                "line": 51,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_tagName",
                            "range": [
                              1025,
                              1033
                            ],
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 13
                              },
                              "end": {
                                "line": 51,
                                "column": 21
                              }
                            }
                          },
                          "range": [
                            1020,
                            1033
                          ],
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 21
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": null,
                          "raw": "null",
                          "range": [
                            1037,
                            1041
                          ],
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 25
                            },
                            "end": {
                              "line": 51,
                              "column": 29
                            }
                          }
                        },
                        "range": [
                          1020,
                          1041
                        ],
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 8
                          },
                          "end": {
                            "line": 51,
                            "column": 29
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ThrowStatement",
                            "argument": {
                              "type": "NewExpression",
                              "callee": {
                                "type": "Identifier",
                                "name": "Error",
                                "range": [
                                  1061,
                                  1066
                                ],
                                "loc": {
                                  "start": {
                                    "line": 52,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 52,
                                    "column": 21
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "TemplateLiteral",
                                  "quasis": [
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "Cannot create element without valid tagName! got: ",
                                        "cooked": "Cannot create element without valid tagName! got: "
                                      },
                                      "tail": false,
                                      "range": [
                                        1067,
                                        1120
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 75
                                        }
                                      }
                                    },
                                    {
                                      "type": "TemplateElement",
                                      "value": {
                                        "raw": "",
                                        "cooked": ""
                                      },
                                      "tail": true,
                                      "range": [
                                        1133,
                                        1135
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 88
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 90
                                        }
                                      }
                                    }
                                  ],
                                  "expressions": [
                                    {
                                      "type": "MemberExpression",
                                      "computed": false,
                                      "object": {
                                        "type": "ThisExpression",
                                        "range": [
                                          1120,
                                          1124
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 75
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 79
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "name": "_tagName",
                                        "range": [
                                          1125,
                                          1133
                                        ],
                                        "loc": {
                                          "start": {
                                            "line": 52,
                                            "column": 80
                                          },
                                          "end": {
                                            "line": 52,
                                            "column": 88
                                          }
                                        }
                                      },
                                      "range": [
                                        1120,
                                        1133
                                      ],
                                      "loc": {
                                        "start": {
                                          "line": 52,
                                          "column": 75
                                        },
                                        "end": {
                                          "line": 52,
                                          "column": 88
                                        }
                                      }
                                    }
                                  ],
                                  "range": [
                                    1067,
                                    1135
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 52,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 52,
                                      "column": 90
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1057,
                                1136
                              ],
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 12
                                },
                                "end": {
                                  "line": 52,
                                  "column": 91
                                }
                              }
                            },
                            "range": [
                              1051,
                              1137
                            ],
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 6
                              },
                              "end": {
                                "line": 52,
                                "column": 92
                              }
                            }
                          }
                        ],
                        "range": [
                          1043,
                          1143
                        ],
                        "loc": {
                          "start": {
                            "line": 51,
                            "column": 31
                          },
                          "end": {
                            "line": 53,
                            "column": 5
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        1016,
                        1143
                      ],
                      "loc": {
                        "start": {
                          "line": 51,
                          "column": 4
                        },
                        "end": {
                          "line": 53,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "VariableDeclaration",
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "id": {
                            "type": "Identifier",
                            "name": "element",
                            "range": [
                              1152,
                              1159
                            ],
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 8
                              },
                              "end": {
                                "line": 54,
                                "column": 15
                              }
                            }
                          },
                          "init": {
                            "type": "CallExpression",
                            "callee": {
                              "type": "MemberExpression",
                              "computed": false,
                              "object": {
                                "type": "Identifier",
                                "name": "document",
                                "range": [
                                  1162,
                                  1170
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 26
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "name": "createElement",
                                "range": [
                                  1171,
                                  1184
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 40
                                  }
                                }
                              },
                              "range": [
                                1162,
                                1184
                              ],
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 18
                                },
                                "end": {
                                  "line": 54,
                                  "column": 40
                                }
                              }
                            },
                            "arguments": [
                              {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    1185,
                                    1189
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 45
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "_tagName",
                                  "range": [
                                    1190,
                                    1198
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 54,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 54,
                                      "column": 54
                                    }
                                  }
                                },
                                "range": [
                                  1185,
                                  1198
                                ],
                                "loc": {
                                  "start": {
                                    "line": 54,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 54,
                                    "column": 54
                                  }
                                }
                              }
                            ],
                            "range": [
                              1162,
                              1199
                            ],
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 18
                              },
                              "end": {
                                "line": 54,
                                "column": 55
                              }
                            }
                          },
                          "range": [
                            1152,
                            1199
                          ],
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 55
                            }
                          }
                        }
                      ],
                      "kind": "let",
                      "range": [
                        1148,
                        1200
                      ],
                      "loc": {
                        "start": {
                          "line": 54,
                          "column": 4
                        },
                        "end": {
                          "line": 54,
                          "column": 56
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "BinaryExpression",
                        "operator": "!=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              1210,
                              1214
                            ],
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 8
                              },
                              "end": {
                                "line": 56,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_value",
                            "range": [
                              1215,
                              1221
                            ],
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 13
                              },
                              "end": {
                                "line": 56,
                                "column": 19
                              }
                            }
                          },
                          "range": [
                            1210,
                            1221
                          ],
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 19
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": null,
                          "raw": "null",
                          "range": [
                            1225,
                            1229
                          ],
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 23
                            },
                            "end": {
                              "line": 56,
                              "column": 27
                            }
                          }
                        },
                        "range": [
                          1210,
                          1229
                        ],
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 8
                          },
                          "end": {
                            "line": 56,
                            "column": 27
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "AssignmentExpression",
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "element",
                                  "range": [
                                    1239,
                                    1246
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 13
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "value",
                                  "range": [
                                    1247,
                                    1252
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 19
                                    }
                                  }
                                },
                                "range": [
                                  1239,
                                  1252
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 19
                                  }
                                }
                              },
                              "right": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "ThisExpression",
                                  "range": [
                                    1255,
                                    1259
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 26
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "_value",
                                  "range": [
                                    1260,
                                    1266
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 57,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 57,
                                      "column": 33
                                    }
                                  }
                                },
                                "range": [
                                  1255,
                                  1266
                                ],
                                "loc": {
                                  "start": {
                                    "line": 57,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 57,
                                    "column": 33
                                  }
                                }
                              },
                              "range": [
                                1239,
                                1266
                              ],
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 6
                                },
                                "end": {
                                  "line": 57,
                                  "column": 33
                                }
                              }
                            },
                            "range": [
                              1239,
                              1267
                            ],
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 6
                              },
                              "end": {
                                "line": 57,
                                "column": 34
                              }
                            }
                          }
                        ],
                        "range": [
                          1231,
                          1273
                        ],
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 29
                          },
                          "end": {
                            "line": 58,
                            "column": 5
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        1206,
                        1273
                      ],
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 4
                        },
                        "end": {
                          "line": 58,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ForOfStatement",
                      "left": {
                        "type": "VariableDeclaration",
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "id": {
                              "type": "Identifier",
                              "name": "className",
                              "range": [
                                1288,
                                1297
                              ],
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 13
                                },
                                "end": {
                                  "line": 60,
                                  "column": 22
                                }
                              }
                            },
                            "init": null,
                            "range": [
                              1288,
                              1297
                            ],
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 13
                              },
                              "end": {
                                "line": 60,
                                "column": 22
                              }
                            }
                          }
                        ],
                        "kind": "let",
                        "range": [
                          1284,
                          1297
                        ],
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 9
                          },
                          "end": {
                            "line": 60,
                            "column": 22
                          }
                        }
                      },
                      "right": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            1301,
                            1305
                          ],
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 26
                            },
                            "end": {
                              "line": 60,
                              "column": 30
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_cssClasses",
                          "range": [
                            1306,
                            1317
                          ],
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 31
                            },
                            "end": {
                              "line": 60,
                              "column": 42
                            }
                          }
                        },
                        "range": [
                          1301,
                          1317
                        ],
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 26
                          },
                          "end": {
                            "line": 60,
                            "column": 42
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "Identifier",
                                    "name": "element",
                                    "range": [
                                      1327,
                                      1334
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 13
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "classList",
                                    "range": [
                                      1335,
                                      1344
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 23
                                      }
                                    }
                                  },
                                  "range": [
                                    1327,
                                    1344
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 23
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "add",
                                  "range": [
                                    1345,
                                    1348
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 27
                                    }
                                  }
                                },
                                "range": [
                                  1327,
                                  1348
                                ],
                                "loc": {
                                  "start": {
                                    "line": 61,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 61,
                                    "column": 27
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "name": "className",
                                  "range": [
                                    1349,
                                    1358
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 61,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 61,
                                      "column": 37
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1327,
                                1359
                              ],
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 6
                                },
                                "end": {
                                  "line": 61,
                                  "column": 38
                                }
                              }
                            },
                            "range": [
                              1327,
                              1360
                            ],
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 6
                              },
                              "end": {
                                "line": 61,
                                "column": 39
                              }
                            }
                          }
                        ],
                        "range": [
                          1319,
                          1366
                        ],
                        "loc": {
                          "start": {
                            "line": 60,
                            "column": 44
                          },
                          "end": {
                            "line": 62,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1279,
                        1366
                      ],
                      "loc": {
                        "start": {
                          "line": 60,
                          "column": 4
                        },
                        "end": {
                          "line": 62,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ForOfStatement",
                      "left": {
                        "type": "VariableDeclaration",
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "id": {
                              "type": "ArrayPattern",
                              "elements": [
                                {
                                  "type": "Identifier",
                                  "name": "attribute",
                                  "range": [
                                    1381,
                                    1390
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 23
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "value",
                                  "range": [
                                    1392,
                                    1397
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 63,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 63,
                                      "column": 30
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1380,
                                1398
                              ],
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 13
                                },
                                "end": {
                                  "line": 63,
                                  "column": 31
                                }
                              }
                            },
                            "init": null,
                            "range": [
                              1380,
                              1398
                            ],
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 13
                              },
                              "end": {
                                "line": 63,
                                "column": 31
                              }
                            }
                          }
                        ],
                        "kind": "let",
                        "range": [
                          1376,
                          1398
                        ],
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 9
                          },
                          "end": {
                            "line": 63,
                            "column": 31
                          }
                        }
                      },
                      "right": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            1402,
                            1406
                          ],
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 35
                            },
                            "end": {
                              "line": 63,
                              "column": 39
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_attributes",
                          "range": [
                            1407,
                            1418
                          ],
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 40
                            },
                            "end": {
                              "line": 63,
                              "column": 51
                            }
                          }
                        },
                        "range": [
                          1402,
                          1418
                        ],
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 35
                          },
                          "end": {
                            "line": 63,
                            "column": 51
                          }
                        }
                      },
                      "body": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "Identifier",
                                  "name": "element",
                                  "range": [
                                    1428,
                                    1435
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 13
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "setAttribute",
                                  "range": [
                                    1436,
                                    1448
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 26
                                    }
                                  }
                                },
                                "range": [
                                  1428,
                                  1448
                                ],
                                "loc": {
                                  "start": {
                                    "line": 64,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 64,
                                    "column": 26
                                  }
                                }
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "name": "attribute",
                                  "range": [
                                    1449,
                                    1458
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 36
                                    }
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "name": "value",
                                  "range": [
                                    1460,
                                    1465
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 64,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 64,
                                      "column": 43
                                    }
                                  }
                                }
                              ],
                              "range": [
                                1428,
                                1466
                              ],
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 6
                                },
                                "end": {
                                  "line": 64,
                                  "column": 44
                                }
                              }
                            },
                            "range": [
                              1428,
                              1467
                            ],
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 6
                              },
                              "end": {
                                "line": 64,
                                "column": 45
                              }
                            }
                          }
                        ],
                        "range": [
                          1420,
                          1473
                        ],
                        "loc": {
                          "start": {
                            "line": 63,
                            "column": 53
                          },
                          "end": {
                            "line": 65,
                            "column": 5
                          }
                        }
                      },
                      "range": [
                        1371,
                        1473
                      ],
                      "loc": {
                        "start": {
                          "line": 63,
                          "column": 4
                        },
                        "end": {
                          "line": 65,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              1478,
                              1482
                            ],
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 4
                              },
                              "end": {
                                "line": 66,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_element",
                            "range": [
                              1483,
                              1491
                            ],
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 9
                              },
                              "end": {
                                "line": 66,
                                "column": 17
                              }
                            }
                          },
                          "range": [
                            1478,
                            1491
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 4
                            },
                            "end": {
                              "line": 66,
                              "column": 17
                            }
                          }
                        },
                        "right": {
                          "type": "Identifier",
                          "name": "element",
                          "range": [
                            1494,
                            1501
                          ],
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 20
                            },
                            "end": {
                              "line": 66,
                              "column": 27
                            }
                          }
                        },
                        "range": [
                          1478,
                          1501
                        ],
                        "loc": {
                          "start": {
                            "line": 66,
                            "column": 4
                          },
                          "end": {
                            "line": 66,
                            "column": 27
                          }
                        }
                      },
                      "range": [
                        1478,
                        1502
                      ],
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 4
                        },
                        "end": {
                          "line": 66,
                          "column": 28
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "argument": {
                        "type": "MemberExpression",
                        "computed": false,
                        "object": {
                          "type": "ThisExpression",
                          "range": [
                            1514,
                            1518
                          ],
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 11
                            },
                            "end": {
                              "line": 67,
                              "column": 15
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "name": "_element",
                          "range": [
                            1519,
                            1527
                          ],
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 16
                            },
                            "end": {
                              "line": 67,
                              "column": 24
                            }
                          }
                        },
                        "range": [
                          1514,
                          1527
                        ],
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 11
                          },
                          "end": {
                            "line": 67,
                            "column": 24
                          }
                        }
                      },
                      "range": [
                        1507,
                        1528
                      ],
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 4
                        },
                        "end": {
                          "line": 67,
                          "column": 25
                        }
                      }
                    }
                  ],
                  "range": [
                    889,
                    1532
                  ],
                  "loc": {
                    "start": {
                      "line": 44,
                      "column": 18
                    },
                    "end": {
                      "line": 68,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  886,
                  1532
                ],
                "loc": {
                  "start": {
                    "line": 44,
                    "column": 15
                  },
                  "end": {
                    "line": 68,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                873,
                1532
              ],
              "loc": {
                "start": {
                  "line": 44,
                  "column": 2
                },
                "end": {
                  "line": 68,
                  "column": 3
                }
              },
              "static": false
            },
            {
              "type": "MethodDefinition",
              "key": {
                "type": "Identifier",
                "name": "_destroy",
                "range": [
                  1536,
                  1544
                ],
                "loc": {
                  "start": {
                    "line": 70,
                    "column": 2
                  },
                  "end": {
                    "line": 70,
                    "column": 10
                  }
                }
              },
              "value": {
                "type": "FunctionExpression",
                "id": null,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "body": [
                    {
                      "type": "IfStatement",
                      "test": {
                        "type": "LogicalExpression",
                        "operator": "&&",
                        "left": {
                          "type": "BinaryExpression",
                          "operator": "!=",
                          "left": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                1557,
                                1561
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 8
                                },
                                "end": {
                                  "line": 71,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_element",
                              "range": [
                                1562,
                                1570
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 13
                                },
                                "end": {
                                  "line": 71,
                                  "column": 21
                                }
                              }
                            },
                            "range": [
                              1557,
                              1570
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 8
                              },
                              "end": {
                                "line": 71,
                                "column": 21
                              }
                            }
                          },
                          "right": {
                            "type": "Literal",
                            "value": null,
                            "raw": "null",
                            "range": [
                              1574,
                              1578
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 25
                              },
                              "end": {
                                "line": 71,
                                "column": 29
                              }
                            }
                          },
                          "range": [
                            1557,
                            1578
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 8
                            },
                            "end": {
                              "line": 71,
                              "column": 29
                            }
                          }
                        },
                        "right": {
                          "type": "BinaryExpression",
                          "operator": "!=",
                          "left": {
                            "type": "MemberExpression",
                            "computed": false,
                            "object": {
                              "type": "ThisExpression",
                              "range": [
                                1582,
                                1586
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 33
                                },
                                "end": {
                                  "line": 71,
                                  "column": 37
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "name": "_element",
                              "range": [
                                1587,
                                1595
                              ],
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 38
                                },
                                "end": {
                                  "line": 71,
                                  "column": 46
                                }
                              }
                            },
                            "range": [
                              1582,
                              1595
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 33
                              },
                              "end": {
                                "line": 71,
                                "column": 46
                              }
                            }
                          },
                          "right": {
                            "type": "Identifier",
                            "name": "undefined",
                            "range": [
                              1599,
                              1608
                            ],
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 50
                              },
                              "end": {
                                "line": 71,
                                "column": 59
                              }
                            }
                          },
                          "range": [
                            1582,
                            1608
                          ],
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 33
                            },
                            "end": {
                              "line": 71,
                              "column": 59
                            }
                          }
                        },
                        "range": [
                          1557,
                          1608
                        ],
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 8
                          },
                          "end": {
                            "line": 71,
                            "column": 59
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "expression": {
                              "type": "CallExpression",
                              "callee": {
                                "type": "MemberExpression",
                                "computed": false,
                                "object": {
                                  "type": "MemberExpression",
                                  "computed": false,
                                  "object": {
                                    "type": "ThisExpression",
                                    "range": [
                                      1618,
                                      1622
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "name": "_element",
                                    "range": [
                                      1623,
                                      1631
                                    ],
                                    "loc": {
                                      "start": {
                                        "line": 72,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 72,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "range": [
                                    1618,
                                    1631
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "name": "remove",
                                  "range": [
                                    1632,
                                    1638
                                  ],
                                  "loc": {
                                    "start": {
                                      "line": 72,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 72,
                                      "column": 26
                                    }
                                  }
                                },
                                "range": [
                                  1618,
                                  1638
                                ],
                                "loc": {
                                  "start": {
                                    "line": 72,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 72,
                                    "column": 26
                                  }
                                }
                              },
                              "arguments": [],
                              "range": [
                                1618,
                                1640
                              ],
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 6
                                },
                                "end": {
                                  "line": 72,
                                  "column": 28
                                }
                              }
                            },
                            "range": [
                              1618,
                              1641
                            ],
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 6
                              },
                              "end": {
                                "line": 72,
                                "column": 29
                              }
                            }
                          }
                        ],
                        "range": [
                          1610,
                          1647
                        ],
                        "loc": {
                          "start": {
                            "line": 71,
                            "column": 61
                          },
                          "end": {
                            "line": 73,
                            "column": 5
                          }
                        }
                      },
                      "alternate": null,
                      "range": [
                        1553,
                        1647
                      ],
                      "loc": {
                        "start": {
                          "line": 71,
                          "column": 4
                        },
                        "end": {
                          "line": 73,
                          "column": 5
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "expression": {
                        "type": "AssignmentExpression",
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "computed": false,
                          "object": {
                            "type": "ThisExpression",
                            "range": [
                              1652,
                              1656
                            ],
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 4
                              },
                              "end": {
                                "line": 74,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "name": "_element",
                            "range": [
                              1657,
                              1665
                            ],
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 9
                              },
                              "end": {
                                "line": 74,
                                "column": 17
                              }
                            }
                          },
                          "range": [
                            1652,
                            1665
                          ],
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 4
                            },
                            "end": {
                              "line": 74,
                              "column": 17
                            }
                          }
                        },
                        "right": {
                          "type": "Literal",
                          "value": null,
                          "raw": "null",
                          "range": [
                            1668,
                            1672
                          ],
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 20
                            },
                            "end": {
                              "line": 74,
                              "column": 24
                            }
                          }
                        },
                        "range": [
                          1652,
                          1672
                        ],
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 4
                          },
                          "end": {
                            "line": 74,
                            "column": 24
                          }
                        }
                      },
                      "range": [
                        1652,
                        1673
                      ],
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 4
                        },
                        "end": {
                          "line": 74,
                          "column": 25
                        }
                      }
                    }
                  ],
                  "range": [
                    1547,
                    1677
                  ],
                  "loc": {
                    "start": {
                      "line": 70,
                      "column": 13
                    },
                    "end": {
                      "line": 75,
                      "column": 3
                    }
                  }
                },
                "generator": false,
                "expression": false,
                "range": [
                  1544,
                  1677
                ],
                "loc": {
                  "start": {
                    "line": 70,
                    "column": 10
                  },
                  "end": {
                    "line": 75,
                    "column": 3
                  }
                }
              },
              "kind": "method",
              "computed": false,
              "range": [
                1536,
                1677
              ],
              "loc": {
                "start": {
                  "line": 70,
                  "column": 2
                },
                "end": {
                  "line": 75,
                  "column": 3
                }
              },
              "static": false
            }
          ],
          "range": [
            36,
            1679
          ],
          "loc": {
            "start": {
              "line": 1,
              "column": 36
            },
            "end": {
              "line": 76,
              "column": 1
            }
          }
        },
        "range": [
          15,
          1679
        ],
        "loc": {
          "start": {
            "line": 1,
            "column": 15
          },
          "end": {
            "line": 76,
            "column": 1
          }
        },
        "leadingComments": [],
        "trailingComments": []
      },
      "range": [
        0,
        1679
      ],
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 76,
          "column": 1
        }
      }
    }
  ],
  "sourceType": "module",
  "range": [
    0,
    1679
  ],
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 76,
      "column": 1
    }
  },
  "comments": []
}