(program [0, 0] - [123, 0] (import_statement [0, 0] - [0, 68] (import_clause [0, 7] - [0, 30] (named_imports [0, 7] - [0, 30] (import_specifier [0, 9] - [0, 28] name: (identifier [0, 9] - [0, 28])))) source: (string [0, 36] - [0, 67] (string_fragment [0, 37] - [0, 66]))) (export_statement [2, 0] - [122, 2] declaration: (lexical_declaration [2, 7] - [122, 2] (variable_declarator [2, 13] - [122, 1] name: (identifier [2, 13] - [2, 31]) value: (arrow_function [2, 34] - [122, 1] parameters: (formal_parameters [2, 34] - [6, 2] (required_parameter [2, 35] - [6, 1] pattern: (object_pattern [2, 35] - [4, 1] (object_assignment_pattern [3, 2] - [3, 16] left: (shorthand_property_identifier_pattern [3, 2] - [3, 11]) right: (array [3, 14] - [3, 16]))) type: (type_annotation [4, 1] - [6, 1] (object_type [4, 3] - [6, 1] (property_signature [5, 2] - [5, 19] name: (property_identifier [5, 2] - [5, 11]) type: (type_annotation [5, 12] - [5, 19] (array_type [5, 14] - [5, 19] (predefined_type [5, 14] - [5, 17])))))))) body: (statement_block [6, 6] - [122, 1] (return_statement [7, 2] - [121, 4] (parenthesized_expression [7, 9] - [121, 3] (jsx_element [8, 4] - [120, 26] open_tag: (jsx_opening_element [8, 4] - [11, 5] name: (identifier [8, 5] - [8, 24]) attribute: (jsx_attribute [9, 6] - [9, 31] (property_identifier [9, 6] - [9, 11]) (string [9, 12] - [9, 31] (string_fragment [9, 13] - [9, 30]))) attribute: (jsx_attribute [10, 6] - [10, 33] (property_identifier [10, 6] - [10, 17]) (string [10, 18] - [10, 33] (string_fragment [10, 19] - [10, 32])))) (jsx_element [12, 6] - [20, 12] open_tag: (jsx_opening_element [12, 6] - [12, 42] name: (identifier [12, 7] - [12, 10]) attribute: (jsx_attribute [12, 11] - [12, 41] (property_identifier [12, 11] - [12, 16]) (string [12, 17] - [12, 41] (string_fragment [12, 18] - [12, 40])))) (jsx_element [13, 8] - [15, 13] open_tag: (jsx_opening_element [13, 8] - [13, 108] name: (identifier [13, 9] - [13, 11]) attribute: (jsx_attribute [13, 12] - [13, 107] (property_identifier [13, 12] - [13, 17]) (string [13, 18] - [13, 107] (string_fragment [13, 19] - [13, 106])))) (jsx_text [13, 108] - [15, 8]) close_tag: (jsx_closing_element [15, 8] - [15, 13] name: (identifier [15, 10] - [15, 12]))) (jsx_element [16, 8] - [19, 12] open_tag: (jsx_opening_element [16, 8] - [16, 80] name: (identifier [16, 9] - [16, 10]) attribute: (jsx_attribute [16, 11] - [16, 79] (property_identifier [16, 11] - [16, 16]) (string [16, 17] - [16, 79] (string_fragment [16, 18] - [16, 78])))) (jsx_text [16, 80] - [19, 8]) close_tag: (jsx_closing_element [19, 8] - [19, 12] name: (identifier [19, 10] - [19, 11]))) close_tag: (jsx_closing_element [20, 6] - [20, 12] name: (identifier [20, 8] - [20, 11]))) (jsx_element [22, 6] - [64, 12] open_tag: (jsx_opening_element [22, 6] - [22, 55] name: (identifier [22, 7] - [22, 10]) attribute: (jsx_attribute [22, 11] - [22, 23] (property_identifier [22, 11] - [22, 16]) (string [22, 17] - [22, 23] (string_fragment [22, 18] - [22, 22]))) attribute: (jsx_attribute [22, 24] - [22, 54] (property_identifier [22, 24] - [22, 29]) (string [22, 30] - [22, 54] (string_fragment [22, 31] - [22, 53])))) (jsx_element [23, 8] - [25, 13] open_tag: (jsx_opening_element [23, 8] - [23, 68] name: (identifier [23, 9] - [23, 11]) attribute: (jsx_attribute [23, 12] - [23, 67] (property_identifier [23, 12] - [23, 17]) (string [23, 18] - [23, 67] (string_fragment [23, 19] - [23, 66])))) (jsx_text [23, 68] - [25, 8]) close_tag: (jsx_closing_element [25, 8] - [25, 13] name: (identifier [25, 10] - [25, 12]))) (jsx_element [26, 8] - [63, 15] open_tag: (jsx_opening_element [26, 8] - [30, 9] name: (identifier [26, 9] - [26, 13]) attribute: (jsx_attribute [27, 10] - [27, 30] (property_identifier [27, 10] - [27, 12]) (string [27, 13] - [27, 30] (string_fragment [27, 14] - [27, 29]))) attribute: (jsx_attribute [28, 10] - [28, 43] (property_identifier [28, 10] - [28, 18]) (string [28, 19] - [28, 43] (string_fragment [28, 20] - [28, 42]))) attribute: (jsx_attribute [29, 10] - [29, 83] (property_identifier [29, 10] - [29, 15]) (string [29, 16] - [29, 83] (string_fragment [29, 17] - [29, 82])))) (jsx_element [31, 10] - [42, 16] open_tag: (jsx_opening_element [31, 10] - [31, 50] name: (identifier [31, 11] - [31, 14]) attribute: (jsx_attribute [31, 15] - [31, 49] (property_identifier [31, 15] - [31, 20]) (string [31, 21] - [31, 49] (string_fragment [31, 22] - [31, 48])))) (jsx_element [32, 12] - [34, 20] open_tag: (jsx_opening_element [32, 12] - [32, 135] name: (identifier [32, 13] - [32, 18]) attribute: (jsx_attribute [32, 19] - [32, 134] (property_identifier [32, 19] - [32, 24]) (string [32, 25] - [32, 134] (string_fragment [32, 26] - [32, 133])))) (jsx_text [32, 135] - [34, 12]) close_tag: (jsx_closing_element [34, 12] - [34, 20] name: (identifier [34, 14] - [34, 19]))) (jsx_self_closing_element [35, 12] - [41, 14] name: (identifier [35, 13] - [35, 18]) attribute: (jsx_attribute [36, 14] - [36, 25] (property_identifier [36, 14] - [36, 18]) (string [36, 19] - [36, 25] (string_fragment [36, 20] - [36, 24]))) attribute: (jsx_attribute [37, 14] - [37, 30] (property_identifier [37, 14] - [37, 16]) (string [37, 17] - [37, 30] (string_fragment [37, 18] - [37, 29]))) attribute: (jsx_attribute [38, 14] - [38, 64] (property_identifier [38, 14] - [38, 25]) (string [38, 26] - [38, 64] (string_fragment [38, 27] - [38, 63]))) attribute: (jsx_attribute [39, 14] - [39, 22] (property_identifier [39, 14] - [39, 22])) attribute: (jsx_attribute [40, 14] - [40, 58] (property_identifier [40, 14] - [40, 19]) (string [40, 20] - [40, 58] (string_fragment [40, 21] - [40, 57])))) close_tag: (jsx_closing_element [42, 10] - [42, 16] name: (identifier [42, 12] - [42, 15]))) (jsx_element [43, 10] - [53, 16] open_tag: (jsx_opening_element [43, 10] - [43, 50] name: (identifier [43, 11] - [43, 14]) attribute: (jsx_attribute [43, 15] - [43, 49] (property_identifier [43, 15] - [43, 20]) (string [43, 21] - [43, 49] (string_fragment [43, 22] - [43, 48])))) (jsx_element [44, 12] - [46, 20] open_tag: (jsx_opening_element [44, 12] - [44, 135] name: (identifier [44, 13] - [44, 18]) attribute: (jsx_attribute [44, 19] - [44, 134] (property_identifier [44, 19] - [44, 24]) (string [44, 25] - [44, 134] (string_fragment [44, 26] - [44, 133])))) (jsx_text [44, 135] - [46, 12]) close_tag: (jsx_closing_element [46, 12] - [46, 20] name: (identifier [46, 14] - [46, 19]))) (jsx_self_closing_element [47, 12] - [52, 14] name: (identifier [47, 13] - [47, 18]) attribute: (jsx_attribute [48, 14] - [48, 25] (property_identifier [48, 14] - [48, 18]) (string [48, 19] - [48, 25] (string_fragment [48, 20] - [48, 24]))) attribute: (jsx_attribute [49, 14] - [49, 34] (property_identifier [49, 14] - [49, 16]) (string [49, 17] - [49, 34] (string_fragment [49, 18] - [49, 33]))) attribute: (jsx_attribute [50, 14] - [50, 56] (property_identifier [50, 14] - [50, 25]) (string [50, 26] - [50, 56] (string_fragment [50, 27] - [50, 55]))) attribute: (jsx_attribute [51, 14] - [51, 34] (property_identifier [51, 14] - [51, 19]) (string [51, 20] - [51, 34] (string_fragment [51, 21] - [51, 33])))) close_tag: (jsx_closing_element [53, 10] - [53, 16] name: (identifier [53, 12] - [53, 15]))) (jsx_element [54, 10] - [62, 16] open_tag: (jsx_opening_element [54, 10] - [54, 15] name: (identifier [54, 11] - [54, 14])) (jsx_element [55, 12] - [61, 21] open_tag: (jsx_opening_element [55, 12] - [59, 13] name: (identifier [55, 13] - [55, 19]) attribute: (jsx_attribute [56, 14] - [56, 27] (property_identifier [56, 14] - [56, 18]) (string [56, 19] - [56, 27] (string_fragment [56, 20] - [56, 26]))) attribute: (jsx_attribute [57, 14] - [57, 33] (property_identifier [57, 14] - [57, 19]) (string [57, 20] - [57, 33] (string_fragment [57, 21] - [57, 32]))) attribute: (jsx_attribute [58, 14] - [58, 39] (property_identifier [58, 14] - [58, 19]) (string [58, 20] - [58, 39] (string_fragment [58, 21] - [58, 38])))) (jsx_text [59, 13] - [61, 12]) close_tag: (jsx_closing_element [61, 12] - [61, 21] name: (identifier [61, 14] - [61, 20]))) close_tag: (jsx_closing_element [62, 10] - [62, 16] name: (identifier [62, 12] - [62, 15]))) close_tag: (jsx_closing_element [63, 8] - [63, 15] name: (identifier [63, 10] - [63, 14]))) close_tag: (jsx_closing_element [64, 6] - [64, 12] name: (identifier [64, 8] - [64, 11]))) (jsx_element [66, 6] - [118, 12] open_tag: (jsx_opening_element [66, 6] - [66, 24] name: (identifier [66, 7] - [66, 10]) attribute: (jsx_attribute [66, 11] - [66, 23] (property_identifier [66, 11] - [66, 16]) (string [66, 17] - [66, 23] (string_fragment [66, 18] - [66, 22])))) (jsx_element [67, 8] - [117, 14] open_tag: (jsx_opening_element [67, 8] - [67, 37] name: (identifier [67, 9] - [67, 12]) attribute: (jsx_attribute [67, 13] - [67, 36] (property_identifier [67, 13] - [67, 18]) (string [67, 19] - [67, 36] (string_fragment [67, 20] - [67, 35])))) (jsx_element [68, 10] - [116, 18] open_tag: (jsx_opening_element [68, 10] - [68, 17] name: (identifier [68, 11] - [68, 16])) (jsx_element [69, 12] - [76, 20] open_tag: (jsx_opening_element [69, 12] - [69, 19] name: (identifier [69, 13] - [69, 18])) (jsx_element [70, 14] - [75, 19] open_tag: (jsx_opening_element [70, 14] - [70, 18] name: (identifier [70, 15] - [70, 17])) (jsx_element [71, 16] - [71, 31] open_tag: (jsx_opening_element [71, 16] - [71, 20] name: (identifier [71, 17] - [71, 19])) (jsx_text [71, 20] - [71, 26]) close_tag: (jsx_closing_element [71, 26] - [71, 31] name: (identifier [71, 28] - [71, 30]))) (jsx_element [72, 16] - [72, 36] open_tag: (jsx_opening_element [72, 16] - [72, 20] name: (identifier [72, 17] - [72, 19])) (jsx_text [72, 20] - [72, 31]) close_tag: (jsx_closing_element [72, 31] - [72, 36] name: (identifier [72, 33] - [72, 35]))) (jsx_element [73, 16] - [73, 33] open_tag: (jsx_opening_element [73, 16] - [73, 20] name: (identifier [73, 17] - [73, 19])) (jsx_text [73, 20] - [73, 28]) close_tag: (jsx_closing_element [73, 28] - [73, 33] name: (identifier [73, 30] - [73, 32]))) (jsx_element [74, 16] - [74, 32] open_tag: (jsx_opening_element [74, 16] - [74, 20] name: (identifier [74, 17] - [74, 19])) (jsx_text [74, 20] - [74, 27]) close_tag: (jsx_closing_element [74, 27] - [74, 32] name: (identifier [74, 29] - [74, 31]))) close_tag: (jsx_closing_element [75, 14] - [75, 19] name: (identifier [75, 16] - [75, 18]))) close_tag: (jsx_closing_element [76, 12] - [76, 20] name: (identifier [76, 14] - [76, 19]))) (jsx_element [77, 12] - [115, 20] open_tag: (jsx_opening_element [77, 12] - [77, 19] name: (identifier [77, 13] - [77, 18])) (jsx_expression [78, 14] - [114, 18] (ternary_expression [78, 15] - [114, 17] condition: (binary_expression [78, 15] - [78, 37] left: (member_expression [78, 15] - [78, 31] object: (identifier [78, 15] - [78, 24]) property: (property_identifier [78, 25] - [78, 31])) right: (number [78, 36] - [78, 37])) consequence: (parenthesized_expression [79, 18] - [89, 17] (jsx_element [80, 18] - [88, 23] open_tag: (jsx_opening_element [80, 18] - [80, 22] name: (identifier [80, 19] - [80, 21])) (jsx_element [81, 20] - [87, 25] open_tag: (jsx_opening_element [81, 20] - [84, 21] name: (identifier [81, 21] - [81, 23]) attribute: (jsx_attribute [82, 22] - [82, 33] (property_identifier [82, 22] - [82, 29]) (jsx_expression [82, 30] - [82, 33] (number [82, 31] - [82, 32]))) attribute: (jsx_attribute [83, 22] - [83, 90] (property_identifier [83, 22] - [83, 27]) (string [83, 28] - [83, 90] (string_fragment [83, 29] - [83, 89])))) (jsx_text [84, 21] - [87, 20]) close_tag: (jsx_closing_element [87, 20] - [87, 25] name: (identifier [87, 22] - [87, 24]))) close_tag: (jsx_closing_element [88, 18] - [88, 23] name: (identifier [88, 20] - [88, 22])))) alternative: (parenthesized_expression [90, 18] - [114, 17] (call_expression [91, 18] - [113, 20] function: (member_expression [91, 18] - [91, 31] object: (identifier [91, 18] - [91, 27]) property: (property_identifier [91, 28] - [91, 31])) arguments: (arguments [91, 31] - [113, 20] (arrow_function [91, 32] - [113, 19] parameters: (formal_parameters [91, 32] - [91, 43] (required_parameter [91, 33] - [91, 42] pattern: (identifier [91, 33] - [91, 37]) type: (type_annotation [91, 37] - [91, 42] (predefined_type [91, 39] - [91, 42])))) body: (parenthesized_expression [91, 47] - [113, 19] (jsx_element [92, 20] - [112, 25] open_tag: (jsx_opening_element [92, 20] - [92, 38] name: (identifier [92, 21] - [92, 23]) attribute: (jsx_attribute [92, 24] - [92, 37] (property_identifier [92, 24] - [92, 27]) (jsx_expression [92, 28] - [92, 37] (member_expression [92, 29] - [92, 36] object: (identifier [92, 29] - [92, 33]) property: (property_identifier [92, 34] - [92, 36]))))) (jsx_element [93, 22] - [97, 27] open_tag: (jsx_opening_element [93, 22] - [93, 26] name: (identifier [93, 23] - [93, 25])) (jsx_element [94, 24] - [96, 31] open_tag: (jsx_opening_element [94, 24] - [94, 154] name: (identifier [94, 25] - [94, 29]) attribute: (jsx_attribute [94, 30] - [94, 153] (property_identifier [94, 30] - [94, 35]) (string [94, 36] - [94, 153] (string_fragment [94, 37] - [94, 152])))) (jsx_expression [95, 26] - [95, 39] (member_expression [95, 27] - [95, 38] object: (identifier [95, 27] - [95, 31]) property: (property_identifier [95, 32] - [95, 38]))) close_tag: (jsx_closing_element [96, 24] - [96, 31] name: (identifier [96, 26] - [96, 30]))) close_tag: (jsx_closing_element [97, 22] - [97, 27] name: (identifier [97, 24] - [97, 26]))) (jsx_element [98, 22] - [98, 56] open_tag: (jsx_opening_element [98, 22] - [98, 26] name: (identifier [98, 23] - [98, 25])) (jsx_expression [98, 26] - [98, 51] (binary_expression [98, 27] - [98, 50] left: (member_expression [98, 27] - [98, 43] object: (identifier [98, 27] - [98, 31]) property: (property_identifier [98, 32] - [98, 43])) right: (string [98, 47] - [98, 50] (string_fragment [98, 48] - [98, 49])))) close_tag: (jsx_closing_element [98, 51] - [98, 56] name: (identifier [98, 53] - [98, 55]))) (jsx_element [99, 22] - [101, 27] open_tag: (jsx_opening_element [99, 22] - [99, 84] name: (identifier [99, 23] - [99, 25]) attribute: (jsx_attribute [99, 26] - [99, 83] (property_identifier [99, 26] - [99, 31]) (string [99, 32] - [99, 83] (string_fragment [99, 33] - [99, 82])))) (jsx_expression [100, 24] - [100, 72] (call_expression [100, 25] - [100, 71] function: (member_expression [100, 25] - [100, 69] object: (new_expression [100, 25] - [100, 50] constructor: (identifier [100, 29] - [100, 33]) arguments: (arguments [100, 33] - [100, 50] (member_expression [100, 34] - [100, 49] object: (identifier [100, 34] - [100, 38]) property: (property_identifier [100, 39] - [100, 49])))) property: (property_identifier [100, 51] - [100, 69])) arguments: (arguments [100, 69] - [100, 71]))) close_tag: (jsx_closing_element [101, 22] - [101, 27] name: (identifier [101, 24] - [101, 26]))) (jsx_element [102, 22] - [111, 27] open_tag: (jsx_opening_element [102, 22] - [102, 26] name: (identifier [102, 23] - [102, 25])) (jsx_element [103, 24] - [110, 33] open_tag: (jsx_opening_element [103, 24] - [108, 25] name: (identifier [103, 25] - [103, 31]) attribute: (jsx_attribute [104, 26] - [104, 39] (property_identifier [104, 26] - [104, 30]) (string [104, 31] - [104, 39] (string_fragment [104, 32] - [104, 38]))) attribute: (jsx_attribute [105, 26] - [105, 44] (property_identifier [105, 26] - [105, 31]) (string [105, 32] - [105, 44] (string_fragment [105, 33] - [105, 43]))) attribute: (jsx_attribute [106, 26] - [106, 96] (property_identifier [106, 26] - [106, 31]) (string [106, 32] - [106, 96] (string_fragment [106, 33] - [106, 95]))) attribute: (jsx_attribute [107, 26] - [107, 64] (property_identifier [107, 26] - [107, 33]) (jsx_expression [107, 34] - [107, 64] (template_string [107, 35] - [107, 63] (string_fragment [107, 36] - [107, 50]) (template_substitution [107, 50] - [107, 60] (member_expression [107, 52] - [107, 59] object: (identifier [107, 52] - [107, 56]) property: (property_identifier [107, 57] - [107, 59]))) (string_fragment [107, 60] - [107, 62]))))) (jsx_text [108, 25] - [110, 24]) close_tag: (jsx_closing_element [110, 24] - [110, 33] name: (identifier [110, 26] - [110, 32]))) close_tag: (jsx_closing_element [111, 22] - [111, 27] name: (identifier [111, 24] - [111, 26]))) close_tag: (jsx_closing_element [112, 20] - [112, 25] name: (identifier [112, 22] - [112, 24])))))))))) close_tag: (jsx_closing_element [115, 12] - [115, 20] name: (identifier [115, 14] - [115, 19]))) close_tag: (jsx_closing_element [116, 10] - [116, 18] name: (identifier [116, 12] - [116, 17]))) close_tag: (jsx_closing_element [117, 8] - [117, 14] name: (identifier [117, 10] - [117, 13]))) close_tag: (jsx_closing_element [118, 6] - [118, 12] name: (identifier [118, 8] - [118, 11]))) (jsx_element [119, 6] - [119, 54] open_tag: (jsx_opening_element [119, 6] - [119, 45] name: (identifier [119, 7] - [119, 13]) attribute: (jsx_attribute [119, 14] - [119, 44] (property_identifier [119, 14] - [119, 17]) (string [119, 18] - [119, 44] (string_fragment [119, 19] - [119, 43])))) close_tag: (jsx_closing_element [119, 45] - [119, 54] name: (identifier [119, 47] - [119, 53]))) close_tag: (jsx_closing_element [120, 4] - [120, 26] name: (identifier [120, 6] - [120, 25])))))))))))