auth-yes/archive/.forum/ast/cockpit_fragments.tsx.ast

1455 lines
120 KiB
Plaintext

(program [0, 0] - [359, 0]
(import_statement [0, 0] - [0, 56]
(import_clause [0, 7] - [0, 28]
(named_imports [0, 7] - [0, 28]
(import_specifier [0, 9] - [0, 26]
name: (identifier [0, 9] - [0, 26]))))
source: (string [0, 34] - [0, 55]
(string_fragment [0, 35] - [0, 54])))
(export_statement [2, 0] - [358, 2]
declaration: (lexical_declaration [2, 7] - [358, 2]
(variable_declarator [2, 13] - [358, 1]
name: (identifier [2, 13] - [2, 37])
value: (arrow_function [2, 40] - [358, 1]
parameters: (formal_parameters [2, 40] - [4, 1]
(required_parameter [3, 2] - [3, 41]
pattern: (object_pattern [3, 2] - [3, 17]
(shorthand_property_identifier_pattern [3, 4] - [3, 15]))
type: (type_annotation [3, 17] - [3, 41]
(object_type [3, 19] - [3, 41]
(property_signature [3, 21] - [3, 39]
name: (property_identifier [3, 21] - [3, 32])
type: (type_annotation [3, 32] - [3, 39]
(array_type [3, 34] - [3, 39]
(predefined_type [3, 34] - [3, 37]))))))))
body: (statement_block [4, 5] - [358, 1]
(if_statement [5, 2] - [5, 60]
condition: (parenthesized_expression [5, 5] - [5, 47]
(binary_expression [5, 6] - [5, 46]
left: (unary_expression [5, 6] - [5, 18]
argument: (identifier [5, 7] - [5, 18]))
right: (binary_expression [5, 22] - [5, 46]
left: (member_expression [5, 22] - [5, 40]
object: (identifier [5, 22] - [5, 33])
property: (property_identifier [5, 34] - [5, 40]))
right: (number [5, 45] - [5, 46]))))
consequence: (return_statement [5, 48] - [5, 60]
(null [5, 55] - [5, 59])))
(lexical_declaration [7, 2] - [7, 25]
(variable_declarator [7, 8] - [7, 24]
name: (identifier [7, 8] - [7, 11])
value: (call_expression [7, 14] - [7, 24]
function: (member_expression [7, 14] - [7, 22]
object: (identifier [7, 14] - [7, 18])
property: (property_identifier [7, 19] - [7, 22]))
arguments: (arguments [7, 22] - [7, 24]))))
(lexical_declaration [8, 2] - [10, 4]
(variable_declarator [8, 8] - [10, 3]
name: (identifier [8, 8] - [8, 20])
value: (call_expression [8, 23] - [10, 3]
function: (member_expression [8, 23] - [8, 41]
object: (identifier [8, 23] - [8, 34])
property: (property_identifier [8, 35] - [8, 41]))
arguments: (arguments [8, 41] - [10, 3]
(arrow_function [8, 42] - [9, 59]
parameters: (formal_parameters [8, 42] - [8, 45]
(required_parameter [8, 43] - [8, 44]
pattern: (identifier [8, 43] - [8, 44])))
body: (binary_expression [9, 4] - [9, 59]
left: (unary_expression [9, 4] - [9, 17]
argument: (member_expression [9, 5] - [9, 17]
object: (identifier [9, 5] - [9, 6])
property: (property_identifier [9, 7] - [9, 17])))
right: (binary_expression [9, 21] - [9, 59]
left: (call_expression [9, 21] - [9, 53]
function: (member_expression [9, 21] - [9, 51]
object: (new_expression [9, 21] - [9, 43]
constructor: (identifier [9, 25] - [9, 29])
arguments: (arguments [9, 29] - [9, 43]
(member_expression [9, 30] - [9, 42]
object: (identifier [9, 30] - [9, 31])
property: (property_identifier [9, 32] - [9, 42]))))
property: (property_identifier [9, 44] - [9, 51]))
arguments: (arguments [9, 51] - [9, 53]))
right: (identifier [9, 56] - [9, 59]))))))))
(lexical_declaration [11, 2] - [13, 4]
(variable_declarator [11, 8] - [13, 3]
name: (identifier [11, 8] - [11, 21])
value: (call_expression [11, 24] - [13, 3]
function: (member_expression [11, 24] - [11, 42]
object: (identifier [11, 24] - [11, 35])
property: (property_identifier [11, 36] - [11, 42]))
arguments: (arguments [11, 42] - [13, 3]
(arrow_function [11, 43] - [12, 59]
parameters: (formal_parameters [11, 43] - [11, 46]
(required_parameter [11, 44] - [11, 45]
pattern: (identifier [11, 44] - [11, 45])))
body: (binary_expression [12, 4] - [12, 59]
left: (member_expression [12, 4] - [12, 16]
object: (identifier [12, 4] - [12, 5])
property: (property_identifier [12, 6] - [12, 16]))
right: (binary_expression [12, 20] - [12, 59]
left: (call_expression [12, 20] - [12, 52]
function: (member_expression [12, 20] - [12, 50]
object: (new_expression [12, 20] - [12, 42]
constructor: (identifier [12, 24] - [12, 28])
arguments: (arguments [12, 28] - [12, 42]
(member_expression [12, 29] - [12, 41]
object: (identifier [12, 29] - [12, 30])
property: (property_identifier [12, 31] - [12, 41]))))
property: (property_identifier [12, 43] - [12, 50]))
arguments: (arguments [12, 50] - [12, 52]))
right: (identifier [12, 56] - [12, 59]))))))))
(return_statement [15, 2] - [357, 4]
(parenthesized_expression [15, 9] - [357, 3]
(jsx_element [16, 4] - [356, 10]
open_tag: (jsx_opening_element [16, 4] - [16, 38]
name: (identifier [16, 5] - [16, 8])
attribute: (jsx_attribute [16, 9] - [16, 37]
(property_identifier [16, 9] - [16, 14])
(string [16, 15] - [16, 37]
(string_fragment [16, 16] - [16, 36]))))
(jsx_element [17, 6] - [43, 12]
open_tag: (jsx_opening_element [17, 6] - [17, 179]
name: (identifier [17, 7] - [17, 10])
attribute: (jsx_attribute [17, 11] - [17, 178]
(property_identifier [17, 11] - [17, 16])
(string [17, 17] - [17, 178]
(string_fragment [17, 18] - [17, 177]))))
(jsx_element [18, 8] - [20, 13]
open_tag: (jsx_opening_element [18, 8] - [18, 97]
name: (identifier [18, 9] - [18, 11])
attribute: (jsx_attribute [18, 12] - [18, 96]
(property_identifier [18, 12] - [18, 17])
(string [18, 18] - [18, 96]
(string_fragment [18, 19] - [18, 95]))))
(jsx_text [18, 97] - [20, 8])
close_tag: (jsx_closing_element [20, 8] - [20, 13]
name: (identifier [20, 10] - [20, 12])))
(jsx_element [21, 8] - [42, 14]
open_tag: (jsx_opening_element [21, 8] - [21, 167]
name: (identifier [21, 9] - [21, 12])
attribute: (jsx_attribute [21, 13] - [21, 166]
(property_identifier [21, 13] - [21, 18])
(string [21, 19] - [21, 166]
(string_fragment [21, 20] - [21, 165]))))
(jsx_element [22, 10] - [31, 19]
open_tag: (jsx_opening_element [22, 10] - [29, 11]
name: (identifier [22, 11] - [22, 17])
attribute: (jsx_attribute [23, 12] - [23, 25]
(property_identifier [23, 12] - [23, 16])
(string [23, 17] - [23, 25]
(string_fragment [23, 18] - [23, 24])))
attribute: (jsx_attribute [24, 12] - [24, 29]
(property_identifier [24, 12] - [24, 14])
(string [24, 15] - [24, 29]
(string_fragment [24, 16] - [24, 28])))
attribute: (jsx_attribute [25, 12] - [25, 40]
(property_identifier [25, 12] - [25, 17])
(string [25, 18] - [25, 40]
(string_fragment [25, 19] - [25, 39])))
attribute: (jsx_attribute [26, 12] - [26, 46]
(property_identifier [26, 12] - [26, 19])
(string [26, 20] - [26, 46]
(string_fragment [26, 21] - [26, 45])))
attribute: (jsx_attribute [27, 12] - [27, 34]
(property_identifier [27, 12] - [27, 22])
(string [27, 23] - [27, 34]
(string_fragment [27, 24] - [27, 33])))
attribute: (jsx_attribute [28, 12] - [28, 31]
(property_identifier [28, 12] - [28, 24])
(string [28, 25] - [28, 31]
(string_fragment [28, 26] - [28, 30]))))
(jsx_text [29, 11] - [31, 10])
close_tag: (jsx_closing_element [31, 10] - [31, 19]
name: (identifier [31, 12] - [31, 18])))
(jsx_element [32, 10] - [41, 19]
open_tag: (jsx_opening_element [32, 10] - [39, 11]
name: (identifier [32, 11] - [32, 17])
attribute: (jsx_attribute [33, 12] - [33, 25]
(property_identifier [33, 12] - [33, 16])
(string [33, 17] - [33, 25]
(string_fragment [33, 18] - [33, 24])))
attribute: (jsx_attribute [34, 12] - [34, 32]
(property_identifier [34, 12] - [34, 14])
(string [34, 15] - [34, 32]
(string_fragment [34, 16] - [34, 31])))
attribute: (jsx_attribute [35, 12] - [35, 33]
(property_identifier [35, 12] - [35, 17])
(string [35, 18] - [35, 33]
(string_fragment [35, 19] - [35, 32])))
attribute: (jsx_attribute [36, 12] - [36, 49]
(property_identifier [36, 12] - [36, 19])
(string [36, 20] - [36, 49]
(string_fragment [36, 21] - [36, 48])))
attribute: (jsx_attribute [37, 12] - [37, 37]
(property_identifier [37, 12] - [37, 22])
(string [37, 23] - [37, 37]
(string_fragment [37, 24] - [37, 36])))
attribute: (jsx_attribute [38, 12] - [38, 32]
(property_identifier [38, 12] - [38, 24])
(string [38, 25] - [38, 32]
(string_fragment [38, 26] - [38, 31]))))
(jsx_text [39, 11] - [41, 10])
close_tag: (jsx_closing_element [41, 10] - [41, 19]
name: (identifier [41, 12] - [41, 18])))
close_tag: (jsx_closing_element [42, 8] - [42, 14]
name: (identifier [42, 10] - [42, 13])))
close_tag: (jsx_closing_element [43, 6] - [43, 12]
name: (identifier [43, 8] - [43, 11])))
(jsx_element [45, 6] - [303, 12]
open_tag: (jsx_opening_element [45, 6] - [45, 53]
name: (identifier [45, 7] - [45, 10])
attribute: (jsx_attribute [45, 11] - [45, 34]
(property_identifier [45, 11] - [45, 13])
(string [45, 14] - [45, 34]
(string_fragment [45, 15] - [45, 33])))
attribute: (jsx_attribute [45, 35] - [45, 52]
(property_identifier [45, 35] - [45, 40])
(string [45, 41] - [45, 52]
(string_fragment [45, 42] - [45, 51]))))
(jsx_expression [46, 8] - [302, 11]
(call_expression [46, 9] - [302, 10]
function: (member_expression [46, 9] - [46, 25]
object: (identifier [46, 9] - [46, 21])
property: (property_identifier [46, 22] - [46, 25]))
arguments: (arguments [46, 25] - [302, 10]
(arrow_function [46, 26] - [302, 9]
parameters: (formal_parameters [46, 26] - [46, 33]
(required_parameter [46, 27] - [46, 32]
pattern: (identifier [46, 27] - [46, 32])))
body: (statement_block [46, 37] - [302, 9]
(lexical_declaration [47, 10] - [47, 53]
(variable_declarator [47, 16] - [47, 52]
name: (identifier [47, 16] - [47, 23])
value: (new_expression [47, 26] - [47, 52]
constructor: (identifier [47, 30] - [47, 34])
arguments: (arguments [47, 34] - [47, 52]
(member_expression [47, 35] - [47, 51]
object: (identifier [47, 35] - [47, 40])
property: (property_identifier [47, 41] - [47, 51]))))))
(lexical_declaration [48, 10] - [51, 13]
(variable_declarator [48, 16] - [51, 12]
name: (identifier [48, 16] - [48, 26])
value: (call_expression [48, 29] - [51, 12]
function: (member_expression [48, 29] - [48, 55]
object: (identifier [48, 29] - [48, 36])
property: (property_identifier [48, 37] - [48, 55]))
arguments: (arguments [48, 55] - [51, 12]
(array [48, 56] - [48, 58])
(object [48, 60] - [51, 11]
(pair [49, 12] - [49, 27]
key: (property_identifier [49, 12] - [49, 16])
value: (string [49, 18] - [49, 27]
(string_fragment [49, 19] - [49, 26])))
(pair [50, 12] - [50, 29]
key: (property_identifier [50, 12] - [50, 18])
value: (string [50, 20] - [50, 29]
(string_fragment [50, 21] - [50, 28]))))))))
(return_statement [53, 10] - [301, 12]
(parenthesized_expression [53, 17] - [301, 11]
(jsx_element [54, 12] - [300, 18]
open_tag: (jsx_opening_element [54, 12] - [58, 13]
name: (identifier [54, 13] - [54, 16])
attribute: (jsx_attribute [55, 14] - [55, 28]
(property_identifier [55, 14] - [55, 17])
(jsx_expression [55, 18] - [55, 28]
(member_expression [55, 19] - [55, 27]
object: (identifier [55, 19] - [55, 24])
property: (property_identifier [55, 25] - [55, 27]))))
attribute: (jsx_attribute [56, 14] - [56, 37]
(property_identifier [56, 14] - [56, 19])
(string [56, 20] - [56, 37]
(string_fragment [56, 21] - [56, 36])))
attribute: (jsx_attribute [57, 14] - [57, 71]
(property_identifier [57, 14] - [57, 19])
(string [57, 20] - [57, 71]
(string_fragment [57, 21] - [57, 70]))))
(jsx_element [59, 14] - [72, 20]
open_tag: (jsx_opening_element [59, 14] - [59, 45]
name: (identifier [59, 15] - [59, 18])
attribute: (jsx_attribute [59, 19] - [59, 44]
(property_identifier [59, 19] - [59, 24])
(string [59, 25] - [59, 44]
(string_fragment [59, 26] - [59, 43]))))
(jsx_element [60, 16] - [70, 22]
open_tag: (jsx_opening_element [60, 16] - [60, 21]
name: (identifier [60, 17] - [60, 20]))
(jsx_element [61, 18] - [63, 23]
open_tag: (jsx_opening_element [61, 18] - [61, 100]
name: (identifier [61, 19] - [61, 21])
attribute: (jsx_attribute [61, 22] - [61, 99]
(property_identifier [61, 22] - [61, 27])
(string [61, 28] - [61, 99]
(string_fragment [61, 29] - [61, 98]))))
(jsx_expression [62, 20] - [62, 32]
(member_expression [62, 21] - [62, 31]
object: (identifier [62, 21] - [62, 26])
property: (property_identifier [62, 27] - [62, 31])))
close_tag: (jsx_closing_element [63, 18] - [63, 23]
name: (identifier [63, 20] - [63, 22])))
(jsx_element [64, 18] - [69, 24]
open_tag: (jsx_opening_element [64, 18] - [67, 19]
name: (identifier [64, 19] - [64, 22])
attribute: (jsx_attribute [65, 20] - [65, 42]
(property_identifier [65, 20] - [65, 25])
(string [65, 26] - [65, 42]
(string_fragment [65, 27] - [65, 41])))
attribute: (jsx_attribute [66, 20] - [66, 54]
(property_identifier [66, 20] - [66, 35])
(jsx_expression [66, 36] - [66, 54]
(member_expression [66, 37] - [66, 53]
object: (identifier [66, 37] - [66, 42])
property: (property_identifier [66, 43] - [66, 53])))))
(jsx_text [67, 19] - [68, 47])
(jsx_expression [68, 47] - [68, 59]
(identifier [68, 48] - [68, 58]))
(jsx_text [68, 59] - [69, 18])
close_tag: (jsx_closing_element [69, 18] - [69, 24]
name: (identifier [69, 20] - [69, 23])))
close_tag: (jsx_closing_element [70, 16] - [70, 22]
name: (identifier [70, 18] - [70, 21])))
(jsx_element [71, 16] - [71, 76]
open_tag: (jsx_opening_element [71, 16] - [71, 63]
name: (identifier [71, 17] - [71, 21])
attribute: (jsx_attribute [71, 22] - [71, 62]
(property_identifier [71, 22] - [71, 27])
(string [71, 28] - [71, 62]
(string_fragment [71, 29] - [71, 61]))))
(jsx_text [71, 63] - [71, 69])
close_tag: (jsx_closing_element [71, 69] - [71, 76]
name: (identifier [71, 71] - [71, 75])))
close_tag: (jsx_closing_element [72, 14] - [72, 20]
name: (identifier [72, 16] - [72, 19])))
(jsx_expression [74, 14] - [74, 44]
(comment [74, 15] - [74, 43]))
(jsx_element [75, 14] - [96, 20]
open_tag: (jsx_opening_element [75, 14] - [75, 48]
name: (identifier [75, 15] - [75, 18])
attribute: (jsx_attribute [75, 19] - [75, 47]
(property_identifier [75, 19] - [75, 24])
(string [75, 25] - [75, 47]
(string_fragment [75, 26] - [75, 46]))))
(jsx_element [76, 16] - [82, 22]
open_tag: (jsx_opening_element [76, 16] - [76, 149]
name: (identifier [76, 17] - [76, 20])
attribute: (jsx_attribute [76, 21] - [76, 148]
(property_identifier [76, 21] - [76, 26])
(string [76, 27] - [76, 148]
(string_fragment [76, 28] - [76, 147]))))
(jsx_element [77, 18] - [77, 44]
open_tag: (jsx_opening_element [77, 18] - [77, 24]
name: (identifier [77, 19] - [77, 23]))
(jsx_text [77, 24] - [77, 37])
close_tag: (jsx_closing_element [77, 37] - [77, 44]
name: (identifier [77, 39] - [77, 43])))
(jsx_element [78, 18] - [81, 27]
open_tag: (jsx_opening_element [78, 18] - [78, 62]
name: (identifier [78, 19] - [78, 25])
attribute: (jsx_attribute [78, 26] - [78, 61]
(property_identifier [78, 26] - [78, 31])
(string [78, 32] - [78, 61]
(string_fragment [78, 33] - [78, 60]))))
(jsx_expression [79, 20] - [79, 41]
(member_expression [79, 21] - [79, 40]
object: (identifier [79, 21] - [79, 26])
property: (property_identifier [79, 27] - [79, 40])))
(jsx_text [79, 41] - [79, 43])
(jsx_expression [79, 43] - [79, 48]
(string [79, 44] - [79, 47]
(string_fragment [79, 45] - [79, 46])))
(jsx_expression [80, 20] - [80, 69]
(ternary_expression [80, 21] - [80, 68]
condition: (binary_expression [80, 21] - [80, 42]
left: (member_expression [80, 21] - [80, 36]
object: (identifier [80, 21] - [80, 26])
property: (property_identifier [80, 27] - [80, 36]))
right: (number [80, 41] - [80, 42]))
consequence: (string [80, 45] - [80, 50]
(string_fragment [80, 46] - [80, 49]))
alternative: (member_expression [80, 53] - [80, 68]
object: (identifier [80, 53] - [80, 58])
property: (property_identifier [80, 59] - [80, 68]))))
close_tag: (jsx_closing_element [81, 18] - [81, 27]
name: (identifier [81, 20] - [81, 26])))
close_tag: (jsx_closing_element [82, 16] - [82, 22]
name: (identifier [82, 18] - [82, 21])))
(jsx_element [83, 16] - [95, 22]
open_tag: (jsx_opening_element [83, 16] - [83, 127]
name: (identifier [83, 17] - [83, 20])
attribute: (jsx_attribute [83, 21] - [83, 126]
(property_identifier [83, 21] - [83, 26])
(string [83, 27] - [83, 126]
(string_fragment [83, 28] - [83, 125]))))
(jsx_element [84, 18] - [94, 24]
open_tag: (jsx_opening_element [84, 18] - [93, 19]
name: (identifier [84, 19] - [84, 22])
attribute: (jsx_attribute [85, 20] - [92, 25]
(property_identifier [85, 20] - [85, 25])
(jsx_expression [85, 26] - [92, 25]
(template_string [85, 27] - [92, 24]
(string_fragment [85, 28] - [85, 77])
(template_substitution [85, 77] - [92, 21]
(ternary_expression [86, 22] - [91, 29]
condition: (binary_expression [86, 22] - [86, 41]
left: (member_expression [86, 22] - [86, 37]
object: (identifier [86, 22] - [86, 27])
property: (property_identifier [86, 28] - [86, 37]))
right: (number [86, 40] - [86, 41]))
consequence: (call_expression [87, 26] - [90, 25]
function: (member_expression [87, 26] - [87, 34]
object: (identifier [87, 26] - [87, 30])
property: (property_identifier [87, 31] - [87, 34]))
arguments: (arguments [87, 34] - [90, 25]
(binary_expression [88, 26] - [88, 71]
left: (parenthesized_expression [88, 26] - [88, 65]
(binary_expression [88, 27] - [88, 64]
left: (member_expression [88, 27] - [88, 46]
object: (identifier [88, 27] - [88, 32])
property: (property_identifier [88, 33] - [88, 46]))
right: (member_expression [88, 49] - [88, 64]
object: (identifier [88, 49] - [88, 54])
property: (property_identifier [88, 55] - [88, 64]))))
right: (number [88, 68] - [88, 71]))
(number [89, 26] - [89, 29])))
alternative: (number [91, 26] - [91, 29])))
(string_fragment [92, 21] - [92, 23])))))
close_tag: (jsx_closing_element [94, 18] - [94, 24]
name: (identifier [94, 20] - [94, 23])))
close_tag: (jsx_closing_element [95, 16] - [95, 22]
name: (identifier [95, 18] - [95, 21])))
close_tag: (jsx_closing_element [96, 14] - [96, 20]
name: (identifier [96, 16] - [96, 19])))
(jsx_expression [98, 14] - [98, 41]
(comment [98, 15] - [98, 40]))
(jsx_element [99, 14] - [192, 20]
open_tag: (jsx_opening_element [99, 14] - [102, 15]
name: (identifier [99, 15] - [99, 18])
attribute: (jsx_attribute [100, 16] - [100, 43]
(property_identifier [100, 16] - [100, 21])
(string [100, 22] - [100, 43]
(string_fragment [100, 23] - [100, 42])))
attribute: (jsx_attribute [101, 16] - [101, 96]
(property_identifier [101, 16] - [101, 21])
(string [101, 22] - [101, 96]
(string_fragment [101, 23] - [101, 95]))))
(jsx_element [103, 16] - [123, 22]
open_tag: (jsx_opening_element [103, 16] - [103, 78]
name: (identifier [103, 17] - [103, 20])
attribute: (jsx_attribute [103, 21] - [103, 77]
(property_identifier [103, 21] - [103, 26])
(string [103, 27] - [103, 77]
(string_fragment [103, 28] - [103, 76]))))
(jsx_element [104, 18] - [106, 25]
open_tag: (jsx_opening_element [104, 18] - [104, 108]
name: (identifier [104, 19] - [104, 23])
attribute: (jsx_attribute [104, 24] - [104, 107]
(property_identifier [104, 24] - [104, 29])
(string [104, 30] - [104, 107]
(string_fragment [104, 31] - [104, 106]))))
(jsx_text [104, 108] - [106, 18])
close_tag: (jsx_closing_element [106, 18] - [106, 25]
name: (identifier [106, 20] - [106, 24])))
(jsx_element [107, 18] - [112, 25]
open_tag: (jsx_opening_element [107, 18] - [110, 19]
name: (identifier [107, 19] - [107, 23])
attribute: (jsx_attribute [108, 20] - [108, 212]
(property_identifier [108, 20] - [108, 25])
(string [108, 26] - [108, 212]
(string_fragment [108, 27] - [108, 211])))
attribute: (jsx_attribute [109, 20] - [109, 42]
(property_identifier [109, 20] - [109, 22])
(jsx_expression [109, 23] - [109, 42]
(template_string [109, 24] - [109, 41]
(string_fragment [109, 25] - [109, 29])
(template_substitution [109, 29] - [109, 40]
(member_expression [109, 31] - [109, 39]
object: (identifier [109, 31] - [109, 36])
property: (property_identifier [109, 37] - [109, 39])))))))
(jsx_expression [111, 20] - [111, 36]
(member_expression [111, 21] - [111, 35]
object: (identifier [111, 21] - [111, 26])
property: (property_identifier [111, 27] - [111, 35])))
close_tag: (jsx_closing_element [112, 18] - [112, 25]
name: (identifier [112, 20] - [112, 24])))
(jsx_element [113, 18] - [122, 27]
open_tag: (jsx_opening_element [113, 18] - [120, 19]
name: (identifier [113, 19] - [113, 25])
attribute: (jsx_attribute [114, 20] - [114, 33]
(property_identifier [114, 20] - [114, 24])
(string [114, 25] - [114, 33]
(string_fragment [114, 26] - [114, 32])))
attribute: (jsx_attribute [115, 20] - [115, 39]
(property_identifier [115, 20] - [115, 25])
(string [115, 26] - [115, 39]
(string_fragment [115, 27] - [115, 38])))
attribute: (jsx_attribute [116, 20] - [116, 66]
(property_identifier [116, 20] - [116, 30])
(jsx_expression [116, 31] - [116, 66]
(template_string [116, 32] - [116, 65]
(string_fragment [116, 33] - [116, 51])
(template_substitution [116, 51] - [116, 64]
(member_expression [116, 53] - [116, 63]
object: (identifier [116, 53] - [116, 58])
property: (property_identifier [116, 59] - [116, 63]))))))
attribute: (jsx_attribute [117, 20] - [117, 90]
(property_identifier [117, 20] - [117, 25])
(string [117, 26] - [117, 90]
(string_fragment [117, 27] - [117, 89])))
attribute: (jsx_attribute [118, 20] - [118, 31]
(property_identifier [118, 20] - [118, 31]))
attribute: (jsx_attribute [119, 20] - [119, 61]
(property_identifier [119, 20] - [119, 27])
(jsx_expression [119, 28] - [119, 61]
(template_string [119, 29] - [119, 60]
(string_fragment [119, 30] - [119, 40])
(template_substitution [119, 40] - [119, 57]
(member_expression [119, 42] - [119, 56]
object: (identifier [119, 42] - [119, 47])
property: (property_identifier [119, 48] - [119, 56])))
(string_fragment [119, 57] - [119, 59])))))
(jsx_text [120, 19] - [122, 18])
close_tag: (jsx_closing_element [122, 18] - [122, 27]
name: (identifier [122, 20] - [122, 26])))
close_tag: (jsx_closing_element [123, 16] - [123, 22]
name: (identifier [123, 18] - [123, 21])))
(jsx_element [124, 16] - [145, 22]
open_tag: (jsx_opening_element [124, 16] - [124, 78]
name: (identifier [124, 17] - [124, 20])
attribute: (jsx_attribute [124, 21] - [124, 77]
(property_identifier [124, 21] - [124, 26])
(string [124, 27] - [124, 77]
(string_fragment [124, 28] - [124, 76]))))
(jsx_element [125, 18] - [127, 25]
open_tag: (jsx_opening_element [125, 18] - [125, 108]
name: (identifier [125, 19] - [125, 23])
attribute: (jsx_attribute [125, 24] - [125, 107]
(property_identifier [125, 24] - [125, 29])
(string [125, 30] - [125, 107]
(string_fragment [125, 31] - [125, 106]))))
(jsx_text [125, 108] - [127, 18])
close_tag: (jsx_closing_element [127, 18] - [127, 25]
name: (identifier [127, 20] - [127, 24])))
(jsx_element [128, 18] - [133, 25]
open_tag: (jsx_opening_element [128, 18] - [131, 19]
name: (identifier [128, 19] - [128, 23])
attribute: (jsx_attribute [129, 20] - [129, 48]
(property_identifier [129, 20] - [129, 22])
(jsx_expression [129, 23] - [129, 48]
(template_string [129, 24] - [129, 47]
(string_fragment [129, 25] - [129, 35])
(template_substitution [129, 35] - [129, 46]
(member_expression [129, 37] - [129, 45]
object: (identifier [129, 37] - [129, 42])
property: (property_identifier [129, 43] - [129, 45]))))))
attribute: (jsx_attribute [130, 20] - [130, 236]
(property_identifier [130, 20] - [130, 25])
(string [130, 26] - [130, 236]
(string_fragment [130, 27] - [130, 235]))))
(jsx_text [131, 19] - [132, 23])
(jsx_expression [132, 23] - [132, 35]
(member_expression [132, 24] - [132, 34]
object: (identifier [132, 24] - [132, 29])
property: (property_identifier [132, 30] - [132, 34])))
close_tag: (jsx_closing_element [133, 18] - [133, 25]
name: (identifier [133, 20] - [133, 24])))
(jsx_element [134, 18] - [144, 27]
open_tag: (jsx_opening_element [134, 18] - [142, 19]
name: (identifier [134, 19] - [134, 25])
attribute: (jsx_attribute [135, 20] - [135, 33]
(property_identifier [135, 20] - [135, 24])
(string [135, 25] - [135, 33]
(string_fragment [135, 26] - [135, 32])))
attribute: (jsx_attribute [136, 20] - [136, 47]
(property_identifier [136, 20] - [136, 22])
(jsx_expression [136, 23] - [136, 47]
(template_string [136, 24] - [136, 46]
(string_fragment [136, 25] - [136, 34])
(template_substitution [136, 34] - [136, 45]
(member_expression [136, 36] - [136, 44]
object: (identifier [136, 36] - [136, 41])
property: (property_identifier [136, 42] - [136, 44]))))))
attribute: (jsx_attribute [137, 20] - [137, 39]
(property_identifier [137, 20] - [137, 25])
(string [137, 26] - [137, 39]
(string_fragment [137, 27] - [137, 38])))
attribute: (jsx_attribute [138, 20] - [138, 69]
(property_identifier [138, 20] - [138, 30])
(jsx_expression [138, 31] - [138, 69]
(template_string [138, 32] - [138, 68]
(string_fragment [138, 33] - [138, 54])
(template_substitution [138, 54] - [138, 67]
(member_expression [138, 56] - [138, 66]
object: (identifier [138, 56] - [138, 61])
property: (property_identifier [138, 62] - [138, 66]))))))
attribute: (jsx_attribute [139, 20] - [139, 90]
(property_identifier [139, 20] - [139, 25])
(string [139, 26] - [139, 90]
(string_fragment [139, 27] - [139, 89])))
attribute: (jsx_attribute [140, 20] - [140, 31]
(property_identifier [140, 20] - [140, 31]))
attribute: (jsx_attribute [141, 20] - [141, 85]
(property_identifier [141, 20] - [141, 27])
(jsx_expression [141, 28] - [141, 85]
(template_string [141, 29] - [141, 84]
(string_fragment [141, 30] - [141, 68])
(template_substitution [141, 68] - [141, 81]
(member_expression [141, 70] - [141, 80]
object: (identifier [141, 70] - [141, 75])
property: (property_identifier [141, 76] - [141, 80])))
(string_fragment [141, 81] - [141, 83])))))
(jsx_text [142, 19] - [144, 18])
close_tag: (jsx_closing_element [144, 18] - [144, 27]
name: (identifier [144, 20] - [144, 26])))
close_tag: (jsx_closing_element [145, 16] - [145, 22]
name: (identifier [145, 18] - [145, 21])))
(jsx_element [147, 16] - [191, 26]
open_tag: (jsx_opening_element [147, 16] - [150, 17]
name: (identifier [147, 17] - [147, 24])
attribute: (jsx_attribute [148, 18] - [148, 37]
(property_identifier [148, 18] - [148, 23])
(string [148, 24] - [148, 37]
(string_fragment [148, 25] - [148, 36])))
attribute: (jsx_attribute [149, 18] - [149, 58]
(property_identifier [149, 18] - [149, 23])
(string [149, 24] - [149, 58]
(string_fragment [149, 25] - [149, 57]))))
(jsx_element [151, 18] - [177, 28]
open_tag: (jsx_opening_element [151, 18] - [151, 120]
name: (identifier [151, 19] - [151, 26])
attribute: (jsx_attribute [151, 27] - [151, 119]
(property_identifier [151, 27] - [151, 32])
(string [151, 33] - [151, 119]
(string_fragment [151, 34] - [151, 118]))))
(jsx_element [152, 20] - [154, 27]
open_tag: (jsx_opening_element [152, 20] - [152, 110]
name: (identifier [152, 21] - [152, 25])
attribute: (jsx_attribute [152, 26] - [152, 109]
(property_identifier [152, 26] - [152, 31])
(string [152, 32] - [152, 109]
(string_fragment [152, 33] - [152, 108]))))
(jsx_text [152, 110] - [154, 20])
close_tag: (jsx_closing_element [154, 20] - [154, 27]
name: (identifier [154, 22] - [154, 26])))
(jsx_element [155, 20] - [162, 27]
open_tag: (jsx_opening_element [155, 20] - [158, 21]
name: (identifier [155, 21] - [155, 25])
attribute: (jsx_attribute [156, 22] - [156, 49]
(property_identifier [156, 22] - [156, 24])
(jsx_expression [156, 25] - [156, 49]
(template_string [156, 26] - [156, 48]
(string_fragment [156, 27] - [156, 36])
(template_substitution [156, 36] - [156, 47]
(member_expression [156, 38] - [156, 46]
object: (identifier [156, 38] - [156, 43])
property: (property_identifier [156, 44] - [156, 46]))))))
attribute: (jsx_attribute [157, 22] - [157, 255]
(property_identifier [157, 22] - [157, 27])
(string [157, 28] - [157, 255]
(string_fragment [157, 29] - [157, 254]))))
(jsx_text [158, 21] - [159, 32])
(jsx_expression [159, 32] - [161, 29]
(ternary_expression [159, 33] - [161, 28]
condition: (call_expression [159, 33] - [159, 54]
function: (member_expression [159, 33] - [159, 45]
object: (member_expression [159, 33] - [159, 41]
object: (identifier [159, 33] - [159, 37])
property: (property_identifier [159, 38] - [159, 41]))
property: (property_identifier [159, 42] - [159, 45]))
arguments: (arguments [159, 45] - [159, 54]
(string [159, 46] - [159, 53]
(string_fragment [159, 47] - [159, 52]))))
consequence: (template_string [160, 26] - [160, 60]
(string_fragment [160, 27] - [160, 35])
(template_substitution [160, 35] - [160, 59]
(call_expression [160, 37] - [160, 58]
function: (member_expression [160, 37] - [160, 49]
object: (member_expression [160, 37] - [160, 45]
object: (identifier [160, 37] - [160, 41])
property: (property_identifier [160, 42] - [160, 45]))
property: (property_identifier [160, 46] - [160, 49]))
arguments: (arguments [160, 49] - [160, 58]
(string [160, 50] - [160, 57]
(string_fragment [160, 51] - [160, 56]))))))
alternative: (string [161, 26] - [161, 28])))
(jsx_text [161, 29] - [161, 35])
(jsx_expression [161, 35] - [161, 47]
(member_expression [161, 36] - [161, 46]
object: (identifier [161, 36] - [161, 41])
property: (property_identifier [161, 42] - [161, 46])))
(jsx_text [161, 47] - [162, 20])
close_tag: (jsx_closing_element [162, 20] - [162, 27]
name: (identifier [162, 22] - [162, 26])))
(jsx_element [163, 20] - [173, 29]
open_tag: (jsx_opening_element [163, 20] - [171, 21]
name: (identifier [163, 21] - [163, 27])
attribute: (jsx_attribute [164, 22] - [164, 35]
(property_identifier [164, 22] - [164, 26])
(string [164, 27] - [164, 35]
(string_fragment [164, 28] - [164, 34])))
attribute: (jsx_attribute [165, 22] - [165, 48]
(property_identifier [165, 22] - [165, 24])
(jsx_expression [165, 25] - [165, 48]
(template_string [165, 26] - [165, 47]
(string_fragment [165, 27] - [165, 35])
(template_substitution [165, 35] - [165, 46]
(member_expression [165, 37] - [165, 45]
object: (identifier [165, 37] - [165, 42])
property: (property_identifier [165, 43] - [165, 45]))))))
attribute: (jsx_attribute [166, 22] - [166, 41]
(property_identifier [166, 22] - [166, 27])
(string [166, 28] - [166, 41]
(string_fragment [166, 29] - [166, 40])))
attribute: (jsx_attribute [167, 22] - [167, 71]
(property_identifier [167, 22] - [167, 32])
(jsx_expression [167, 33] - [167, 71]
(template_string [167, 34] - [167, 70]
(string_fragment [167, 35] - [167, 56])
(template_substitution [167, 56] - [167, 69]
(member_expression [167, 58] - [167, 68]
object: (identifier [167, 58] - [167, 63])
property: (property_identifier [167, 64] - [167, 68]))))))
attribute: (jsx_attribute [168, 22] - [168, 92]
(property_identifier [168, 22] - [168, 27])
(string [168, 28] - [168, 92]
(string_fragment [168, 29] - [168, 91])))
attribute: (jsx_attribute [169, 22] - [169, 33]
(property_identifier [169, 22] - [169, 33]))
attribute: (jsx_attribute [170, 22] - [170, 161]
(property_identifier [170, 22] - [170, 29])
(jsx_expression [170, 30] - [170, 161]
(template_string [170, 31] - [170, 160]
(string_fragment [170, 32] - [170, 113])
(template_substitution [170, 113] - [170, 126]
(member_expression [170, 115] - [170, 125]
object: (identifier [170, 115] - [170, 120])
property: (property_identifier [170, 121] - [170, 125])))
(string_fragment [170, 126] - [170, 159])))))
(jsx_text [171, 21] - [173, 20])
close_tag: (jsx_closing_element [173, 20] - [173, 29]
name: (identifier [173, 22] - [173, 28])))
(jsx_element [174, 20] - [176, 27]
open_tag: (jsx_opening_element [174, 20] - [174, 78]
name: (identifier [174, 21] - [174, 25])
attribute: (jsx_attribute [174, 26] - [174, 77]
(property_identifier [174, 26] - [174, 31])
(string [174, 32] - [174, 77]
(string_fragment [174, 33] - [174, 76]))))
(jsx_text [174, 78] - [176, 20])
close_tag: (jsx_closing_element [176, 20] - [176, 27]
name: (identifier [176, 22] - [176, 26])))
close_tag: (jsx_closing_element [177, 18] - [177, 28]
name: (identifier [177, 20] - [177, 27])))
(jsx_element [178, 18] - [190, 29]
open_tag: (jsx_opening_element [178, 18] - [184, 19]
name: (identifier [178, 19] - [178, 27])
attribute: (jsx_attribute [179, 20] - [179, 51]
(property_identifier [179, 20] - [179, 22])
(jsx_expression [179, 23] - [179, 51]
(template_string [179, 24] - [179, 50]
(string_fragment [179, 25] - [179, 38])
(template_substitution [179, 38] - [179, 49]
(member_expression [179, 40] - [179, 48]
object: (identifier [179, 40] - [179, 45])
property: (property_identifier [179, 46] - [179, 48]))))))
attribute: (jsx_attribute [180, 20] - [180, 28]
(property_identifier [180, 20] - [180, 28]))
attribute: (jsx_attribute [181, 20] - [181, 28]
(property_identifier [181, 20] - [181, 24])
(jsx_expression [181, 25] - [181, 28]
(number [181, 26] - [181, 27])))
attribute: (jsx_attribute [182, 20] - [182, 305]
(property_identifier [182, 20] - [182, 25])
(string [182, 26] - [182, 305]
(string_fragment [182, 27] - [182, 304])))
attribute: (jsx_attribute [183, 20] - [183, 43]
(property_identifier [183, 20] - [183, 27])
(string [183, 28] - [183, 43]
(string_fragment [183, 29] - [183, 42]))))
(jsx_expression [185, 20] - [189, 73]
(template_string [185, 21] - [189, 72]
(string_fragment [185, 22] - [185, 32])
(template_substitution [185, 32] - [189, 21]
(ternary_expression [186, 22] - [188, 28]
condition: (call_expression [186, 22] - [186, 43]
function: (member_expression [186, 22] - [186, 34]
object: (member_expression [186, 22] - [186, 30]
object: (identifier [186, 22] - [186, 26])
property: (property_identifier [186, 27] - [186, 30]))
property: (property_identifier [186, 31] - [186, 34]))
arguments: (arguments [186, 34] - [186, 43]
(string [186, 35] - [186, 42]
(string_fragment [186, 36] - [186, 41]))))
consequence: (template_string [187, 26] - [187, 60]
(string_fragment [187, 27] - [187, 35])
(template_substitution [187, 35] - [187, 59]
(call_expression [187, 37] - [187, 58]
function: (member_expression [187, 37] - [187, 49]
object: (member_expression [187, 37] - [187, 45]
object: (identifier [187, 37] - [187, 41])
property: (property_identifier [187, 42] - [187, 45]))
property: (property_identifier [187, 46] - [187, 49]))
arguments: (arguments [187, 49] - [187, 58]
(string [187, 50] - [187, 57]
(string_fragment [187, 51] - [187, 56]))))))
alternative: (string [188, 26] - [188, 28])))
(string_fragment [189, 21] - [189, 27])
(template_substitution [189, 27] - [189, 40]
(member_expression [189, 29] - [189, 39]
object: (identifier [189, 29] - [189, 34])
property: (property_identifier [189, 35] - [189, 39])))
(string_fragment [189, 40] - [189, 71])))
close_tag: (jsx_closing_element [190, 18] - [190, 29]
name: (identifier [190, 20] - [190, 28])))
close_tag: (jsx_closing_element [191, 16] - [191, 26]
name: (identifier [191, 18] - [191, 25])))
close_tag: (jsx_closing_element [192, 14] - [192, 20]
name: (identifier [192, 16] - [192, 19])))
(jsx_expression [194, 14] - [194, 37]
(comment [194, 15] - [194, 36]))
(jsx_element [195, 14] - [247, 20]
open_tag: (jsx_opening_element [195, 14] - [195, 46]
name: (identifier [195, 15] - [195, 18])
attribute: (jsx_attribute [195, 19] - [195, 45]
(property_identifier [195, 19] - [195, 24])
(string [195, 25] - [195, 45]
(string_fragment [195, 26] - [195, 44]))))
(jsx_element [196, 16] - [217, 22]
open_tag: (jsx_opening_element [196, 16] - [196, 112]
name: (identifier [196, 17] - [196, 20])
attribute: (jsx_attribute [196, 21] - [196, 111]
(property_identifier [196, 21] - [196, 26])
(string [196, 27] - [196, 111]
(string_fragment [196, 28] - [196, 110]))))
(jsx_element [197, 18] - [207, 27]
open_tag: (jsx_opening_element [197, 18] - [205, 19]
name: (identifier [197, 19] - [197, 25])
attribute: (jsx_attribute [198, 20] - [198, 33]
(property_identifier [198, 20] - [198, 24])
(string [198, 25] - [198, 33]
(string_fragment [198, 26] - [198, 32])))
attribute: (jsx_attribute [199, 20] - [199, 39]
(property_identifier [199, 20] - [199, 25])
(string [199, 26] - [199, 39]
(string_fragment [199, 27] - [199, 38])))
attribute: (jsx_attribute [200, 20] - [200, 69]
(property_identifier [200, 20] - [200, 30])
(jsx_expression [200, 31] - [200, 69]
(template_string [200, 32] - [200, 68]
(string_fragment [200, 33] - [200, 54])
(template_substitution [200, 54] - [200, 67]
(member_expression [200, 56] - [200, 66]
object: (identifier [200, 56] - [200, 61])
property: (property_identifier [200, 62] - [200, 66]))))))
attribute: (jsx_attribute [201, 20] - [201, 90]
(property_identifier [201, 20] - [201, 25])
(string [201, 26] - [201, 90]
(string_fragment [201, 27] - [201, 89])))
attribute: (jsx_attribute [202, 20] - [204, 25]
(property_identifier [202, 20] - [202, 27])
(jsx_expression [202, 28] - [204, 25]
(template_string [202, 29] - [204, 24]
(string_fragment [202, 30] - [202, 51])
(template_substitution [202, 51] - [202, 62]
(member_expression [202, 53] - [202, 61]
object: (identifier [202, 53] - [202, 58])
property: (property_identifier [202, 59] - [202, 61])))
(string_fragment [202, 62] - [202, 66])
(template_substitution [202, 66] - [204, 21]
(call_expression [203, 22] - [203, 53]
function: (member_expression [203, 22] - [203, 40]
object: (member_expression [203, 22] - [203, 32]
object: (identifier [203, 22] - [203, 27])
property: (property_identifier [203, 28] - [203, 32]))
property: (property_identifier [203, 33] - [203, 40]))
arguments: (arguments [203, 40] - [203, 53]
(regex [203, 41] - [203, 45]
pattern: (regex_pattern [203, 42] - [203, 43])
flags: (regex_flags [203, 44] - [203, 45]))
(string [203, 47] - [203, 52]
(escape_sequence [203, 48] - [203, 50])
(string_fragment [203, 50] - [203, 51])))))
(string_fragment [204, 21] - [204, 23])))))
(jsx_text [205, 19] - [206, 40])
(jsx_expression [206, 40] - [206, 61]
(member_expression [206, 41] - [206, 60]
object: (identifier [206, 41] - [206, 46])
property: (property_identifier [206, 47] - [206, 60])))
(jsx_text [206, 61] - [207, 18])
close_tag: (jsx_closing_element [207, 18] - [207, 27]
name: (identifier [207, 20] - [207, 26])))
(jsx_element [208, 18] - [216, 27]
open_tag: (jsx_opening_element [208, 18] - [214, 19]
name: (identifier [208, 19] - [208, 25])
attribute: (jsx_attribute [209, 20] - [209, 33]
(property_identifier [209, 20] - [209, 24])
(string [209, 25] - [209, 33]
(string_fragment [209, 26] - [209, 32])))
attribute: (jsx_attribute [210, 20] - [210, 39]
(property_identifier [210, 20] - [210, 25])
(string [210, 26] - [210, 39]
(string_fragment [210, 27] - [210, 38])))
attribute: (jsx_attribute [211, 20] - [211, 63]
(property_identifier [211, 20] - [211, 30])
(jsx_expression [211, 31] - [211, 63]
(template_string [211, 32] - [211, 62]
(string_fragment [211, 33] - [211, 48])
(template_substitution [211, 48] - [211, 61]
(member_expression [211, 50] - [211, 60]
object: (identifier [211, 50] - [211, 55])
property: (property_identifier [211, 56] - [211, 60]))))))
attribute: (jsx_attribute [212, 20] - [212, 90]
(property_identifier [212, 20] - [212, 25])
(string [212, 26] - [212, 90]
(string_fragment [212, 27] - [212, 89])))
attribute: (jsx_attribute [213, 20] - [213, 61]
(property_identifier [213, 20] - [213, 27])
(jsx_expression [213, 28] - [213, 61]
(template_string [213, 29] - [213, 60]
(string_fragment [213, 30] - [213, 43])
(template_substitution [213, 43] - [213, 54]
(member_expression [213, 45] - [213, 53]
object: (identifier [213, 45] - [213, 50])
property: (property_identifier [213, 51] - [213, 53])))
(string_fragment [213, 54] - [213, 59])))))
(jsx_text [214, 19] - [216, 18])
close_tag: (jsx_closing_element [216, 18] - [216, 27]
name: (identifier [216, 20] - [216, 26])))
close_tag: (jsx_closing_element [217, 16] - [217, 22]
name: (identifier [217, 18] - [217, 21])))
(jsx_element [218, 16] - [246, 22]
open_tag: (jsx_opening_element [218, 16] - [218, 93]
name: (identifier [218, 17] - [218, 20])
attribute: (jsx_attribute [218, 21] - [218, 92]
(property_identifier [218, 21] - [218, 26])
(string [218, 27] - [218, 92]
(string_fragment [218, 28] - [218, 91]))))
(jsx_element [219, 18] - [227, 27]
open_tag: (jsx_opening_element [219, 18] - [225, 19]
name: (identifier [219, 19] - [219, 25])
attribute: (jsx_attribute [220, 20] - [220, 33]
(property_identifier [220, 20] - [220, 24])
(string [220, 25] - [220, 33]
(string_fragment [220, 26] - [220, 32])))
attribute: (jsx_attribute [221, 20] - [221, 39]
(property_identifier [221, 20] - [221, 25])
(string [221, 26] - [221, 39]
(string_fragment [221, 27] - [221, 38])))
attribute: (jsx_attribute [222, 20] - [222, 63]
(property_identifier [222, 20] - [222, 30])
(jsx_expression [222, 31] - [222, 63]
(template_string [222, 32] - [222, 62]
(string_fragment [222, 33] - [222, 48])
(template_substitution [222, 48] - [222, 61]
(member_expression [222, 50] - [222, 60]
object: (identifier [222, 50] - [222, 55])
property: (property_identifier [222, 56] - [222, 60]))))))
attribute: (jsx_attribute [223, 20] - [223, 110]
(property_identifier [223, 20] - [223, 25])
(string [223, 26] - [223, 110]
(string_fragment [223, 27] - [223, 109])))
attribute: (jsx_attribute [224, 20] - [224, 56]
(property_identifier [224, 20] - [224, 27])
(jsx_expression [224, 28] - [224, 56]
(template_string [224, 29] - [224, 55]
(string_fragment [224, 30] - [224, 41])
(template_substitution [224, 41] - [224, 52]
(member_expression [224, 43] - [224, 51]
object: (identifier [224, 43] - [224, 48])
property: (property_identifier [224, 49] - [224, 51])))
(string_fragment [224, 52] - [224, 54])))))
(jsx_text [225, 19] - [227, 18])
close_tag: (jsx_closing_element [227, 18] - [227, 27]
name: (identifier [227, 20] - [227, 26])))
(jsx_element [228, 18] - [236, 27]
open_tag: (jsx_opening_element [228, 18] - [234, 19]
name: (identifier [228, 19] - [228, 25])
attribute: (jsx_attribute [229, 20] - [229, 33]
(property_identifier [229, 20] - [229, 24])
(string [229, 25] - [229, 33]
(string_fragment [229, 26] - [229, 32])))
attribute: (jsx_attribute [230, 20] - [230, 56]
(property_identifier [230, 20] - [230, 25])
(string [230, 26] - [230, 56]
(string_fragment [230, 27] - [230, 55])))
attribute: (jsx_attribute [231, 20] - [231, 44]
(property_identifier [231, 20] - [231, 33])
(jsx_expression [231, 34] - [231, 44]
(member_expression [231, 35] - [231, 43]
object: (identifier [231, 35] - [231, 40])
property: (property_identifier [231, 41] - [231, 43]))))
attribute: (jsx_attribute [232, 20] - [232, 78]
(property_identifier [232, 20] - [232, 30])
(jsx_expression [232, 31] - [232, 78]
(template_string [232, 32] - [232, 77]
(string_fragment [232, 33] - [232, 63])
(template_substitution [232, 63] - [232, 76]
(member_expression [232, 65] - [232, 75]
object: (identifier [232, 65] - [232, 70])
property: (property_identifier [232, 71] - [232, 75]))))))
attribute: (jsx_attribute [233, 20] - [233, 110]
(property_identifier [233, 20] - [233, 25])
(string [233, 26] - [233, 110]
(string_fragment [233, 27] - [233, 109]))))
(jsx_text [234, 19] - [236, 18])
close_tag: (jsx_closing_element [236, 18] - [236, 27]
name: (identifier [236, 20] - [236, 26])))
(jsx_element [237, 18] - [245, 27]
open_tag: (jsx_opening_element [237, 18] - [243, 19]
name: (identifier [237, 19] - [237, 25])
attribute: (jsx_attribute [238, 20] - [238, 33]
(property_identifier [238, 20] - [238, 24])
(string [238, 25] - [238, 33]
(string_fragment [238, 26] - [238, 32])))
attribute: (jsx_attribute [239, 20] - [239, 52]
(property_identifier [239, 20] - [239, 25])
(string [239, 26] - [239, 52]
(string_fragment [239, 27] - [239, 51])))
attribute: (jsx_attribute [240, 20] - [240, 44]
(property_identifier [240, 20] - [240, 33])
(jsx_expression [240, 34] - [240, 44]
(member_expression [240, 35] - [240, 43]
object: (identifier [240, 35] - [240, 40])
property: (property_identifier [240, 41] - [240, 43]))))
attribute: (jsx_attribute [241, 20] - [241, 83]
(property_identifier [241, 20] - [241, 30])
(jsx_expression [241, 31] - [241, 83]
(template_string [241, 32] - [241, 82]
(string_fragment [241, 33] - [241, 43])
(template_substitution [241, 43] - [241, 56]
(member_expression [241, 45] - [241, 55]
object: (identifier [241, 45] - [241, 50])
property: (property_identifier [241, 51] - [241, 55])))
(string_fragment [241, 56] - [241, 81]))))
attribute: (jsx_attribute [242, 20] - [242, 110]
(property_identifier [242, 20] - [242, 25])
(string [242, 26] - [242, 110]
(string_fragment [242, 27] - [242, 109]))))
(jsx_text [243, 19] - [245, 18])
close_tag: (jsx_closing_element [245, 18] - [245, 27]
name: (identifier [245, 20] - [245, 26])))
close_tag: (jsx_closing_element [246, 16] - [246, 22]
name: (identifier [246, 18] - [246, 21])))
close_tag: (jsx_closing_element [247, 14] - [247, 20]
name: (identifier [247, 16] - [247, 19])))
(jsx_expression [249, 14] - [249, 37]
(comment [249, 15] - [249, 36]))
(jsx_element [250, 14] - [299, 20]
open_tag: (jsx_opening_element [250, 14] - [250, 52]
name: (identifier [250, 15] - [250, 18])
attribute: (jsx_attribute [250, 19] - [250, 51]
(property_identifier [250, 19] - [250, 24])
(string [250, 25] - [250, 51]
(string_fragment [250, 26] - [250, 50]))))
(jsx_element [251, 16] - [278, 22]
open_tag: (jsx_opening_element [251, 16] - [251, 43]
name: (identifier [251, 17] - [251, 20])
attribute: (jsx_attribute [251, 21] - [251, 42]
(property_identifier [251, 21] - [251, 26])
(string [251, 27] - [251, 42]
(string_fragment [251, 28] - [251, 41]))))
(jsx_element [252, 18] - [261, 25]
open_tag: (jsx_opening_element [252, 18] - [256, 19]
name: (identifier [252, 19] - [252, 23])
attribute: (jsx_attribute [253, 20] - [253, 40]
(property_identifier [253, 20] - [253, 25])
(string [253, 26] - [253, 40]
(string_fragment [253, 27] - [253, 39])))
attribute: (jsx_attribute [254, 20] - [254, 31]
(property_identifier [254, 20] - [254, 31]))
attribute: (jsx_attribute [255, 20] - [255, 61]
(property_identifier [255, 20] - [255, 27])
(jsx_expression [255, 28] - [255, 61]
(template_string [255, 29] - [255, 60]
(string_fragment [255, 30] - [255, 40])
(template_substitution [255, 40] - [255, 57]
(member_expression [255, 42] - [255, 56]
object: (identifier [255, 42] - [255, 47])
property: (property_identifier [255, 48] - [255, 56])))
(string_fragment [255, 57] - [255, 59])))))
(jsx_text [256, 19] - [257, 24])
(jsx_expression [257, 24] - [257, 29]
(string [257, 25] - [257, 28]
(string_fragment [257, 26] - [257, 27])))
(jsx_element [258, 20] - [258, 80]
open_tag: (jsx_opening_element [258, 20] - [258, 57]
name: (identifier [258, 21] - [258, 25])
attribute: (jsx_attribute [258, 26] - [258, 56]
(property_identifier [258, 26] - [258, 28])
(jsx_expression [258, 29] - [258, 56]
(template_string [258, 30] - [258, 55]
(string_fragment [258, 31] - [258, 43])
(template_substitution [258, 43] - [258, 54]
(member_expression [258, 45] - [258, 53]
object: (identifier [258, 45] - [258, 50])
property: (property_identifier [258, 51] - [258, 53])))))))
(jsx_expression [258, 57] - [258, 73]
(member_expression [258, 58] - [258, 72]
object: (identifier [258, 58] - [258, 63])
property: (property_identifier [258, 64] - [258, 72])))
close_tag: (jsx_closing_element [258, 73] - [258, 80]
name: (identifier [258, 75] - [258, 79])))
(jsx_expression [259, 20] - [259, 25]
(string [259, 21] - [259, 24]
(string_fragment [259, 22] - [259, 23])))
(jsx_text [259, 25] - [261, 18])
close_tag: (jsx_closing_element [261, 18] - [261, 25]
name: (identifier [261, 20] - [261, 24])))
(jsx_element [262, 18] - [269, 25]
open_tag: (jsx_opening_element [262, 18] - [267, 19]
name: (identifier [262, 19] - [262, 23])
attribute: (jsx_attribute [263, 20] - [263, 51]
(property_identifier [263, 20] - [263, 22])
(jsx_expression [263, 23] - [263, 51]
(template_string [263, 24] - [263, 50]
(string_fragment [263, 25] - [263, 38])
(template_substitution [263, 38] - [263, 49]
(member_expression [263, 40] - [263, 48]
object: (identifier [263, 40] - [263, 45])
property: (property_identifier [263, 46] - [263, 48]))))))
attribute: (jsx_attribute [264, 20] - [264, 40]
(property_identifier [264, 20] - [264, 25])
(string [264, 26] - [264, 40]
(string_fragment [264, 27] - [264, 39])))
attribute: (jsx_attribute [265, 20] - [265, 31]
(property_identifier [265, 20] - [265, 31]))
attribute: (jsx_attribute [266, 20] - [266, 85]
(property_identifier [266, 20] - [266, 27])
(jsx_expression [266, 28] - [266, 85]
(template_string [266, 29] - [266, 84]
(string_fragment [266, 30] - [266, 68])
(template_substitution [266, 68] - [266, 81]
(member_expression [266, 70] - [266, 80]
object: (identifier [266, 70] - [266, 75])
property: (property_identifier [266, 76] - [266, 80])))
(string_fragment [266, 81] - [266, 83])))))
(jsx_text [267, 19] - [269, 18])
close_tag: (jsx_closing_element [269, 18] - [269, 25]
name: (identifier [269, 20] - [269, 24])))
(jsx_element [270, 18] - [277, 25]
open_tag: (jsx_opening_element [270, 18] - [275, 19]
name: (identifier [270, 19] - [270, 23])
attribute: (jsx_attribute [271, 20] - [271, 50]
(property_identifier [271, 20] - [271, 22])
(jsx_expression [271, 23] - [271, 50]
(template_string [271, 24] - [271, 49]
(string_fragment [271, 25] - [271, 37])
(template_substitution [271, 37] - [271, 48]
(member_expression [271, 39] - [271, 47]
object: (identifier [271, 39] - [271, 44])
property: (property_identifier [271, 45] - [271, 47]))))))
attribute: (jsx_attribute [272, 20] - [272, 40]
(property_identifier [272, 20] - [272, 25])
(string [272, 26] - [272, 40]
(string_fragment [272, 27] - [272, 39])))
attribute: (jsx_attribute [273, 20] - [273, 31]
(property_identifier [273, 20] - [273, 31]))
attribute: (jsx_attribute [274, 20] - [274, 134]
(property_identifier [274, 20] - [274, 27])
(jsx_expression [274, 28] - [274, 134]
(template_string [274, 29] - [274, 133]
(string_fragment [274, 30] - [274, 86])
(template_substitution [274, 86] - [274, 99]
(member_expression [274, 88] - [274, 98]
object: (identifier [274, 88] - [274, 93])
property: (property_identifier [274, 94] - [274, 98])))
(string_fragment [274, 99] - [274, 132])))))
(jsx_text [275, 19] - [277, 18])
close_tag: (jsx_closing_element [277, 18] - [277, 25]
name: (identifier [277, 20] - [277, 24])))
close_tag: (jsx_closing_element [278, 16] - [278, 22]
name: (identifier [278, 18] - [278, 21])))
(jsx_element [279, 16] - [298, 22]
open_tag: (jsx_opening_element [279, 16] - [279, 51]
name: (identifier [279, 17] - [279, 20])
attribute: (jsx_attribute [279, 21] - [279, 50]
(property_identifier [279, 21] - [279, 26])
(string [279, 27] - [279, 50]
(string_fragment [279, 28] - [279, 49]))))
(jsx_element [280, 18] - [289, 27]
open_tag: (jsx_opening_element [280, 18] - [287, 19]
name: (identifier [280, 19] - [280, 25])
attribute: (jsx_attribute [281, 20] - [281, 33]
(property_identifier [281, 20] - [281, 24])
(string [281, 25] - [281, 33]
(string_fragment [281, 26] - [281, 32])))
attribute: (jsx_attribute [282, 20] - [282, 39]
(property_identifier [282, 20] - [282, 25])
(string [282, 26] - [282, 39]
(string_fragment [282, 27] - [282, 38])))
attribute: (jsx_attribute [283, 20] - [283, 89]
(property_identifier [283, 20] - [283, 25])
(string [283, 26] - [283, 89]
(string_fragment [283, 27] - [283, 88])))
attribute: (jsx_attribute [284, 20] - [286, 25]
(property_identifier [284, 20] - [284, 27])
(jsx_expression [284, 28] - [286, 25]
(template_string [284, 29] - [286, 24]
(string_fragment [284, 30] - [284, 51])
(template_substitution [284, 51] - [284, 62]
(member_expression [284, 53] - [284, 61]
object: (identifier [284, 53] - [284, 58])
property: (property_identifier [284, 59] - [284, 61])))
(string_fragment [284, 62] - [284, 66])
(template_substitution [284, 66] - [286, 21]
(call_expression [285, 22] - [285, 53]
function: (member_expression [285, 22] - [285, 40]
object: (member_expression [285, 22] - [285, 32]
object: (identifier [285, 22] - [285, 27])
property: (property_identifier [285, 28] - [285, 32]))
property: (property_identifier [285, 33] - [285, 40]))
arguments: (arguments [285, 40] - [285, 53]
(regex [285, 41] - [285, 45]
pattern: (regex_pattern [285, 42] - [285, 43])
flags: (regex_flags [285, 44] - [285, 45]))
(string [285, 47] - [285, 52]
(escape_sequence [285, 48] - [285, 50])
(string_fragment [285, 50] - [285, 51])))))
(string_fragment [286, 21] - [286, 23])))))
(jsx_text [287, 19] - [288, 33])
(jsx_expression [288, 33] - [288, 54]
(member_expression [288, 34] - [288, 53]
object: (identifier [288, 34] - [288, 39])
property: (property_identifier [288, 40] - [288, 53])))
(jsx_text [288, 54] - [289, 18])
close_tag: (jsx_closing_element [289, 18] - [289, 27]
name: (identifier [289, 20] - [289, 26])))
(jsx_element [290, 18] - [297, 27]
open_tag: (jsx_opening_element [290, 18] - [295, 19]
name: (identifier [290, 19] - [290, 25])
attribute: (jsx_attribute [291, 20] - [291, 33]
(property_identifier [291, 20] - [291, 24])
(string [291, 25] - [291, 33]
(string_fragment [291, 26] - [291, 32])))
attribute: (jsx_attribute [292, 20] - [292, 56]
(property_identifier [292, 20] - [292, 25])
(string [292, 26] - [292, 56]
(string_fragment [292, 27] - [292, 55])))
attribute: (jsx_attribute [293, 20] - [293, 44]
(property_identifier [293, 20] - [293, 33])
(jsx_expression [293, 34] - [293, 44]
(member_expression [293, 35] - [293, 43]
object: (identifier [293, 35] - [293, 40])
property: (property_identifier [293, 41] - [293, 43]))))
attribute: (jsx_attribute [294, 20] - [294, 89]
(property_identifier [294, 20] - [294, 25])
(string [294, 26] - [294, 89]
(string_fragment [294, 27] - [294, 88]))))
(jsx_text [295, 19] - [297, 18])
close_tag: (jsx_closing_element [297, 18] - [297, 27]
name: (identifier [297, 20] - [297, 26])))
close_tag: (jsx_closing_element [298, 16] - [298, 22]
name: (identifier [298, 18] - [298, 21])))
close_tag: (jsx_closing_element [299, 14] - [299, 20]
name: (identifier [299, 16] - [299, 19])))
close_tag: (jsx_closing_element [300, 12] - [300, 18]
name: (identifier [300, 14] - [300, 17]))))))))))
close_tag: (jsx_closing_element [303, 6] - [303, 12]
name: (identifier [303, 8] - [303, 11])))
(jsx_expression [305, 6] - [305, 48]
(comment [305, 7] - [305, 47]))
(jsx_expression [306, 6] - [353, 8]
(binary_expression [306, 7] - [353, 7]
left: (binary_expression [306, 7] - [306, 31]
left: (member_expression [306, 7] - [306, 27]
object: (identifier [306, 7] - [306, 20])
property: (property_identifier [306, 21] - [306, 27]))
right: (number [306, 30] - [306, 31]))
right: (parenthesized_expression [306, 35] - [353, 7]
(jsx_element [307, 8] - [352, 18]
open_tag: (jsx_opening_element [307, 8] - [307, 175]
name: (identifier [307, 9] - [307, 16])
attribute: (jsx_attribute [307, 17] - [307, 174]
(property_identifier [307, 17] - [307, 22])
(string [307, 23] - [307, 174]
(string_fragment [307, 24] - [307, 173]))))
(jsx_element [308, 10] - [310, 20]
open_tag: (jsx_opening_element [308, 10] - [308, 112]
name: (identifier [308, 11] - [308, 18])
attribute: (jsx_attribute [308, 19] - [308, 111]
(property_identifier [308, 19] - [308, 24])
(string [308, 25] - [308, 111]
(string_fragment [308, 26] - [308, 110]))))
(jsx_text [308, 112] - [309, 33])
(jsx_expression [309, 33] - [309, 55]
(member_expression [309, 34] - [309, 54]
object: (identifier [309, 34] - [309, 47])
property: (property_identifier [309, 48] - [309, 54])))
(jsx_text [309, 55] - [310, 10])
close_tag: (jsx_closing_element [310, 10] - [310, 20]
name: (identifier [310, 12] - [310, 19])))
(jsx_element [311, 10] - [351, 16]
open_tag: (jsx_opening_element [311, 10] - [311, 94]
name: (identifier [311, 11] - [311, 14])
attribute: (jsx_attribute [311, 15] - [311, 93]
(property_identifier [311, 15] - [311, 20])
(string [311, 21] - [311, 93]
(string_fragment [311, 22] - [311, 92]))))
(jsx_expression [312, 12] - [350, 15]
(call_expression [312, 13] - [350, 14]
function: (member_expression [312, 13] - [312, 30]
object: (identifier [312, 13] - [312, 26])
property: (property_identifier [312, 27] - [312, 30]))
arguments: (arguments [312, 30] - [350, 14]
(arrow_function [312, 31] - [350, 13]
parameters: (formal_parameters [312, 31] - [312, 38]
(required_parameter [312, 32] - [312, 37]
pattern: (identifier [312, 32] - [312, 37])))
body: (parenthesized_expression [312, 42] - [350, 13]
(jsx_element [313, 14] - [349, 20]
open_tag: (jsx_opening_element [313, 14] - [317, 15]
name: (identifier [313, 15] - [313, 18])
attribute: (jsx_attribute [314, 16] - [314, 30]
(property_identifier [314, 16] - [314, 19])
(jsx_expression [314, 20] - [314, 30]
(member_expression [314, 21] - [314, 29]
object: (identifier [314, 21] - [314, 26])
property: (property_identifier [314, 27] - [314, 29]))))
attribute: (jsx_attribute [315, 16] - [315, 28]
(property_identifier [315, 16] - [315, 21])
(string [315, 22] - [315, 28]
(string_fragment [315, 23] - [315, 27])))
attribute: (jsx_attribute [316, 16] - [316, 213]
(property_identifier [316, 16] - [316, 21])
(string [316, 22] - [316, 213]
(string_fragment [316, 23] - [316, 212]))))
(jsx_element [318, 16] - [330, 22]
open_tag: (jsx_opening_element [318, 16] - [318, 21]
name: (identifier [318, 17] - [318, 20]))
(jsx_element [319, 18] - [324, 24]
open_tag: (jsx_opening_element [319, 18] - [319, 104]
name: (identifier [319, 19] - [319, 22])
attribute: (jsx_attribute [319, 23] - [319, 103]
(property_identifier [319, 23] - [319, 28])
(string [319, 29] - [319, 103]
(string_fragment [319, 30] - [319, 102]))))
(jsx_element [320, 20] - [322, 29]
open_tag: (jsx_opening_element [320, 20] - [320, 84]
name: (identifier [320, 21] - [320, 27])
attribute: (jsx_attribute [320, 28] - [320, 83]
(property_identifier [320, 28] - [320, 33])
(string [320, 34] - [320, 83]
(string_fragment [320, 35] - [320, 82]))))
(jsx_expression [321, 22] - [321, 34]
(member_expression [321, 23] - [321, 33]
object: (identifier [321, 23] - [321, 28])
property: (property_identifier [321, 29] - [321, 33])))
close_tag: (jsx_closing_element [322, 20] - [322, 29]
name: (identifier [322, 22] - [322, 28])))
(jsx_element [323, 20] - [323, 70]
open_tag: (jsx_opening_element [323, 20] - [323, 56]
name: (identifier [323, 21] - [323, 25])
attribute: (jsx_attribute [323, 26] - [323, 55]
(property_identifier [323, 26] - [323, 31])
(string [323, 32] - [323, 55]
(string_fragment [323, 33] - [323, 54]))))
(jsx_text [323, 56] - [323, 63])
close_tag: (jsx_closing_element [323, 63] - [323, 70]
name: (identifier [323, 65] - [323, 69])))
close_tag: (jsx_closing_element [324, 18] - [324, 24]
name: (identifier [324, 20] - [324, 23])))
(jsx_element [325, 18] - [329, 24]
open_tag: (jsx_opening_element [325, 18] - [325, 80]
name: (identifier [325, 19] - [325, 22])
attribute: (jsx_attribute [325, 23] - [325, 79]
(property_identifier [325, 23] - [325, 28])
(string [325, 29] - [325, 79]
(string_fragment [325, 30] - [325, 78]))))
(jsx_text [325, 80] - [326, 28])
(jsx_expression [326, 28] - [326, 77]
(call_expression [326, 29] - [326, 76]
function: (member_expression [326, 29] - [326, 74]
object: (new_expression [326, 29] - [326, 55]
constructor: (identifier [326, 33] - [326, 37])
arguments: (arguments [326, 37] - [326, 55]
(member_expression [326, 38] - [326, 54]
object: (identifier [326, 38] - [326, 43])
property: (property_identifier [326, 44] - [326, 54]))))
property: (property_identifier [326, 56] - [326, 74]))
arguments: (arguments [326, 74] - [326, 76])))
(jsx_text [326, 77] - [327, 20])
(jsx_expression [327, 20] - [327, 25]
(string [327, 21] - [327, 24]
(string_fragment [327, 22] - [327, 23])))
(jsx_expression [328, 20] - [328, 41]
(member_expression [328, 21] - [328, 40]
object: (identifier [328, 21] - [328, 26])
property: (property_identifier [328, 27] - [328, 40])))
(jsx_text [328, 41] - [329, 18])
close_tag: (jsx_closing_element [329, 18] - [329, 24]
name: (identifier [329, 20] - [329, 23])))
close_tag: (jsx_closing_element [330, 16] - [330, 22]
name: (identifier [330, 18] - [330, 21])))
(jsx_element [331, 16] - [348, 22]
open_tag: (jsx_opening_element [331, 16] - [331, 78]
name: (identifier [331, 17] - [331, 20])
attribute: (jsx_attribute [331, 21] - [331, 77]
(property_identifier [331, 21] - [331, 26])
(string [331, 27] - [331, 77]
(string_fragment [331, 28] - [331, 76]))))
(jsx_element [332, 18] - [339, 27]
open_tag: (jsx_opening_element [332, 18] - [337, 19]
name: (identifier [332, 19] - [332, 25])
attribute: (jsx_attribute [333, 20] - [333, 33]
(property_identifier [333, 20] - [333, 24])
(string [333, 25] - [333, 33]
(string_fragment [333, 26] - [333, 32])))
attribute: (jsx_attribute [334, 20] - [334, 56]
(property_identifier [334, 20] - [334, 25])
(string [334, 26] - [334, 56]
(string_fragment [334, 27] - [334, 55])))
attribute: (jsx_attribute [335, 20] - [335, 44]
(property_identifier [335, 20] - [335, 33])
(jsx_expression [335, 34] - [335, 44]
(member_expression [335, 35] - [335, 43]
object: (identifier [335, 35] - [335, 40])
property: (property_identifier [335, 41] - [335, 43]))))
attribute: (jsx_attribute [336, 20] - [336, 89]
(property_identifier [336, 20] - [336, 25])
(string [336, 26] - [336, 89]
(string_fragment [336, 27] - [336, 88]))))
(jsx_text [337, 19] - [339, 18])
close_tag: (jsx_closing_element [339, 18] - [339, 27]
name: (identifier [339, 20] - [339, 26])))
(jsx_element [340, 18] - [347, 27]
open_tag: (jsx_opening_element [340, 18] - [345, 19]
name: (identifier [340, 19] - [340, 25])
attribute: (jsx_attribute [341, 20] - [341, 33]
(property_identifier [341, 20] - [341, 24])
(string [341, 25] - [341, 33]
(string_fragment [341, 26] - [341, 32])))
attribute: (jsx_attribute [342, 20] - [342, 52]
(property_identifier [342, 20] - [342, 25])
(string [342, 26] - [342, 52]
(string_fragment [342, 27] - [342, 51])))
attribute: (jsx_attribute [343, 20] - [343, 44]
(property_identifier [343, 20] - [343, 33])
(jsx_expression [343, 34] - [343, 44]
(member_expression [343, 35] - [343, 43]
object: (identifier [343, 35] - [343, 40])
property: (property_identifier [343, 41] - [343, 43]))))
attribute: (jsx_attribute [344, 20] - [344, 89]
(property_identifier [344, 20] - [344, 25])
(string [344, 26] - [344, 89]
(string_fragment [344, 27] - [344, 88]))))
(jsx_text [345, 19] - [347, 18])
close_tag: (jsx_closing_element [347, 18] - [347, 27]
name: (identifier [347, 20] - [347, 26])))
close_tag: (jsx_closing_element [348, 16] - [348, 22]
name: (identifier [348, 18] - [348, 21])))
close_tag: (jsx_closing_element [349, 14] - [349, 20]
name: (identifier [349, 16] - [349, 19]))))))))
close_tag: (jsx_closing_element [351, 10] - [351, 16]
name: (identifier [351, 12] - [351, 15])))
close_tag: (jsx_closing_element [352, 8] - [352, 18]
name: (identifier [352, 10] - [352, 17]))))))
(jsx_element [355, 6] - [355, 40]
open_tag: (jsx_opening_element [355, 6] - [355, 13]
name: (identifier [355, 7] - [355, 12]))
(jsx_expression [355, 13] - [355, 32]
(identifier [355, 14] - [355, 31]))
close_tag: (jsx_closing_element [355, 32] - [355, 40]
name: (identifier [355, 34] - [355, 39])))
close_tag: (jsx_closing_element [356, 4] - [356, 10]
name: (identifier [356, 6] - [356, 9])))))))))))