13af6ab5fSopenharmony_ci{
23af6ab5fSopenharmony_ci  "type": "Program",
33af6ab5fSopenharmony_ci  "statements": [
43af6ab5fSopenharmony_ci    {
53af6ab5fSopenharmony_ci      "type": "FunctionDeclaration",
63af6ab5fSopenharmony_ci      "function": {
73af6ab5fSopenharmony_ci        "type": "ScriptFunction",
83af6ab5fSopenharmony_ci        "id": {
93af6ab5fSopenharmony_ci          "type": "Identifier",
103af6ab5fSopenharmony_ci          "name": "func1",
113af6ab5fSopenharmony_ci          "loc": {
123af6ab5fSopenharmony_ci            "start": {
133af6ab5fSopenharmony_ci              "line": 17,
143af6ab5fSopenharmony_ci              "column": 10
153af6ab5fSopenharmony_ci            },
163af6ab5fSopenharmony_ci            "end": {
173af6ab5fSopenharmony_ci              "line": 17,
183af6ab5fSopenharmony_ci              "column": 15
193af6ab5fSopenharmony_ci            }
203af6ab5fSopenharmony_ci          }
213af6ab5fSopenharmony_ci        },
223af6ab5fSopenharmony_ci        "generator": false,
233af6ab5fSopenharmony_ci        "async": false,
243af6ab5fSopenharmony_ci        "expression": false,
253af6ab5fSopenharmony_ci        "params": [
263af6ab5fSopenharmony_ci          {
273af6ab5fSopenharmony_ci            "type": "Identifier",
283af6ab5fSopenharmony_ci            "name": "arg",
293af6ab5fSopenharmony_ci            "typeAnnotation": {
303af6ab5fSopenharmony_ci              "type": "TSTypeReference",
313af6ab5fSopenharmony_ci              "typeName": {
323af6ab5fSopenharmony_ci                "type": "Identifier",
333af6ab5fSopenharmony_ci                "name": "Type",
343af6ab5fSopenharmony_ci                "loc": {
353af6ab5fSopenharmony_ci                  "start": {
363af6ab5fSopenharmony_ci                    "line": 17,
373af6ab5fSopenharmony_ci                    "column": 59
383af6ab5fSopenharmony_ci                  },
393af6ab5fSopenharmony_ci                  "end": {
403af6ab5fSopenharmony_ci                    "line": 17,
413af6ab5fSopenharmony_ci                    "column": 63
423af6ab5fSopenharmony_ci                  }
433af6ab5fSopenharmony_ci                }
443af6ab5fSopenharmony_ci              },
453af6ab5fSopenharmony_ci              "loc": {
463af6ab5fSopenharmony_ci                "start": {
473af6ab5fSopenharmony_ci                  "line": 17,
483af6ab5fSopenharmony_ci                  "column": 59
493af6ab5fSopenharmony_ci                },
503af6ab5fSopenharmony_ci                "end": {
513af6ab5fSopenharmony_ci                  "line": 17,
523af6ab5fSopenharmony_ci                  "column": 63
533af6ab5fSopenharmony_ci                }
543af6ab5fSopenharmony_ci              }
553af6ab5fSopenharmony_ci            },
563af6ab5fSopenharmony_ci            "loc": {
573af6ab5fSopenharmony_ci              "start": {
583af6ab5fSopenharmony_ci                "line": 17,
593af6ab5fSopenharmony_ci                "column": 54
603af6ab5fSopenharmony_ci              },
613af6ab5fSopenharmony_ci              "end": {
623af6ab5fSopenharmony_ci                "line": 17,
633af6ab5fSopenharmony_ci                "column": 57
643af6ab5fSopenharmony_ci              }
653af6ab5fSopenharmony_ci            }
663af6ab5fSopenharmony_ci          }
673af6ab5fSopenharmony_ci        ],
683af6ab5fSopenharmony_ci        "returnType": {
693af6ab5fSopenharmony_ci          "type": "TSTypeReference",
703af6ab5fSopenharmony_ci          "typeName": {
713af6ab5fSopenharmony_ci            "type": "Identifier",
723af6ab5fSopenharmony_ci            "name": "Type",
733af6ab5fSopenharmony_ci            "loc": {
743af6ab5fSopenharmony_ci              "start": {
753af6ab5fSopenharmony_ci                "line": 17,
763af6ab5fSopenharmony_ci                "column": 66
773af6ab5fSopenharmony_ci              },
783af6ab5fSopenharmony_ci              "end": {
793af6ab5fSopenharmony_ci                "line": 17,
803af6ab5fSopenharmony_ci                "column": 70
813af6ab5fSopenharmony_ci              }
823af6ab5fSopenharmony_ci            }
833af6ab5fSopenharmony_ci          },
843af6ab5fSopenharmony_ci          "loc": {
853af6ab5fSopenharmony_ci            "start": {
863af6ab5fSopenharmony_ci              "line": 17,
873af6ab5fSopenharmony_ci              "column": 66
883af6ab5fSopenharmony_ci            },
893af6ab5fSopenharmony_ci            "end": {
903af6ab5fSopenharmony_ci              "line": 17,
913af6ab5fSopenharmony_ci              "column": 70
923af6ab5fSopenharmony_ci            }
933af6ab5fSopenharmony_ci          }
943af6ab5fSopenharmony_ci        },
953af6ab5fSopenharmony_ci        "typeParameters": {
963af6ab5fSopenharmony_ci          "type": "TSTypeParameterDeclaration",
973af6ab5fSopenharmony_ci          "params": [
983af6ab5fSopenharmony_ci            {
993af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
1003af6ab5fSopenharmony_ci              "name": {
1013af6ab5fSopenharmony_ci                "type": "Identifier",
1023af6ab5fSopenharmony_ci                "name": "Type",
1033af6ab5fSopenharmony_ci                "loc": {
1043af6ab5fSopenharmony_ci                  "start": {
1053af6ab5fSopenharmony_ci                    "line": 17,
1063af6ab5fSopenharmony_ci                    "column": 16
1073af6ab5fSopenharmony_ci                  },
1083af6ab5fSopenharmony_ci                  "end": {
1093af6ab5fSopenharmony_ci                    "line": 17,
1103af6ab5fSopenharmony_ci                    "column": 20
1113af6ab5fSopenharmony_ci                  }
1123af6ab5fSopenharmony_ci                }
1133af6ab5fSopenharmony_ci              },
1143af6ab5fSopenharmony_ci              "in": false,
1153af6ab5fSopenharmony_ci              "out": false,
1163af6ab5fSopenharmony_ci              "loc": {
1173af6ab5fSopenharmony_ci                "start": {
1183af6ab5fSopenharmony_ci                  "line": 17,
1193af6ab5fSopenharmony_ci                  "column": 16
1203af6ab5fSopenharmony_ci                },
1213af6ab5fSopenharmony_ci                "end": {
1223af6ab5fSopenharmony_ci                  "line": 17,
1233af6ab5fSopenharmony_ci                  "column": 21
1243af6ab5fSopenharmony_ci                }
1253af6ab5fSopenharmony_ci              }
1263af6ab5fSopenharmony_ci            },
1273af6ab5fSopenharmony_ci            {
1283af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
1293af6ab5fSopenharmony_ci              "name": {
1303af6ab5fSopenharmony_ci                "type": "Identifier",
1313af6ab5fSopenharmony_ci                "name": "A",
1323af6ab5fSopenharmony_ci                "loc": {
1333af6ab5fSopenharmony_ci                  "start": {
1343af6ab5fSopenharmony_ci                    "line": 17,
1353af6ab5fSopenharmony_ci                    "column": 22
1363af6ab5fSopenharmony_ci                  },
1373af6ab5fSopenharmony_ci                  "end": {
1383af6ab5fSopenharmony_ci                    "line": 17,
1393af6ab5fSopenharmony_ci                    "column": 23
1403af6ab5fSopenharmony_ci                  }
1413af6ab5fSopenharmony_ci                }
1423af6ab5fSopenharmony_ci              },
1433af6ab5fSopenharmony_ci              "in": false,
1443af6ab5fSopenharmony_ci              "out": false,
1453af6ab5fSopenharmony_ci              "loc": {
1463af6ab5fSopenharmony_ci                "start": {
1473af6ab5fSopenharmony_ci                  "line": 17,
1483af6ab5fSopenharmony_ci                  "column": 22
1493af6ab5fSopenharmony_ci                },
1503af6ab5fSopenharmony_ci                "end": {
1513af6ab5fSopenharmony_ci                  "line": 17,
1523af6ab5fSopenharmony_ci                  "column": 24
1533af6ab5fSopenharmony_ci                }
1543af6ab5fSopenharmony_ci              }
1553af6ab5fSopenharmony_ci            },
1563af6ab5fSopenharmony_ci            {
1573af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
1583af6ab5fSopenharmony_ci              "name": {
1593af6ab5fSopenharmony_ci                "type": "Identifier",
1603af6ab5fSopenharmony_ci                "name": "B",
1613af6ab5fSopenharmony_ci                "loc": {
1623af6ab5fSopenharmony_ci                  "start": {
1633af6ab5fSopenharmony_ci                    "line": 17,
1643af6ab5fSopenharmony_ci                    "column": 25
1653af6ab5fSopenharmony_ci                  },
1663af6ab5fSopenharmony_ci                  "end": {
1673af6ab5fSopenharmony_ci                    "line": 17,
1683af6ab5fSopenharmony_ci                    "column": 26
1693af6ab5fSopenharmony_ci                  }
1703af6ab5fSopenharmony_ci                }
1713af6ab5fSopenharmony_ci              },
1723af6ab5fSopenharmony_ci              "constraint": {
1733af6ab5fSopenharmony_ci                "type": "TSTypeOperator",
1743af6ab5fSopenharmony_ci                "operator": "readonly",
1753af6ab5fSopenharmony_ci                "typeAnnotation": {
1763af6ab5fSopenharmony_ci                  "type": "TSArrayType",
1773af6ab5fSopenharmony_ci                  "elementType": {
1783af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
1793af6ab5fSopenharmony_ci                    "loc": {
1803af6ab5fSopenharmony_ci                      "start": {
1813af6ab5fSopenharmony_ci                        "line": 17,
1823af6ab5fSopenharmony_ci                        "column": 44
1833af6ab5fSopenharmony_ci                      },
1843af6ab5fSopenharmony_ci                      "end": {
1853af6ab5fSopenharmony_ci                        "line": 17,
1863af6ab5fSopenharmony_ci                        "column": 50
1873af6ab5fSopenharmony_ci                      }
1883af6ab5fSopenharmony_ci                    }
1893af6ab5fSopenharmony_ci                  },
1903af6ab5fSopenharmony_ci                  "loc": {
1913af6ab5fSopenharmony_ci                    "start": {
1923af6ab5fSopenharmony_ci                      "line": 17,
1933af6ab5fSopenharmony_ci                      "column": 44
1943af6ab5fSopenharmony_ci                    },
1953af6ab5fSopenharmony_ci                    "end": {
1963af6ab5fSopenharmony_ci                      "line": 17,
1973af6ab5fSopenharmony_ci                      "column": 52
1983af6ab5fSopenharmony_ci                    }
1993af6ab5fSopenharmony_ci                  }
2003af6ab5fSopenharmony_ci                },
2013af6ab5fSopenharmony_ci                "loc": {
2023af6ab5fSopenharmony_ci                  "start": {
2033af6ab5fSopenharmony_ci                    "line": 17,
2043af6ab5fSopenharmony_ci                    "column": 35
2053af6ab5fSopenharmony_ci                  },
2063af6ab5fSopenharmony_ci                  "end": {
2073af6ab5fSopenharmony_ci                    "line": 17,
2083af6ab5fSopenharmony_ci                    "column": 52
2093af6ab5fSopenharmony_ci                  }
2103af6ab5fSopenharmony_ci                }
2113af6ab5fSopenharmony_ci              },
2123af6ab5fSopenharmony_ci              "in": false,
2133af6ab5fSopenharmony_ci              "out": false,
2143af6ab5fSopenharmony_ci              "loc": {
2153af6ab5fSopenharmony_ci                "start": {
2163af6ab5fSopenharmony_ci                  "line": 17,
2173af6ab5fSopenharmony_ci                  "column": 25
2183af6ab5fSopenharmony_ci                },
2193af6ab5fSopenharmony_ci                "end": {
2203af6ab5fSopenharmony_ci                  "line": 17,
2213af6ab5fSopenharmony_ci                  "column": 53
2223af6ab5fSopenharmony_ci                }
2233af6ab5fSopenharmony_ci              }
2243af6ab5fSopenharmony_ci            }
2253af6ab5fSopenharmony_ci          ],
2263af6ab5fSopenharmony_ci          "loc": {
2273af6ab5fSopenharmony_ci            "start": {
2283af6ab5fSopenharmony_ci              "line": 17,
2293af6ab5fSopenharmony_ci              "column": 15
2303af6ab5fSopenharmony_ci            },
2313af6ab5fSopenharmony_ci            "end": {
2323af6ab5fSopenharmony_ci              "line": 17,
2333af6ab5fSopenharmony_ci              "column": 53
2343af6ab5fSopenharmony_ci            }
2353af6ab5fSopenharmony_ci          }
2363af6ab5fSopenharmony_ci        },
2373af6ab5fSopenharmony_ci        "body": {
2383af6ab5fSopenharmony_ci          "type": "BlockStatement",
2393af6ab5fSopenharmony_ci          "statements": [
2403af6ab5fSopenharmony_ci            {
2413af6ab5fSopenharmony_ci              "type": "ReturnStatement",
2423af6ab5fSopenharmony_ci              "argument": {
2433af6ab5fSopenharmony_ci                "type": "Identifier",
2443af6ab5fSopenharmony_ci                "name": "arg",
2453af6ab5fSopenharmony_ci                "loc": {
2463af6ab5fSopenharmony_ci                  "start": {
2473af6ab5fSopenharmony_ci                    "line": 18,
2483af6ab5fSopenharmony_ci                    "column": 12
2493af6ab5fSopenharmony_ci                  },
2503af6ab5fSopenharmony_ci                  "end": {
2513af6ab5fSopenharmony_ci                    "line": 18,
2523af6ab5fSopenharmony_ci                    "column": 15
2533af6ab5fSopenharmony_ci                  }
2543af6ab5fSopenharmony_ci                }
2553af6ab5fSopenharmony_ci              },
2563af6ab5fSopenharmony_ci              "loc": {
2573af6ab5fSopenharmony_ci                "start": {
2583af6ab5fSopenharmony_ci                  "line": 18,
2593af6ab5fSopenharmony_ci                  "column": 5
2603af6ab5fSopenharmony_ci                },
2613af6ab5fSopenharmony_ci                "end": {
2623af6ab5fSopenharmony_ci                  "line": 18,
2633af6ab5fSopenharmony_ci                  "column": 16
2643af6ab5fSopenharmony_ci                }
2653af6ab5fSopenharmony_ci              }
2663af6ab5fSopenharmony_ci            }
2673af6ab5fSopenharmony_ci          ],
2683af6ab5fSopenharmony_ci          "loc": {
2693af6ab5fSopenharmony_ci            "start": {
2703af6ab5fSopenharmony_ci              "line": 17,
2713af6ab5fSopenharmony_ci              "column": 71
2723af6ab5fSopenharmony_ci            },
2733af6ab5fSopenharmony_ci            "end": {
2743af6ab5fSopenharmony_ci              "line": 19,
2753af6ab5fSopenharmony_ci              "column": 2
2763af6ab5fSopenharmony_ci            }
2773af6ab5fSopenharmony_ci          }
2783af6ab5fSopenharmony_ci        },
2793af6ab5fSopenharmony_ci        "loc": {
2803af6ab5fSopenharmony_ci          "start": {
2813af6ab5fSopenharmony_ci            "line": 17,
2823af6ab5fSopenharmony_ci            "column": 1
2833af6ab5fSopenharmony_ci          },
2843af6ab5fSopenharmony_ci          "end": {
2853af6ab5fSopenharmony_ci            "line": 19,
2863af6ab5fSopenharmony_ci            "column": 2
2873af6ab5fSopenharmony_ci          }
2883af6ab5fSopenharmony_ci        }
2893af6ab5fSopenharmony_ci      },
2903af6ab5fSopenharmony_ci      "loc": {
2913af6ab5fSopenharmony_ci        "start": {
2923af6ab5fSopenharmony_ci          "line": 17,
2933af6ab5fSopenharmony_ci          "column": 1
2943af6ab5fSopenharmony_ci        },
2953af6ab5fSopenharmony_ci        "end": {
2963af6ab5fSopenharmony_ci          "line": 19,
2973af6ab5fSopenharmony_ci          "column": 2
2983af6ab5fSopenharmony_ci        }
2993af6ab5fSopenharmony_ci      }
3003af6ab5fSopenharmony_ci    },
3013af6ab5fSopenharmony_ci    {
3023af6ab5fSopenharmony_ci      "type": "FunctionDeclaration",
3033af6ab5fSopenharmony_ci      "function": {
3043af6ab5fSopenharmony_ci        "type": "ScriptFunction",
3053af6ab5fSopenharmony_ci        "id": {
3063af6ab5fSopenharmony_ci          "type": "Identifier",
3073af6ab5fSopenharmony_ci          "name": "func2",
3083af6ab5fSopenharmony_ci          "loc": {
3093af6ab5fSopenharmony_ci            "start": {
3103af6ab5fSopenharmony_ci              "line": 21,
3113af6ab5fSopenharmony_ci              "column": 10
3123af6ab5fSopenharmony_ci            },
3133af6ab5fSopenharmony_ci            "end": {
3143af6ab5fSopenharmony_ci              "line": 21,
3153af6ab5fSopenharmony_ci              "column": 15
3163af6ab5fSopenharmony_ci            }
3173af6ab5fSopenharmony_ci          }
3183af6ab5fSopenharmony_ci        },
3193af6ab5fSopenharmony_ci        "generator": false,
3203af6ab5fSopenharmony_ci        "async": false,
3213af6ab5fSopenharmony_ci        "expression": false,
3223af6ab5fSopenharmony_ci        "params": [],
3233af6ab5fSopenharmony_ci        "typeParameters": {
3243af6ab5fSopenharmony_ci          "type": "TSTypeParameterDeclaration",
3253af6ab5fSopenharmony_ci          "params": [
3263af6ab5fSopenharmony_ci            {
3273af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
3283af6ab5fSopenharmony_ci              "name": {
3293af6ab5fSopenharmony_ci                "type": "Identifier",
3303af6ab5fSopenharmony_ci                "name": "A",
3313af6ab5fSopenharmony_ci                "loc": {
3323af6ab5fSopenharmony_ci                  "start": {
3333af6ab5fSopenharmony_ci                    "line": 21,
3343af6ab5fSopenharmony_ci                    "column": 16
3353af6ab5fSopenharmony_ci                  },
3363af6ab5fSopenharmony_ci                  "end": {
3373af6ab5fSopenharmony_ci                    "line": 21,
3383af6ab5fSopenharmony_ci                    "column": 17
3393af6ab5fSopenharmony_ci                  }
3403af6ab5fSopenharmony_ci                }
3413af6ab5fSopenharmony_ci              },
3423af6ab5fSopenharmony_ci              "constraint": {
3433af6ab5fSopenharmony_ci                "type": "TSTypeLiteral",
3443af6ab5fSopenharmony_ci                "members": [
3453af6ab5fSopenharmony_ci                  {
3463af6ab5fSopenharmony_ci                    "type": "TSPropertySignature",
3473af6ab5fSopenharmony_ci                    "computed": false,
3483af6ab5fSopenharmony_ci                    "optional": false,
3493af6ab5fSopenharmony_ci                    "readonly": false,
3503af6ab5fSopenharmony_ci                    "key": {
3513af6ab5fSopenharmony_ci                      "type": "Identifier",
3523af6ab5fSopenharmony_ci                      "name": "a",
3533af6ab5fSopenharmony_ci                      "loc": {
3543af6ab5fSopenharmony_ci                        "start": {
3553af6ab5fSopenharmony_ci                          "line": 21,
3563af6ab5fSopenharmony_ci                          "column": 28
3573af6ab5fSopenharmony_ci                        },
3583af6ab5fSopenharmony_ci                        "end": {
3593af6ab5fSopenharmony_ci                          "line": 21,
3603af6ab5fSopenharmony_ci                          "column": 29
3613af6ab5fSopenharmony_ci                        }
3623af6ab5fSopenharmony_ci                      }
3633af6ab5fSopenharmony_ci                    },
3643af6ab5fSopenharmony_ci                    "typeAnnotation": {
3653af6ab5fSopenharmony_ci                      "type": "TSNumberKeyword",
3663af6ab5fSopenharmony_ci                      "loc": {
3673af6ab5fSopenharmony_ci                        "start": {
3683af6ab5fSopenharmony_ci                          "line": 21,
3693af6ab5fSopenharmony_ci                          "column": 31
3703af6ab5fSopenharmony_ci                        },
3713af6ab5fSopenharmony_ci                        "end": {
3723af6ab5fSopenharmony_ci                          "line": 21,
3733af6ab5fSopenharmony_ci                          "column": 37
3743af6ab5fSopenharmony_ci                        }
3753af6ab5fSopenharmony_ci                      }
3763af6ab5fSopenharmony_ci                    },
3773af6ab5fSopenharmony_ci                    "loc": {
3783af6ab5fSopenharmony_ci                      "start": {
3793af6ab5fSopenharmony_ci                        "line": 21,
3803af6ab5fSopenharmony_ci                        "column": 28
3813af6ab5fSopenharmony_ci                      },
3823af6ab5fSopenharmony_ci                      "end": {
3833af6ab5fSopenharmony_ci                        "line": 21,
3843af6ab5fSopenharmony_ci                        "column": 38
3853af6ab5fSopenharmony_ci                      }
3863af6ab5fSopenharmony_ci                    }
3873af6ab5fSopenharmony_ci                  },
3883af6ab5fSopenharmony_ci                  {
3893af6ab5fSopenharmony_ci                    "type": "TSPropertySignature",
3903af6ab5fSopenharmony_ci                    "computed": false,
3913af6ab5fSopenharmony_ci                    "optional": false,
3923af6ab5fSopenharmony_ci                    "readonly": false,
3933af6ab5fSopenharmony_ci                    "key": {
3943af6ab5fSopenharmony_ci                      "type": "Identifier",
3953af6ab5fSopenharmony_ci                      "name": "b",
3963af6ab5fSopenharmony_ci                      "loc": {
3973af6ab5fSopenharmony_ci                        "start": {
3983af6ab5fSopenharmony_ci                          "line": 21,
3993af6ab5fSopenharmony_ci                          "column": 39
4003af6ab5fSopenharmony_ci                        },
4013af6ab5fSopenharmony_ci                        "end": {
4023af6ab5fSopenharmony_ci                          "line": 21,
4033af6ab5fSopenharmony_ci                          "column": 40
4043af6ab5fSopenharmony_ci                        }
4053af6ab5fSopenharmony_ci                      }
4063af6ab5fSopenharmony_ci                    },
4073af6ab5fSopenharmony_ci                    "typeAnnotation": {
4083af6ab5fSopenharmony_ci                      "type": "TSStringKeyword",
4093af6ab5fSopenharmony_ci                      "loc": {
4103af6ab5fSopenharmony_ci                        "start": {
4113af6ab5fSopenharmony_ci                          "line": 21,
4123af6ab5fSopenharmony_ci                          "column": 42
4133af6ab5fSopenharmony_ci                        },
4143af6ab5fSopenharmony_ci                        "end": {
4153af6ab5fSopenharmony_ci                          "line": 21,
4163af6ab5fSopenharmony_ci                          "column": 48
4173af6ab5fSopenharmony_ci                        }
4183af6ab5fSopenharmony_ci                      }
4193af6ab5fSopenharmony_ci                    },
4203af6ab5fSopenharmony_ci                    "loc": {
4213af6ab5fSopenharmony_ci                      "start": {
4223af6ab5fSopenharmony_ci                        "line": 21,
4233af6ab5fSopenharmony_ci                        "column": 39
4243af6ab5fSopenharmony_ci                      },
4253af6ab5fSopenharmony_ci                      "end": {
4263af6ab5fSopenharmony_ci                        "line": 21,
4273af6ab5fSopenharmony_ci                        "column": 50
4283af6ab5fSopenharmony_ci                      }
4293af6ab5fSopenharmony_ci                    }
4303af6ab5fSopenharmony_ci                  }
4313af6ab5fSopenharmony_ci                ],
4323af6ab5fSopenharmony_ci                "loc": {
4333af6ab5fSopenharmony_ci                  "start": {
4343af6ab5fSopenharmony_ci                    "line": 21,
4353af6ab5fSopenharmony_ci                    "column": 26
4363af6ab5fSopenharmony_ci                  },
4373af6ab5fSopenharmony_ci                  "end": {
4383af6ab5fSopenharmony_ci                    "line": 21,
4393af6ab5fSopenharmony_ci                    "column": 50
4403af6ab5fSopenharmony_ci                  }
4413af6ab5fSopenharmony_ci                }
4423af6ab5fSopenharmony_ci              },
4433af6ab5fSopenharmony_ci              "in": false,
4443af6ab5fSopenharmony_ci              "out": false,
4453af6ab5fSopenharmony_ci              "loc": {
4463af6ab5fSopenharmony_ci                "start": {
4473af6ab5fSopenharmony_ci                  "line": 21,
4483af6ab5fSopenharmony_ci                  "column": 16
4493af6ab5fSopenharmony_ci                },
4503af6ab5fSopenharmony_ci                "end": {
4513af6ab5fSopenharmony_ci                  "line": 21,
4523af6ab5fSopenharmony_ci                  "column": 51
4533af6ab5fSopenharmony_ci                }
4543af6ab5fSopenharmony_ci              }
4553af6ab5fSopenharmony_ci            }
4563af6ab5fSopenharmony_ci          ],
4573af6ab5fSopenharmony_ci          "loc": {
4583af6ab5fSopenharmony_ci            "start": {
4593af6ab5fSopenharmony_ci              "line": 21,
4603af6ab5fSopenharmony_ci              "column": 15
4613af6ab5fSopenharmony_ci            },
4623af6ab5fSopenharmony_ci            "end": {
4633af6ab5fSopenharmony_ci              "line": 21,
4643af6ab5fSopenharmony_ci              "column": 51
4653af6ab5fSopenharmony_ci            }
4663af6ab5fSopenharmony_ci          }
4673af6ab5fSopenharmony_ci        },
4683af6ab5fSopenharmony_ci        "body": {
4693af6ab5fSopenharmony_ci          "type": "BlockStatement",
4703af6ab5fSopenharmony_ci          "statements": [],
4713af6ab5fSopenharmony_ci          "loc": {
4723af6ab5fSopenharmony_ci            "start": {
4733af6ab5fSopenharmony_ci              "line": 21,
4743af6ab5fSopenharmony_ci              "column": 54
4753af6ab5fSopenharmony_ci            },
4763af6ab5fSopenharmony_ci            "end": {
4773af6ab5fSopenharmony_ci              "line": 21,
4783af6ab5fSopenharmony_ci              "column": 57
4793af6ab5fSopenharmony_ci            }
4803af6ab5fSopenharmony_ci          }
4813af6ab5fSopenharmony_ci        },
4823af6ab5fSopenharmony_ci        "loc": {
4833af6ab5fSopenharmony_ci          "start": {
4843af6ab5fSopenharmony_ci            "line": 21,
4853af6ab5fSopenharmony_ci            "column": 1
4863af6ab5fSopenharmony_ci          },
4873af6ab5fSopenharmony_ci          "end": {
4883af6ab5fSopenharmony_ci            "line": 21,
4893af6ab5fSopenharmony_ci            "column": 57
4903af6ab5fSopenharmony_ci          }
4913af6ab5fSopenharmony_ci        }
4923af6ab5fSopenharmony_ci      },
4933af6ab5fSopenharmony_ci      "loc": {
4943af6ab5fSopenharmony_ci        "start": {
4953af6ab5fSopenharmony_ci          "line": 21,
4963af6ab5fSopenharmony_ci          "column": 1
4973af6ab5fSopenharmony_ci        },
4983af6ab5fSopenharmony_ci        "end": {
4993af6ab5fSopenharmony_ci          "line": 21,
5003af6ab5fSopenharmony_ci          "column": 57
5013af6ab5fSopenharmony_ci        }
5023af6ab5fSopenharmony_ci      }
5033af6ab5fSopenharmony_ci    },
5043af6ab5fSopenharmony_ci    {
5053af6ab5fSopenharmony_ci      "type": "FunctionDeclaration",
5063af6ab5fSopenharmony_ci      "function": {
5073af6ab5fSopenharmony_ci        "type": "ScriptFunction",
5083af6ab5fSopenharmony_ci        "id": {
5093af6ab5fSopenharmony_ci          "type": "Identifier",
5103af6ab5fSopenharmony_ci          "name": "func3",
5113af6ab5fSopenharmony_ci          "loc": {
5123af6ab5fSopenharmony_ci            "start": {
5133af6ab5fSopenharmony_ci              "line": 23,
5143af6ab5fSopenharmony_ci              "column": 10
5153af6ab5fSopenharmony_ci            },
5163af6ab5fSopenharmony_ci            "end": {
5173af6ab5fSopenharmony_ci              "line": 23,
5183af6ab5fSopenharmony_ci              "column": 15
5193af6ab5fSopenharmony_ci            }
5203af6ab5fSopenharmony_ci          }
5213af6ab5fSopenharmony_ci        },
5223af6ab5fSopenharmony_ci        "generator": false,
5233af6ab5fSopenharmony_ci        "async": false,
5243af6ab5fSopenharmony_ci        "expression": false,
5253af6ab5fSopenharmony_ci        "params": [
5263af6ab5fSopenharmony_ci          {
5273af6ab5fSopenharmony_ci            "type": "Identifier",
5283af6ab5fSopenharmony_ci            "name": "a",
5293af6ab5fSopenharmony_ci            "typeAnnotation": {
5303af6ab5fSopenharmony_ci              "type": "TSTypeReference",
5313af6ab5fSopenharmony_ci              "typeName": {
5323af6ab5fSopenharmony_ci                "type": "Identifier",
5333af6ab5fSopenharmony_ci                "name": "A",
5343af6ab5fSopenharmony_ci                "loc": {
5353af6ab5fSopenharmony_ci                  "start": {
5363af6ab5fSopenharmony_ci                    "line": 23,
5373af6ab5fSopenharmony_ci                    "column": 90
5383af6ab5fSopenharmony_ci                  },
5393af6ab5fSopenharmony_ci                  "end": {
5403af6ab5fSopenharmony_ci                    "line": 23,
5413af6ab5fSopenharmony_ci                    "column": 91
5423af6ab5fSopenharmony_ci                  }
5433af6ab5fSopenharmony_ci                }
5443af6ab5fSopenharmony_ci              },
5453af6ab5fSopenharmony_ci              "loc": {
5463af6ab5fSopenharmony_ci                "start": {
5473af6ab5fSopenharmony_ci                  "line": 23,
5483af6ab5fSopenharmony_ci                  "column": 90
5493af6ab5fSopenharmony_ci                },
5503af6ab5fSopenharmony_ci                "end": {
5513af6ab5fSopenharmony_ci                  "line": 23,
5523af6ab5fSopenharmony_ci                  "column": 91
5533af6ab5fSopenharmony_ci                }
5543af6ab5fSopenharmony_ci              }
5553af6ab5fSopenharmony_ci            },
5563af6ab5fSopenharmony_ci            "loc": {
5573af6ab5fSopenharmony_ci              "start": {
5583af6ab5fSopenharmony_ci                "line": 23,
5593af6ab5fSopenharmony_ci                "column": 87
5603af6ab5fSopenharmony_ci              },
5613af6ab5fSopenharmony_ci              "end": {
5623af6ab5fSopenharmony_ci                "line": 23,
5633af6ab5fSopenharmony_ci                "column": 88
5643af6ab5fSopenharmony_ci              }
5653af6ab5fSopenharmony_ci            }
5663af6ab5fSopenharmony_ci          },
5673af6ab5fSopenharmony_ci          {
5683af6ab5fSopenharmony_ci            "type": "Identifier",
5693af6ab5fSopenharmony_ci            "name": "b",
5703af6ab5fSopenharmony_ci            "typeAnnotation": {
5713af6ab5fSopenharmony_ci              "type": "TSStringKeyword",
5723af6ab5fSopenharmony_ci              "loc": {
5733af6ab5fSopenharmony_ci                "start": {
5743af6ab5fSopenharmony_ci                  "line": 23,
5753af6ab5fSopenharmony_ci                  "column": 96
5763af6ab5fSopenharmony_ci                },
5773af6ab5fSopenharmony_ci                "end": {
5783af6ab5fSopenharmony_ci                  "line": 23,
5793af6ab5fSopenharmony_ci                  "column": 102
5803af6ab5fSopenharmony_ci                }
5813af6ab5fSopenharmony_ci              }
5823af6ab5fSopenharmony_ci            },
5833af6ab5fSopenharmony_ci            "loc": {
5843af6ab5fSopenharmony_ci              "start": {
5853af6ab5fSopenharmony_ci                "line": 23,
5863af6ab5fSopenharmony_ci                "column": 93
5873af6ab5fSopenharmony_ci              },
5883af6ab5fSopenharmony_ci              "end": {
5893af6ab5fSopenharmony_ci                "line": 23,
5903af6ab5fSopenharmony_ci                "column": 94
5913af6ab5fSopenharmony_ci              }
5923af6ab5fSopenharmony_ci            }
5933af6ab5fSopenharmony_ci          }
5943af6ab5fSopenharmony_ci        ],
5953af6ab5fSopenharmony_ci        "returnType": {
5963af6ab5fSopenharmony_ci          "type": "TSUnionType",
5973af6ab5fSopenharmony_ci          "types": [
5983af6ab5fSopenharmony_ci            {
5993af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
6003af6ab5fSopenharmony_ci              "loc": {
6013af6ab5fSopenharmony_ci                "start": {
6023af6ab5fSopenharmony_ci                  "line": 23,
6033af6ab5fSopenharmony_ci                  "column": 105
6043af6ab5fSopenharmony_ci                },
6053af6ab5fSopenharmony_ci                "end": {
6063af6ab5fSopenharmony_ci                  "line": 23,
6073af6ab5fSopenharmony_ci                  "column": 111
6083af6ab5fSopenharmony_ci                }
6093af6ab5fSopenharmony_ci              }
6103af6ab5fSopenharmony_ci            },
6113af6ab5fSopenharmony_ci            {
6123af6ab5fSopenharmony_ci              "type": "TSBooleanKeyword",
6133af6ab5fSopenharmony_ci              "loc": {
6143af6ab5fSopenharmony_ci                "start": {
6153af6ab5fSopenharmony_ci                  "line": 23,
6163af6ab5fSopenharmony_ci                  "column": 114
6173af6ab5fSopenharmony_ci                },
6183af6ab5fSopenharmony_ci                "end": {
6193af6ab5fSopenharmony_ci                  "line": 23,
6203af6ab5fSopenharmony_ci                  "column": 121
6213af6ab5fSopenharmony_ci                }
6223af6ab5fSopenharmony_ci              }
6233af6ab5fSopenharmony_ci            }
6243af6ab5fSopenharmony_ci          ],
6253af6ab5fSopenharmony_ci          "loc": {
6263af6ab5fSopenharmony_ci            "start": {
6273af6ab5fSopenharmony_ci              "line": 23,
6283af6ab5fSopenharmony_ci              "column": 105
6293af6ab5fSopenharmony_ci            },
6303af6ab5fSopenharmony_ci            "end": {
6313af6ab5fSopenharmony_ci              "line": 23,
6323af6ab5fSopenharmony_ci              "column": 121
6333af6ab5fSopenharmony_ci            }
6343af6ab5fSopenharmony_ci          }
6353af6ab5fSopenharmony_ci        },
6363af6ab5fSopenharmony_ci        "typeParameters": {
6373af6ab5fSopenharmony_ci          "type": "TSTypeParameterDeclaration",
6383af6ab5fSopenharmony_ci          "params": [
6393af6ab5fSopenharmony_ci            {
6403af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
6413af6ab5fSopenharmony_ci              "name": {
6423af6ab5fSopenharmony_ci                "type": "Identifier",
6433af6ab5fSopenharmony_ci                "name": "A",
6443af6ab5fSopenharmony_ci                "loc": {
6453af6ab5fSopenharmony_ci                  "start": {
6463af6ab5fSopenharmony_ci                    "line": 23,
6473af6ab5fSopenharmony_ci                    "column": 16
6483af6ab5fSopenharmony_ci                  },
6493af6ab5fSopenharmony_ci                  "end": {
6503af6ab5fSopenharmony_ci                    "line": 23,
6513af6ab5fSopenharmony_ci                    "column": 17
6523af6ab5fSopenharmony_ci                  }
6533af6ab5fSopenharmony_ci                }
6543af6ab5fSopenharmony_ci              },
6553af6ab5fSopenharmony_ci              "constraint": {
6563af6ab5fSopenharmony_ci                "type": "TSTypeOperator",
6573af6ab5fSopenharmony_ci                "operator": "keyof",
6583af6ab5fSopenharmony_ci                "typeAnnotation": {
6593af6ab5fSopenharmony_ci                  "type": "TSTypeLiteral",
6603af6ab5fSopenharmony_ci                  "members": [
6613af6ab5fSopenharmony_ci                    {
6623af6ab5fSopenharmony_ci                      "type": "TSPropertySignature",
6633af6ab5fSopenharmony_ci                      "computed": false,
6643af6ab5fSopenharmony_ci                      "optional": false,
6653af6ab5fSopenharmony_ci                      "readonly": false,
6663af6ab5fSopenharmony_ci                      "key": {
6673af6ab5fSopenharmony_ci                        "type": "Identifier",
6683af6ab5fSopenharmony_ci                        "name": "a",
6693af6ab5fSopenharmony_ci                        "loc": {
6703af6ab5fSopenharmony_ci                          "start": {
6713af6ab5fSopenharmony_ci                            "line": 23,
6723af6ab5fSopenharmony_ci                            "column": 34
6733af6ab5fSopenharmony_ci                          },
6743af6ab5fSopenharmony_ci                          "end": {
6753af6ab5fSopenharmony_ci                            "line": 23,
6763af6ab5fSopenharmony_ci                            "column": 35
6773af6ab5fSopenharmony_ci                          }
6783af6ab5fSopenharmony_ci                        }
6793af6ab5fSopenharmony_ci                      },
6803af6ab5fSopenharmony_ci                      "typeAnnotation": {
6813af6ab5fSopenharmony_ci                        "type": "TSTypeLiteral",
6823af6ab5fSopenharmony_ci                        "members": [
6833af6ab5fSopenharmony_ci                          {
6843af6ab5fSopenharmony_ci                            "type": "TSPropertySignature",
6853af6ab5fSopenharmony_ci                            "computed": false,
6863af6ab5fSopenharmony_ci                            "optional": false,
6873af6ab5fSopenharmony_ci                            "readonly": false,
6883af6ab5fSopenharmony_ci                            "key": {
6893af6ab5fSopenharmony_ci                              "type": "Identifier",
6903af6ab5fSopenharmony_ci                              "name": "b",
6913af6ab5fSopenharmony_ci                              "loc": {
6923af6ab5fSopenharmony_ci                                "start": {
6933af6ab5fSopenharmony_ci                                  "line": 23,
6943af6ab5fSopenharmony_ci                                  "column": 39
6953af6ab5fSopenharmony_ci                                },
6963af6ab5fSopenharmony_ci                                "end": {
6973af6ab5fSopenharmony_ci                                  "line": 23,
6983af6ab5fSopenharmony_ci                                  "column": 40
6993af6ab5fSopenharmony_ci                                }
7003af6ab5fSopenharmony_ci                              }
7013af6ab5fSopenharmony_ci                            },
7023af6ab5fSopenharmony_ci                            "typeAnnotation": {
7033af6ab5fSopenharmony_ci                              "type": "TSNumberKeyword",
7043af6ab5fSopenharmony_ci                              "loc": {
7053af6ab5fSopenharmony_ci                                "start": {
7063af6ab5fSopenharmony_ci                                  "line": 23,
7073af6ab5fSopenharmony_ci                                  "column": 42
7083af6ab5fSopenharmony_ci                                },
7093af6ab5fSopenharmony_ci                                "end": {
7103af6ab5fSopenharmony_ci                                  "line": 23,
7113af6ab5fSopenharmony_ci                                  "column": 48
7123af6ab5fSopenharmony_ci                                }
7133af6ab5fSopenharmony_ci                              }
7143af6ab5fSopenharmony_ci                            },
7153af6ab5fSopenharmony_ci                            "loc": {
7163af6ab5fSopenharmony_ci                              "start": {
7173af6ab5fSopenharmony_ci                                "line": 23,
7183af6ab5fSopenharmony_ci                                "column": 39
7193af6ab5fSopenharmony_ci                              },
7203af6ab5fSopenharmony_ci                              "end": {
7213af6ab5fSopenharmony_ci                                "line": 23,
7223af6ab5fSopenharmony_ci                                "column": 49
7233af6ab5fSopenharmony_ci                              }
7243af6ab5fSopenharmony_ci                            }
7253af6ab5fSopenharmony_ci                          },
7263af6ab5fSopenharmony_ci                          {
7273af6ab5fSopenharmony_ci                            "type": "TSPropertySignature",
7283af6ab5fSopenharmony_ci                            "computed": false,
7293af6ab5fSopenharmony_ci                            "optional": false,
7303af6ab5fSopenharmony_ci                            "readonly": false,
7313af6ab5fSopenharmony_ci                            "key": {
7323af6ab5fSopenharmony_ci                              "type": "Identifier",
7333af6ab5fSopenharmony_ci                              "name": "c",
7343af6ab5fSopenharmony_ci                              "loc": {
7353af6ab5fSopenharmony_ci                                "start": {
7363af6ab5fSopenharmony_ci                                  "line": 23,
7373af6ab5fSopenharmony_ci                                  "column": 50
7383af6ab5fSopenharmony_ci                                },
7393af6ab5fSopenharmony_ci                                "end": {
7403af6ab5fSopenharmony_ci                                  "line": 23,
7413af6ab5fSopenharmony_ci                                  "column": 51
7423af6ab5fSopenharmony_ci                                }
7433af6ab5fSopenharmony_ci                              }
7443af6ab5fSopenharmony_ci                            },
7453af6ab5fSopenharmony_ci                            "typeAnnotation": {
7463af6ab5fSopenharmony_ci                              "type": "TSBooleanKeyword",
7473af6ab5fSopenharmony_ci                              "loc": {
7483af6ab5fSopenharmony_ci                                "start": {
7493af6ab5fSopenharmony_ci                                  "line": 23,
7503af6ab5fSopenharmony_ci                                  "column": 53
7513af6ab5fSopenharmony_ci                                },
7523af6ab5fSopenharmony_ci                                "end": {
7533af6ab5fSopenharmony_ci                                  "line": 23,
7543af6ab5fSopenharmony_ci                                  "column": 60
7553af6ab5fSopenharmony_ci                                }
7563af6ab5fSopenharmony_ci                              }
7573af6ab5fSopenharmony_ci                            },
7583af6ab5fSopenharmony_ci                            "loc": {
7593af6ab5fSopenharmony_ci                              "start": {
7603af6ab5fSopenharmony_ci                                "line": 23,
7613af6ab5fSopenharmony_ci                                "column": 50
7623af6ab5fSopenharmony_ci                              },
7633af6ab5fSopenharmony_ci                              "end": {
7643af6ab5fSopenharmony_ci                                "line": 23,
7653af6ab5fSopenharmony_ci                                "column": 62
7663af6ab5fSopenharmony_ci                              }
7673af6ab5fSopenharmony_ci                            }
7683af6ab5fSopenharmony_ci                          }
7693af6ab5fSopenharmony_ci                        ],
7703af6ab5fSopenharmony_ci                        "loc": {
7713af6ab5fSopenharmony_ci                          "start": {
7723af6ab5fSopenharmony_ci                            "line": 23,
7733af6ab5fSopenharmony_ci                            "column": 37
7743af6ab5fSopenharmony_ci                          },
7753af6ab5fSopenharmony_ci                          "end": {
7763af6ab5fSopenharmony_ci                            "line": 23,
7773af6ab5fSopenharmony_ci                            "column": 62
7783af6ab5fSopenharmony_ci                          }
7793af6ab5fSopenharmony_ci                        }
7803af6ab5fSopenharmony_ci                      },
7813af6ab5fSopenharmony_ci                      "loc": {
7823af6ab5fSopenharmony_ci                        "start": {
7833af6ab5fSopenharmony_ci                          "line": 23,
7843af6ab5fSopenharmony_ci                          "column": 34
7853af6ab5fSopenharmony_ci                        },
7863af6ab5fSopenharmony_ci                        "end": {
7873af6ab5fSopenharmony_ci                          "line": 23,
7883af6ab5fSopenharmony_ci                          "column": 63
7893af6ab5fSopenharmony_ci                        }
7903af6ab5fSopenharmony_ci                      }
7913af6ab5fSopenharmony_ci                    },
7923af6ab5fSopenharmony_ci                    {
7933af6ab5fSopenharmony_ci                      "type": "TSPropertySignature",
7943af6ab5fSopenharmony_ci                      "computed": false,
7953af6ab5fSopenharmony_ci                      "optional": false,
7963af6ab5fSopenharmony_ci                      "readonly": false,
7973af6ab5fSopenharmony_ci                      "key": {
7983af6ab5fSopenharmony_ci                        "type": "Identifier",
7993af6ab5fSopenharmony_ci                        "name": "b",
8003af6ab5fSopenharmony_ci                        "loc": {
8013af6ab5fSopenharmony_ci                          "start": {
8023af6ab5fSopenharmony_ci                            "line": 23,
8033af6ab5fSopenharmony_ci                            "column": 64
8043af6ab5fSopenharmony_ci                          },
8053af6ab5fSopenharmony_ci                          "end": {
8063af6ab5fSopenharmony_ci                            "line": 23,
8073af6ab5fSopenharmony_ci                            "column": 65
8083af6ab5fSopenharmony_ci                          }
8093af6ab5fSopenharmony_ci                        }
8103af6ab5fSopenharmony_ci                      },
8113af6ab5fSopenharmony_ci                      "typeAnnotation": {
8123af6ab5fSopenharmony_ci                        "type": "TSTupleType",
8133af6ab5fSopenharmony_ci                        "elementTypes": [
8143af6ab5fSopenharmony_ci                          {
8153af6ab5fSopenharmony_ci                            "type": "TSNumberKeyword",
8163af6ab5fSopenharmony_ci                            "loc": {
8173af6ab5fSopenharmony_ci                              "start": {
8183af6ab5fSopenharmony_ci                                "line": 23,
8193af6ab5fSopenharmony_ci                                "column": 68
8203af6ab5fSopenharmony_ci                              },
8213af6ab5fSopenharmony_ci                              "end": {
8223af6ab5fSopenharmony_ci                                "line": 23,
8233af6ab5fSopenharmony_ci                                "column": 74
8243af6ab5fSopenharmony_ci                              }
8253af6ab5fSopenharmony_ci                            }
8263af6ab5fSopenharmony_ci                          },
8273af6ab5fSopenharmony_ci                          {
8283af6ab5fSopenharmony_ci                            "type": "TSStringKeyword",
8293af6ab5fSopenharmony_ci                            "loc": {
8303af6ab5fSopenharmony_ci                              "start": {
8313af6ab5fSopenharmony_ci                                "line": 23,
8323af6ab5fSopenharmony_ci                                "column": 76
8333af6ab5fSopenharmony_ci                              },
8343af6ab5fSopenharmony_ci                              "end": {
8353af6ab5fSopenharmony_ci                                "line": 23,
8363af6ab5fSopenharmony_ci                                "column": 82
8373af6ab5fSopenharmony_ci                              }
8383af6ab5fSopenharmony_ci                            }
8393af6ab5fSopenharmony_ci                          }
8403af6ab5fSopenharmony_ci                        ],
8413af6ab5fSopenharmony_ci                        "loc": {
8423af6ab5fSopenharmony_ci                          "start": {
8433af6ab5fSopenharmony_ci                            "line": 23,
8443af6ab5fSopenharmony_ci                            "column": 67
8453af6ab5fSopenharmony_ci                          },
8463af6ab5fSopenharmony_ci                          "end": {
8473af6ab5fSopenharmony_ci                            "line": 23,
8483af6ab5fSopenharmony_ci                            "column": 83
8493af6ab5fSopenharmony_ci                          }
8503af6ab5fSopenharmony_ci                        }
8513af6ab5fSopenharmony_ci                      },
8523af6ab5fSopenharmony_ci                      "loc": {
8533af6ab5fSopenharmony_ci                        "start": {
8543af6ab5fSopenharmony_ci                          "line": 23,
8553af6ab5fSopenharmony_ci                          "column": 64
8563af6ab5fSopenharmony_ci                        },
8573af6ab5fSopenharmony_ci                        "end": {
8583af6ab5fSopenharmony_ci                          "line": 23,
8593af6ab5fSopenharmony_ci                          "column": 85
8603af6ab5fSopenharmony_ci                        }
8613af6ab5fSopenharmony_ci                      }
8623af6ab5fSopenharmony_ci                    }
8633af6ab5fSopenharmony_ci                  ],
8643af6ab5fSopenharmony_ci                  "loc": {
8653af6ab5fSopenharmony_ci                    "start": {
8663af6ab5fSopenharmony_ci                      "line": 23,
8673af6ab5fSopenharmony_ci                      "column": 32
8683af6ab5fSopenharmony_ci                    },
8693af6ab5fSopenharmony_ci                    "end": {
8703af6ab5fSopenharmony_ci                      "line": 23,
8713af6ab5fSopenharmony_ci                      "column": 85
8723af6ab5fSopenharmony_ci                    }
8733af6ab5fSopenharmony_ci                  }
8743af6ab5fSopenharmony_ci                },
8753af6ab5fSopenharmony_ci                "loc": {
8763af6ab5fSopenharmony_ci                  "start": {
8773af6ab5fSopenharmony_ci                    "line": 23,
8783af6ab5fSopenharmony_ci                    "column": 26
8793af6ab5fSopenharmony_ci                  },
8803af6ab5fSopenharmony_ci                  "end": {
8813af6ab5fSopenharmony_ci                    "line": 23,
8823af6ab5fSopenharmony_ci                    "column": 85
8833af6ab5fSopenharmony_ci                  }
8843af6ab5fSopenharmony_ci                }
8853af6ab5fSopenharmony_ci              },
8863af6ab5fSopenharmony_ci              "in": false,
8873af6ab5fSopenharmony_ci              "out": false,
8883af6ab5fSopenharmony_ci              "loc": {
8893af6ab5fSopenharmony_ci                "start": {
8903af6ab5fSopenharmony_ci                  "line": 23,
8913af6ab5fSopenharmony_ci                  "column": 16
8923af6ab5fSopenharmony_ci                },
8933af6ab5fSopenharmony_ci                "end": {
8943af6ab5fSopenharmony_ci                  "line": 23,
8953af6ab5fSopenharmony_ci                  "column": 86
8963af6ab5fSopenharmony_ci                }
8973af6ab5fSopenharmony_ci              }
8983af6ab5fSopenharmony_ci            }
8993af6ab5fSopenharmony_ci          ],
9003af6ab5fSopenharmony_ci          "loc": {
9013af6ab5fSopenharmony_ci            "start": {
9023af6ab5fSopenharmony_ci              "line": 23,
9033af6ab5fSopenharmony_ci              "column": 15
9043af6ab5fSopenharmony_ci            },
9053af6ab5fSopenharmony_ci            "end": {
9063af6ab5fSopenharmony_ci              "line": 23,
9073af6ab5fSopenharmony_ci              "column": 86
9083af6ab5fSopenharmony_ci            }
9093af6ab5fSopenharmony_ci          }
9103af6ab5fSopenharmony_ci        },
9113af6ab5fSopenharmony_ci        "body": {
9123af6ab5fSopenharmony_ci          "type": "BlockStatement",
9133af6ab5fSopenharmony_ci          "statements": [
9143af6ab5fSopenharmony_ci            {
9153af6ab5fSopenharmony_ci              "type": "ReturnStatement",
9163af6ab5fSopenharmony_ci              "argument": {
9173af6ab5fSopenharmony_ci                "type": "BooleanLiteral",
9183af6ab5fSopenharmony_ci                "value": true,
9193af6ab5fSopenharmony_ci                "loc": {
9203af6ab5fSopenharmony_ci                  "start": {
9213af6ab5fSopenharmony_ci                    "line": 24,
9223af6ab5fSopenharmony_ci                    "column": 12
9233af6ab5fSopenharmony_ci                  },
9243af6ab5fSopenharmony_ci                  "end": {
9253af6ab5fSopenharmony_ci                    "line": 24,
9263af6ab5fSopenharmony_ci                    "column": 16
9273af6ab5fSopenharmony_ci                  }
9283af6ab5fSopenharmony_ci                }
9293af6ab5fSopenharmony_ci              },
9303af6ab5fSopenharmony_ci              "loc": {
9313af6ab5fSopenharmony_ci                "start": {
9323af6ab5fSopenharmony_ci                  "line": 24,
9333af6ab5fSopenharmony_ci                  "column": 5
9343af6ab5fSopenharmony_ci                },
9353af6ab5fSopenharmony_ci                "end": {
9363af6ab5fSopenharmony_ci                  "line": 24,
9373af6ab5fSopenharmony_ci                  "column": 17
9383af6ab5fSopenharmony_ci                }
9393af6ab5fSopenharmony_ci              }
9403af6ab5fSopenharmony_ci            }
9413af6ab5fSopenharmony_ci          ],
9423af6ab5fSopenharmony_ci          "loc": {
9433af6ab5fSopenharmony_ci            "start": {
9443af6ab5fSopenharmony_ci              "line": 23,
9453af6ab5fSopenharmony_ci              "column": 122
9463af6ab5fSopenharmony_ci            },
9473af6ab5fSopenharmony_ci            "end": {
9483af6ab5fSopenharmony_ci              "line": 25,
9493af6ab5fSopenharmony_ci              "column": 2
9503af6ab5fSopenharmony_ci            }
9513af6ab5fSopenharmony_ci          }
9523af6ab5fSopenharmony_ci        },
9533af6ab5fSopenharmony_ci        "loc": {
9543af6ab5fSopenharmony_ci          "start": {
9553af6ab5fSopenharmony_ci            "line": 23,
9563af6ab5fSopenharmony_ci            "column": 1
9573af6ab5fSopenharmony_ci          },
9583af6ab5fSopenharmony_ci          "end": {
9593af6ab5fSopenharmony_ci            "line": 25,
9603af6ab5fSopenharmony_ci            "column": 2
9613af6ab5fSopenharmony_ci          }
9623af6ab5fSopenharmony_ci        }
9633af6ab5fSopenharmony_ci      },
9643af6ab5fSopenharmony_ci      "loc": {
9653af6ab5fSopenharmony_ci        "start": {
9663af6ab5fSopenharmony_ci          "line": 23,
9673af6ab5fSopenharmony_ci          "column": 1
9683af6ab5fSopenharmony_ci        },
9693af6ab5fSopenharmony_ci        "end": {
9703af6ab5fSopenharmony_ci          "line": 25,
9713af6ab5fSopenharmony_ci          "column": 2
9723af6ab5fSopenharmony_ci        }
9733af6ab5fSopenharmony_ci      }
9743af6ab5fSopenharmony_ci    },
9753af6ab5fSopenharmony_ci    {
9763af6ab5fSopenharmony_ci      "type": "TSTypeAliasDeclaration",
9773af6ab5fSopenharmony_ci      "id": {
9783af6ab5fSopenharmony_ci        "type": "Identifier",
9793af6ab5fSopenharmony_ci        "name": "PromiseConstructorLike",
9803af6ab5fSopenharmony_ci        "loc": {
9813af6ab5fSopenharmony_ci          "start": {
9823af6ab5fSopenharmony_ci            "line": 27,
9833af6ab5fSopenharmony_ci            "column": 14
9843af6ab5fSopenharmony_ci          },
9853af6ab5fSopenharmony_ci          "end": {
9863af6ab5fSopenharmony_ci            "line": 27,
9873af6ab5fSopenharmony_ci            "column": 36
9883af6ab5fSopenharmony_ci          }
9893af6ab5fSopenharmony_ci        }
9903af6ab5fSopenharmony_ci      },
9913af6ab5fSopenharmony_ci      "typeAnnotation": {
9923af6ab5fSopenharmony_ci        "type": "TSConstructorType",
9933af6ab5fSopenharmony_ci        "params": [
9943af6ab5fSopenharmony_ci          {
9953af6ab5fSopenharmony_ci            "type": "Identifier",
9963af6ab5fSopenharmony_ci            "name": "executor",
9973af6ab5fSopenharmony_ci            "typeAnnotation": {
9983af6ab5fSopenharmony_ci              "type": "TSFunctionType",
9993af6ab5fSopenharmony_ci              "params": [
10003af6ab5fSopenharmony_ci                {
10013af6ab5fSopenharmony_ci                  "type": "Identifier",
10023af6ab5fSopenharmony_ci                  "name": "resolve",
10033af6ab5fSopenharmony_ci                  "typeAnnotation": {
10043af6ab5fSopenharmony_ci                    "type": "TSFunctionType",
10053af6ab5fSopenharmony_ci                    "params": [
10063af6ab5fSopenharmony_ci                      {
10073af6ab5fSopenharmony_ci                        "type": "Identifier",
10083af6ab5fSopenharmony_ci                        "name": "value",
10093af6ab5fSopenharmony_ci                        "typeAnnotation": {
10103af6ab5fSopenharmony_ci                          "type": "TSUnionType",
10113af6ab5fSopenharmony_ci                          "types": [
10123af6ab5fSopenharmony_ci                            {
10133af6ab5fSopenharmony_ci                              "type": "TSTypeReference",
10143af6ab5fSopenharmony_ci                              "typeName": {
10153af6ab5fSopenharmony_ci                                "type": "Identifier",
10163af6ab5fSopenharmony_ci                                "name": "T",
10173af6ab5fSopenharmony_ci                                "loc": {
10183af6ab5fSopenharmony_ci                                  "start": {
10193af6ab5fSopenharmony_ci                                    "line": 27,
10203af6ab5fSopenharmony_ci                                    "column": 75
10213af6ab5fSopenharmony_ci                                  },
10223af6ab5fSopenharmony_ci                                  "end": {
10233af6ab5fSopenharmony_ci                                    "line": 27,
10243af6ab5fSopenharmony_ci                                    "column": 76
10253af6ab5fSopenharmony_ci                                  }
10263af6ab5fSopenharmony_ci                                }
10273af6ab5fSopenharmony_ci                              },
10283af6ab5fSopenharmony_ci                              "loc": {
10293af6ab5fSopenharmony_ci                                "start": {
10303af6ab5fSopenharmony_ci                                  "line": 27,
10313af6ab5fSopenharmony_ci                                  "column": 75
10323af6ab5fSopenharmony_ci                                },
10333af6ab5fSopenharmony_ci                                "end": {
10343af6ab5fSopenharmony_ci                                  "line": 27,
10353af6ab5fSopenharmony_ci                                  "column": 76
10363af6ab5fSopenharmony_ci                                }
10373af6ab5fSopenharmony_ci                              }
10383af6ab5fSopenharmony_ci                            },
10393af6ab5fSopenharmony_ci                            {
10403af6ab5fSopenharmony_ci                              "type": "TSTypeReference",
10413af6ab5fSopenharmony_ci                              "typeName": {
10423af6ab5fSopenharmony_ci                                "type": "Identifier",
10433af6ab5fSopenharmony_ci                                "name": "PromiseLike",
10443af6ab5fSopenharmony_ci                                "loc": {
10453af6ab5fSopenharmony_ci                                  "start": {
10463af6ab5fSopenharmony_ci                                    "line": 27,
10473af6ab5fSopenharmony_ci                                    "column": 79
10483af6ab5fSopenharmony_ci                                  },
10493af6ab5fSopenharmony_ci                                  "end": {
10503af6ab5fSopenharmony_ci                                    "line": 27,
10513af6ab5fSopenharmony_ci                                    "column": 90
10523af6ab5fSopenharmony_ci                                  }
10533af6ab5fSopenharmony_ci                                }
10543af6ab5fSopenharmony_ci                              },
10553af6ab5fSopenharmony_ci                              "typeParameters": {
10563af6ab5fSopenharmony_ci                                "type": "TSTypeParameterInstantiation",
10573af6ab5fSopenharmony_ci                                "params": [
10583af6ab5fSopenharmony_ci                                  {
10593af6ab5fSopenharmony_ci                                    "type": "TSTypeReference",
10603af6ab5fSopenharmony_ci                                    "typeName": {
10613af6ab5fSopenharmony_ci                                      "type": "Identifier",
10623af6ab5fSopenharmony_ci                                      "name": "T",
10633af6ab5fSopenharmony_ci                                      "loc": {
10643af6ab5fSopenharmony_ci                                        "start": {
10653af6ab5fSopenharmony_ci                                          "line": 27,
10663af6ab5fSopenharmony_ci                                          "column": 91
10673af6ab5fSopenharmony_ci                                        },
10683af6ab5fSopenharmony_ci                                        "end": {
10693af6ab5fSopenharmony_ci                                          "line": 27,
10703af6ab5fSopenharmony_ci                                          "column": 92
10713af6ab5fSopenharmony_ci                                        }
10723af6ab5fSopenharmony_ci                                      }
10733af6ab5fSopenharmony_ci                                    },
10743af6ab5fSopenharmony_ci                                    "loc": {
10753af6ab5fSopenharmony_ci                                      "start": {
10763af6ab5fSopenharmony_ci                                        "line": 27,
10773af6ab5fSopenharmony_ci                                        "column": 91
10783af6ab5fSopenharmony_ci                                      },
10793af6ab5fSopenharmony_ci                                      "end": {
10803af6ab5fSopenharmony_ci                                        "line": 27,
10813af6ab5fSopenharmony_ci                                        "column": 92
10823af6ab5fSopenharmony_ci                                      }
10833af6ab5fSopenharmony_ci                                    }
10843af6ab5fSopenharmony_ci                                  }
10853af6ab5fSopenharmony_ci                                ],
10863af6ab5fSopenharmony_ci                                "loc": {
10873af6ab5fSopenharmony_ci                                  "start": {
10883af6ab5fSopenharmony_ci                                    "line": 27,
10893af6ab5fSopenharmony_ci                                    "column": 90
10903af6ab5fSopenharmony_ci                                  },
10913af6ab5fSopenharmony_ci                                  "end": {
10923af6ab5fSopenharmony_ci                                    "line": 27,
10933af6ab5fSopenharmony_ci                                    "column": 93
10943af6ab5fSopenharmony_ci                                  }
10953af6ab5fSopenharmony_ci                                }
10963af6ab5fSopenharmony_ci                              },
10973af6ab5fSopenharmony_ci                              "loc": {
10983af6ab5fSopenharmony_ci                                "start": {
10993af6ab5fSopenharmony_ci                                  "line": 27,
11003af6ab5fSopenharmony_ci                                  "column": 79
11013af6ab5fSopenharmony_ci                                },
11023af6ab5fSopenharmony_ci                                "end": {
11033af6ab5fSopenharmony_ci                                  "line": 27,
11043af6ab5fSopenharmony_ci                                  "column": 90
11053af6ab5fSopenharmony_ci                                }
11063af6ab5fSopenharmony_ci                              }
11073af6ab5fSopenharmony_ci                            }
11083af6ab5fSopenharmony_ci                          ],
11093af6ab5fSopenharmony_ci                          "loc": {
11103af6ab5fSopenharmony_ci                            "start": {
11113af6ab5fSopenharmony_ci                              "line": 27,
11123af6ab5fSopenharmony_ci                              "column": 75
11133af6ab5fSopenharmony_ci                            },
11143af6ab5fSopenharmony_ci                            "end": {
11153af6ab5fSopenharmony_ci                              "line": 27,
11163af6ab5fSopenharmony_ci                              "column": 90
11173af6ab5fSopenharmony_ci                            }
11183af6ab5fSopenharmony_ci                          }
11193af6ab5fSopenharmony_ci                        },
11203af6ab5fSopenharmony_ci                        "loc": {
11213af6ab5fSopenharmony_ci                          "start": {
11223af6ab5fSopenharmony_ci                            "line": 27,
11233af6ab5fSopenharmony_ci                            "column": 68
11243af6ab5fSopenharmony_ci                          },
11253af6ab5fSopenharmony_ci                          "end": {
11263af6ab5fSopenharmony_ci                            "line": 27,
11273af6ab5fSopenharmony_ci                            "column": 73
11283af6ab5fSopenharmony_ci                          }
11293af6ab5fSopenharmony_ci                        }
11303af6ab5fSopenharmony_ci                      }
11313af6ab5fSopenharmony_ci                    ],
11323af6ab5fSopenharmony_ci                    "returnType": {
11333af6ab5fSopenharmony_ci                      "type": "TSVoidKeyword",
11343af6ab5fSopenharmony_ci                      "loc": {
11353af6ab5fSopenharmony_ci                        "start": {
11363af6ab5fSopenharmony_ci                          "line": 27,
11373af6ab5fSopenharmony_ci                          "column": 98
11383af6ab5fSopenharmony_ci                        },
11393af6ab5fSopenharmony_ci                        "end": {
11403af6ab5fSopenharmony_ci                          "line": 27,
11413af6ab5fSopenharmony_ci                          "column": 102
11423af6ab5fSopenharmony_ci                        }
11433af6ab5fSopenharmony_ci                      }
11443af6ab5fSopenharmony_ci                    },
11453af6ab5fSopenharmony_ci                    "loc": {
11463af6ab5fSopenharmony_ci                      "start": {
11473af6ab5fSopenharmony_ci                        "line": 27,
11483af6ab5fSopenharmony_ci                        "column": 67
11493af6ab5fSopenharmony_ci                      },
11503af6ab5fSopenharmony_ci                      "end": {
11513af6ab5fSopenharmony_ci                        "line": 27,
11523af6ab5fSopenharmony_ci                        "column": 102
11533af6ab5fSopenharmony_ci                      }
11543af6ab5fSopenharmony_ci                    }
11553af6ab5fSopenharmony_ci                  },
11563af6ab5fSopenharmony_ci                  "loc": {
11573af6ab5fSopenharmony_ci                    "start": {
11583af6ab5fSopenharmony_ci                      "line": 27,
11593af6ab5fSopenharmony_ci                      "column": 58
11603af6ab5fSopenharmony_ci                    },
11613af6ab5fSopenharmony_ci                    "end": {
11623af6ab5fSopenharmony_ci                      "line": 27,
11633af6ab5fSopenharmony_ci                      "column": 65
11643af6ab5fSopenharmony_ci                    }
11653af6ab5fSopenharmony_ci                  }
11663af6ab5fSopenharmony_ci                },
11673af6ab5fSopenharmony_ci                {
11683af6ab5fSopenharmony_ci                  "type": "Identifier",
11693af6ab5fSopenharmony_ci                  "name": "reject",
11703af6ab5fSopenharmony_ci                  "typeAnnotation": {
11713af6ab5fSopenharmony_ci                    "type": "TSFunctionType",
11723af6ab5fSopenharmony_ci                    "params": [
11733af6ab5fSopenharmony_ci                      {
11743af6ab5fSopenharmony_ci                        "type": "Identifier",
11753af6ab5fSopenharmony_ci                        "name": "reason",
11763af6ab5fSopenharmony_ci                        "typeAnnotation": {
11773af6ab5fSopenharmony_ci                          "type": "TSAnyKeyword",
11783af6ab5fSopenharmony_ci                          "loc": {
11793af6ab5fSopenharmony_ci                            "start": {
11803af6ab5fSopenharmony_ci                              "line": 27,
11813af6ab5fSopenharmony_ci                              "column": 122
11823af6ab5fSopenharmony_ci                            },
11833af6ab5fSopenharmony_ci                            "end": {
11843af6ab5fSopenharmony_ci                              "line": 27,
11853af6ab5fSopenharmony_ci                              "column": 125
11863af6ab5fSopenharmony_ci                            }
11873af6ab5fSopenharmony_ci                          }
11883af6ab5fSopenharmony_ci                        },
11893af6ab5fSopenharmony_ci                        "optional": true,
11903af6ab5fSopenharmony_ci                        "loc": {
11913af6ab5fSopenharmony_ci                          "start": {
11923af6ab5fSopenharmony_ci                            "line": 27,
11933af6ab5fSopenharmony_ci                            "column": 113
11943af6ab5fSopenharmony_ci                          },
11953af6ab5fSopenharmony_ci                          "end": {
11963af6ab5fSopenharmony_ci                            "line": 27,
11973af6ab5fSopenharmony_ci                            "column": 119
11983af6ab5fSopenharmony_ci                          }
11993af6ab5fSopenharmony_ci                        }
12003af6ab5fSopenharmony_ci                      }
12013af6ab5fSopenharmony_ci                    ],
12023af6ab5fSopenharmony_ci                    "returnType": {
12033af6ab5fSopenharmony_ci                      "type": "TSVoidKeyword",
12043af6ab5fSopenharmony_ci                      "loc": {
12053af6ab5fSopenharmony_ci                        "start": {
12063af6ab5fSopenharmony_ci                          "line": 27,
12073af6ab5fSopenharmony_ci                          "column": 130
12083af6ab5fSopenharmony_ci                        },
12093af6ab5fSopenharmony_ci                        "end": {
12103af6ab5fSopenharmony_ci                          "line": 27,
12113af6ab5fSopenharmony_ci                          "column": 134
12123af6ab5fSopenharmony_ci                        }
12133af6ab5fSopenharmony_ci                      }
12143af6ab5fSopenharmony_ci                    },
12153af6ab5fSopenharmony_ci                    "loc": {
12163af6ab5fSopenharmony_ci                      "start": {
12173af6ab5fSopenharmony_ci                        "line": 27,
12183af6ab5fSopenharmony_ci                        "column": 112
12193af6ab5fSopenharmony_ci                      },
12203af6ab5fSopenharmony_ci                      "end": {
12213af6ab5fSopenharmony_ci                        "line": 27,
12223af6ab5fSopenharmony_ci                        "column": 134
12233af6ab5fSopenharmony_ci                      }
12243af6ab5fSopenharmony_ci                    }
12253af6ab5fSopenharmony_ci                  },
12263af6ab5fSopenharmony_ci                  "loc": {
12273af6ab5fSopenharmony_ci                    "start": {
12283af6ab5fSopenharmony_ci                      "line": 27,
12293af6ab5fSopenharmony_ci                      "column": 104
12303af6ab5fSopenharmony_ci                    },
12313af6ab5fSopenharmony_ci                    "end": {
12323af6ab5fSopenharmony_ci                      "line": 27,
12333af6ab5fSopenharmony_ci                      "column": 110
12343af6ab5fSopenharmony_ci                    }
12353af6ab5fSopenharmony_ci                  }
12363af6ab5fSopenharmony_ci                }
12373af6ab5fSopenharmony_ci              ],
12383af6ab5fSopenharmony_ci              "returnType": {
12393af6ab5fSopenharmony_ci                "type": "TSVoidKeyword",
12403af6ab5fSopenharmony_ci                "loc": {
12413af6ab5fSopenharmony_ci                  "start": {
12423af6ab5fSopenharmony_ci                    "line": 27,
12433af6ab5fSopenharmony_ci                    "column": 139
12443af6ab5fSopenharmony_ci                  },
12453af6ab5fSopenharmony_ci                  "end": {
12463af6ab5fSopenharmony_ci                    "line": 27,
12473af6ab5fSopenharmony_ci                    "column": 143
12483af6ab5fSopenharmony_ci                  }
12493af6ab5fSopenharmony_ci                }
12503af6ab5fSopenharmony_ci              },
12513af6ab5fSopenharmony_ci              "loc": {
12523af6ab5fSopenharmony_ci                "start": {
12533af6ab5fSopenharmony_ci                  "line": 27,
12543af6ab5fSopenharmony_ci                  "column": 57
12553af6ab5fSopenharmony_ci                },
12563af6ab5fSopenharmony_ci                "end": {
12573af6ab5fSopenharmony_ci                  "line": 27,
12583af6ab5fSopenharmony_ci                  "column": 143
12593af6ab5fSopenharmony_ci                }
12603af6ab5fSopenharmony_ci              }
12613af6ab5fSopenharmony_ci            },
12623af6ab5fSopenharmony_ci            "loc": {
12633af6ab5fSopenharmony_ci              "start": {
12643af6ab5fSopenharmony_ci                "line": 27,
12653af6ab5fSopenharmony_ci                "column": 47
12663af6ab5fSopenharmony_ci              },
12673af6ab5fSopenharmony_ci              "end": {
12683af6ab5fSopenharmony_ci                "line": 27,
12693af6ab5fSopenharmony_ci                "column": 55
12703af6ab5fSopenharmony_ci              }
12713af6ab5fSopenharmony_ci            }
12723af6ab5fSopenharmony_ci          }
12733af6ab5fSopenharmony_ci        ],
12743af6ab5fSopenharmony_ci        "typeParameters": {
12753af6ab5fSopenharmony_ci          "type": "TSTypeParameterDeclaration",
12763af6ab5fSopenharmony_ci          "params": [
12773af6ab5fSopenharmony_ci            {
12783af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
12793af6ab5fSopenharmony_ci              "name": {
12803af6ab5fSopenharmony_ci                "type": "Identifier",
12813af6ab5fSopenharmony_ci                "name": "T",
12823af6ab5fSopenharmony_ci                "loc": {
12833af6ab5fSopenharmony_ci                  "start": {
12843af6ab5fSopenharmony_ci                    "line": 27,
12853af6ab5fSopenharmony_ci                    "column": 44
12863af6ab5fSopenharmony_ci                  },
12873af6ab5fSopenharmony_ci                  "end": {
12883af6ab5fSopenharmony_ci                    "line": 27,
12893af6ab5fSopenharmony_ci                    "column": 45
12903af6ab5fSopenharmony_ci                  }
12913af6ab5fSopenharmony_ci                }
12923af6ab5fSopenharmony_ci              },
12933af6ab5fSopenharmony_ci              "in": false,
12943af6ab5fSopenharmony_ci              "out": false,
12953af6ab5fSopenharmony_ci              "loc": {
12963af6ab5fSopenharmony_ci                "start": {
12973af6ab5fSopenharmony_ci                  "line": 27,
12983af6ab5fSopenharmony_ci                  "column": 44
12993af6ab5fSopenharmony_ci                },
13003af6ab5fSopenharmony_ci                "end": {
13013af6ab5fSopenharmony_ci                  "line": 27,
13023af6ab5fSopenharmony_ci                  "column": 46
13033af6ab5fSopenharmony_ci                }
13043af6ab5fSopenharmony_ci              }
13053af6ab5fSopenharmony_ci            }
13063af6ab5fSopenharmony_ci          ],
13073af6ab5fSopenharmony_ci          "loc": {
13083af6ab5fSopenharmony_ci            "start": {
13093af6ab5fSopenharmony_ci              "line": 27,
13103af6ab5fSopenharmony_ci              "column": 43
13113af6ab5fSopenharmony_ci            },
13123af6ab5fSopenharmony_ci            "end": {
13133af6ab5fSopenharmony_ci              "line": 27,
13143af6ab5fSopenharmony_ci              "column": 46
13153af6ab5fSopenharmony_ci            }
13163af6ab5fSopenharmony_ci          }
13173af6ab5fSopenharmony_ci        },
13183af6ab5fSopenharmony_ci        "returnType": {
13193af6ab5fSopenharmony_ci          "type": "TSTypeReference",
13203af6ab5fSopenharmony_ci          "typeName": {
13213af6ab5fSopenharmony_ci            "type": "Identifier",
13223af6ab5fSopenharmony_ci            "name": "PromiseLike",
13233af6ab5fSopenharmony_ci            "loc": {
13243af6ab5fSopenharmony_ci              "start": {
13253af6ab5fSopenharmony_ci                "line": 27,
13263af6ab5fSopenharmony_ci                "column": 148
13273af6ab5fSopenharmony_ci              },
13283af6ab5fSopenharmony_ci              "end": {
13293af6ab5fSopenharmony_ci                "line": 27,
13303af6ab5fSopenharmony_ci                "column": 159
13313af6ab5fSopenharmony_ci              }
13323af6ab5fSopenharmony_ci            }
13333af6ab5fSopenharmony_ci          },
13343af6ab5fSopenharmony_ci          "typeParameters": {
13353af6ab5fSopenharmony_ci            "type": "TSTypeParameterInstantiation",
13363af6ab5fSopenharmony_ci            "params": [
13373af6ab5fSopenharmony_ci              {
13383af6ab5fSopenharmony_ci                "type": "TSTypeReference",
13393af6ab5fSopenharmony_ci                "typeName": {
13403af6ab5fSopenharmony_ci                  "type": "Identifier",
13413af6ab5fSopenharmony_ci                  "name": "T",
13423af6ab5fSopenharmony_ci                  "loc": {
13433af6ab5fSopenharmony_ci                    "start": {
13443af6ab5fSopenharmony_ci                      "line": 27,
13453af6ab5fSopenharmony_ci                      "column": 160
13463af6ab5fSopenharmony_ci                    },
13473af6ab5fSopenharmony_ci                    "end": {
13483af6ab5fSopenharmony_ci                      "line": 27,
13493af6ab5fSopenharmony_ci                      "column": 161
13503af6ab5fSopenharmony_ci                    }
13513af6ab5fSopenharmony_ci                  }
13523af6ab5fSopenharmony_ci                },
13533af6ab5fSopenharmony_ci                "loc": {
13543af6ab5fSopenharmony_ci                  "start": {
13553af6ab5fSopenharmony_ci                    "line": 27,
13563af6ab5fSopenharmony_ci                    "column": 160
13573af6ab5fSopenharmony_ci                  },
13583af6ab5fSopenharmony_ci                  "end": {
13593af6ab5fSopenharmony_ci                    "line": 27,
13603af6ab5fSopenharmony_ci                    "column": 161
13613af6ab5fSopenharmony_ci                  }
13623af6ab5fSopenharmony_ci                }
13633af6ab5fSopenharmony_ci              }
13643af6ab5fSopenharmony_ci            ],
13653af6ab5fSopenharmony_ci            "loc": {
13663af6ab5fSopenharmony_ci              "start": {
13673af6ab5fSopenharmony_ci                "line": 27,
13683af6ab5fSopenharmony_ci                "column": 159
13693af6ab5fSopenharmony_ci              },
13703af6ab5fSopenharmony_ci              "end": {
13713af6ab5fSopenharmony_ci                "line": 27,
13723af6ab5fSopenharmony_ci                "column": 162
13733af6ab5fSopenharmony_ci              }
13743af6ab5fSopenharmony_ci            }
13753af6ab5fSopenharmony_ci          },
13763af6ab5fSopenharmony_ci          "loc": {
13773af6ab5fSopenharmony_ci            "start": {
13783af6ab5fSopenharmony_ci              "line": 27,
13793af6ab5fSopenharmony_ci              "column": 148
13803af6ab5fSopenharmony_ci            },
13813af6ab5fSopenharmony_ci            "end": {
13823af6ab5fSopenharmony_ci              "line": 27,
13833af6ab5fSopenharmony_ci              "column": 159
13843af6ab5fSopenharmony_ci            }
13853af6ab5fSopenharmony_ci          }
13863af6ab5fSopenharmony_ci        },
13873af6ab5fSopenharmony_ci        "loc": {
13883af6ab5fSopenharmony_ci          "start": {
13893af6ab5fSopenharmony_ci            "line": 27,
13903af6ab5fSopenharmony_ci            "column": 39
13913af6ab5fSopenharmony_ci          },
13923af6ab5fSopenharmony_ci          "end": {
13933af6ab5fSopenharmony_ci            "line": 27,
13943af6ab5fSopenharmony_ci            "column": 159
13953af6ab5fSopenharmony_ci          }
13963af6ab5fSopenharmony_ci        }
13973af6ab5fSopenharmony_ci      },
13983af6ab5fSopenharmony_ci      "declare": true,
13993af6ab5fSopenharmony_ci      "loc": {
14003af6ab5fSopenharmony_ci        "start": {
14013af6ab5fSopenharmony_ci          "line": 27,
14023af6ab5fSopenharmony_ci          "column": 9
14033af6ab5fSopenharmony_ci        },
14043af6ab5fSopenharmony_ci        "end": {
14053af6ab5fSopenharmony_ci          "line": 27,
14063af6ab5fSopenharmony_ci          "column": 163
14073af6ab5fSopenharmony_ci        }
14083af6ab5fSopenharmony_ci      }
14093af6ab5fSopenharmony_ci    },
14103af6ab5fSopenharmony_ci    {
14113af6ab5fSopenharmony_ci      "type": "TSInterfaceDeclaration",
14123af6ab5fSopenharmony_ci      "body": {
14133af6ab5fSopenharmony_ci        "type": "TSInterfaceBody",
14143af6ab5fSopenharmony_ci        "body": [
14153af6ab5fSopenharmony_ci          {
14163af6ab5fSopenharmony_ci            "type": "TSPropertySignature",
14173af6ab5fSopenharmony_ci            "computed": false,
14183af6ab5fSopenharmony_ci            "optional": false,
14193af6ab5fSopenharmony_ci            "readonly": false,
14203af6ab5fSopenharmony_ci            "key": {
14213af6ab5fSopenharmony_ci              "type": "Identifier",
14223af6ab5fSopenharmony_ci              "name": "a",
14233af6ab5fSopenharmony_ci              "loc": {
14243af6ab5fSopenharmony_ci                "start": {
14253af6ab5fSopenharmony_ci                  "line": 30,
14263af6ab5fSopenharmony_ci                  "column": 5
14273af6ab5fSopenharmony_ci                },
14283af6ab5fSopenharmony_ci                "end": {
14293af6ab5fSopenharmony_ci                  "line": 30,
14303af6ab5fSopenharmony_ci                  "column": 6
14313af6ab5fSopenharmony_ci                }
14323af6ab5fSopenharmony_ci              }
14333af6ab5fSopenharmony_ci            },
14343af6ab5fSopenharmony_ci            "typeAnnotation": {
14353af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
14363af6ab5fSopenharmony_ci              "loc": {
14373af6ab5fSopenharmony_ci                "start": {
14383af6ab5fSopenharmony_ci                  "line": 30,
14393af6ab5fSopenharmony_ci                  "column": 8
14403af6ab5fSopenharmony_ci                },
14413af6ab5fSopenharmony_ci                "end": {
14423af6ab5fSopenharmony_ci                  "line": 30,
14433af6ab5fSopenharmony_ci                  "column": 14
14443af6ab5fSopenharmony_ci                }
14453af6ab5fSopenharmony_ci              }
14463af6ab5fSopenharmony_ci            },
14473af6ab5fSopenharmony_ci            "loc": {
14483af6ab5fSopenharmony_ci              "start": {
14493af6ab5fSopenharmony_ci                "line": 30,
14503af6ab5fSopenharmony_ci                "column": 5
14513af6ab5fSopenharmony_ci              },
14523af6ab5fSopenharmony_ci              "end": {
14533af6ab5fSopenharmony_ci                "line": 30,
14543af6ab5fSopenharmony_ci                "column": 15
14553af6ab5fSopenharmony_ci              }
14563af6ab5fSopenharmony_ci            }
14573af6ab5fSopenharmony_ci          },
14583af6ab5fSopenharmony_ci          {
14593af6ab5fSopenharmony_ci            "type": "TSIndexSignature",
14603af6ab5fSopenharmony_ci            "parameters": {
14613af6ab5fSopenharmony_ci              "type": "Identifier",
14623af6ab5fSopenharmony_ci              "name": "x",
14633af6ab5fSopenharmony_ci              "typeAnnotation": {
14643af6ab5fSopenharmony_ci                "type": "TSStringKeyword",
14653af6ab5fSopenharmony_ci                "loc": {
14663af6ab5fSopenharmony_ci                  "start": {
14673af6ab5fSopenharmony_ci                    "line": 31,
14683af6ab5fSopenharmony_ci                    "column": 9
14693af6ab5fSopenharmony_ci                  },
14703af6ab5fSopenharmony_ci                  "end": {
14713af6ab5fSopenharmony_ci                    "line": 31,
14723af6ab5fSopenharmony_ci                    "column": 15
14733af6ab5fSopenharmony_ci                  }
14743af6ab5fSopenharmony_ci                }
14753af6ab5fSopenharmony_ci              },
14763af6ab5fSopenharmony_ci              "loc": {
14773af6ab5fSopenharmony_ci                "start": {
14783af6ab5fSopenharmony_ci                  "line": 31,
14793af6ab5fSopenharmony_ci                  "column": 6
14803af6ab5fSopenharmony_ci                },
14813af6ab5fSopenharmony_ci                "end": {
14823af6ab5fSopenharmony_ci                  "line": 31,
14833af6ab5fSopenharmony_ci                  "column": 7
14843af6ab5fSopenharmony_ci                }
14853af6ab5fSopenharmony_ci              }
14863af6ab5fSopenharmony_ci            },
14873af6ab5fSopenharmony_ci            "typeAnnotation": {
14883af6ab5fSopenharmony_ci              "type": "TSUnionType",
14893af6ab5fSopenharmony_ci              "types": [
14903af6ab5fSopenharmony_ci                {
14913af6ab5fSopenharmony_ci                  "type": "TSBooleanKeyword",
14923af6ab5fSopenharmony_ci                  "loc": {
14933af6ab5fSopenharmony_ci                    "start": {
14943af6ab5fSopenharmony_ci                      "line": 31,
14953af6ab5fSopenharmony_ci                      "column": 18
14963af6ab5fSopenharmony_ci                    },
14973af6ab5fSopenharmony_ci                    "end": {
14983af6ab5fSopenharmony_ci                      "line": 31,
14993af6ab5fSopenharmony_ci                      "column": 25
15003af6ab5fSopenharmony_ci                    }
15013af6ab5fSopenharmony_ci                  }
15023af6ab5fSopenharmony_ci                },
15033af6ab5fSopenharmony_ci                {
15043af6ab5fSopenharmony_ci                  "type": "TSNumberKeyword",
15053af6ab5fSopenharmony_ci                  "loc": {
15063af6ab5fSopenharmony_ci                    "start": {
15073af6ab5fSopenharmony_ci                      "line": 31,
15083af6ab5fSopenharmony_ci                      "column": 28
15093af6ab5fSopenharmony_ci                    },
15103af6ab5fSopenharmony_ci                    "end": {
15113af6ab5fSopenharmony_ci                      "line": 31,
15123af6ab5fSopenharmony_ci                      "column": 34
15133af6ab5fSopenharmony_ci                    }
15143af6ab5fSopenharmony_ci                  }
15153af6ab5fSopenharmony_ci                }
15163af6ab5fSopenharmony_ci              ],
15173af6ab5fSopenharmony_ci              "loc": {
15183af6ab5fSopenharmony_ci                "start": {
15193af6ab5fSopenharmony_ci                  "line": 31,
15203af6ab5fSopenharmony_ci                  "column": 18
15213af6ab5fSopenharmony_ci                },
15223af6ab5fSopenharmony_ci                "end": {
15233af6ab5fSopenharmony_ci                  "line": 31,
15243af6ab5fSopenharmony_ci                  "column": 34
15253af6ab5fSopenharmony_ci                }
15263af6ab5fSopenharmony_ci              }
15273af6ab5fSopenharmony_ci            },
15283af6ab5fSopenharmony_ci            "readonly": false,
15293af6ab5fSopenharmony_ci            "static": false,
15303af6ab5fSopenharmony_ci            "loc": {
15313af6ab5fSopenharmony_ci              "start": {
15323af6ab5fSopenharmony_ci                "line": 31,
15333af6ab5fSopenharmony_ci                "column": 5
15343af6ab5fSopenharmony_ci              },
15353af6ab5fSopenharmony_ci              "end": {
15363af6ab5fSopenharmony_ci                "line": 31,
15373af6ab5fSopenharmony_ci                "column": 35
15383af6ab5fSopenharmony_ci              }
15393af6ab5fSopenharmony_ci            }
15403af6ab5fSopenharmony_ci          }
15413af6ab5fSopenharmony_ci        ],
15423af6ab5fSopenharmony_ci        "loc": {
15433af6ab5fSopenharmony_ci          "start": {
15443af6ab5fSopenharmony_ci            "line": 29,
15453af6ab5fSopenharmony_ci            "column": 53
15463af6ab5fSopenharmony_ci          },
15473af6ab5fSopenharmony_ci          "end": {
15483af6ab5fSopenharmony_ci            "line": 32,
15493af6ab5fSopenharmony_ci            "column": 2
15503af6ab5fSopenharmony_ci          }
15513af6ab5fSopenharmony_ci        }
15523af6ab5fSopenharmony_ci      },
15533af6ab5fSopenharmony_ci      "id": {
15543af6ab5fSopenharmony_ci        "type": "Identifier",
15553af6ab5fSopenharmony_ci        "name": "R",
15563af6ab5fSopenharmony_ci        "loc": {
15573af6ab5fSopenharmony_ci          "start": {
15583af6ab5fSopenharmony_ci            "line": 29,
15593af6ab5fSopenharmony_ci            "column": 11
15603af6ab5fSopenharmony_ci          },
15613af6ab5fSopenharmony_ci          "end": {
15623af6ab5fSopenharmony_ci            "line": 29,
15633af6ab5fSopenharmony_ci            "column": 12
15643af6ab5fSopenharmony_ci          }
15653af6ab5fSopenharmony_ci        }
15663af6ab5fSopenharmony_ci      },
15673af6ab5fSopenharmony_ci      "extends": [],
15683af6ab5fSopenharmony_ci      "typeParameters": {
15693af6ab5fSopenharmony_ci        "type": "TSTypeParameterDeclaration",
15703af6ab5fSopenharmony_ci        "params": [
15713af6ab5fSopenharmony_ci          {
15723af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
15733af6ab5fSopenharmony_ci            "name": {
15743af6ab5fSopenharmony_ci              "type": "Identifier",
15753af6ab5fSopenharmony_ci              "name": "K",
15763af6ab5fSopenharmony_ci              "loc": {
15773af6ab5fSopenharmony_ci                "start": {
15783af6ab5fSopenharmony_ci                  "line": 29,
15793af6ab5fSopenharmony_ci                  "column": 13
15803af6ab5fSopenharmony_ci                },
15813af6ab5fSopenharmony_ci                "end": {
15823af6ab5fSopenharmony_ci                  "line": 29,
15833af6ab5fSopenharmony_ci                  "column": 14
15843af6ab5fSopenharmony_ci                }
15853af6ab5fSopenharmony_ci              }
15863af6ab5fSopenharmony_ci            },
15873af6ab5fSopenharmony_ci            "constraint": {
15883af6ab5fSopenharmony_ci              "type": "TSTupleType",
15893af6ab5fSopenharmony_ci              "elementTypes": [
15903af6ab5fSopenharmony_ci                {
15913af6ab5fSopenharmony_ci                  "type": "TSNumberKeyword",
15923af6ab5fSopenharmony_ci                  "loc": {
15933af6ab5fSopenharmony_ci                    "start": {
15943af6ab5fSopenharmony_ci                      "line": 29,
15953af6ab5fSopenharmony_ci                      "column": 24
15963af6ab5fSopenharmony_ci                    },
15973af6ab5fSopenharmony_ci                    "end": {
15983af6ab5fSopenharmony_ci                      "line": 29,
15993af6ab5fSopenharmony_ci                      "column": 30
16003af6ab5fSopenharmony_ci                    }
16013af6ab5fSopenharmony_ci                  }
16023af6ab5fSopenharmony_ci                },
16033af6ab5fSopenharmony_ci                {
16043af6ab5fSopenharmony_ci                  "type": "TSStringKeyword",
16053af6ab5fSopenharmony_ci                  "loc": {
16063af6ab5fSopenharmony_ci                    "start": {
16073af6ab5fSopenharmony_ci                      "line": 29,
16083af6ab5fSopenharmony_ci                      "column": 32
16093af6ab5fSopenharmony_ci                    },
16103af6ab5fSopenharmony_ci                    "end": {
16113af6ab5fSopenharmony_ci                      "line": 29,
16123af6ab5fSopenharmony_ci                      "column": 38
16133af6ab5fSopenharmony_ci                    }
16143af6ab5fSopenharmony_ci                  }
16153af6ab5fSopenharmony_ci                }
16163af6ab5fSopenharmony_ci              ],
16173af6ab5fSopenharmony_ci              "loc": {
16183af6ab5fSopenharmony_ci                "start": {
16193af6ab5fSopenharmony_ci                  "line": 29,
16203af6ab5fSopenharmony_ci                  "column": 23
16213af6ab5fSopenharmony_ci                },
16223af6ab5fSopenharmony_ci                "end": {
16233af6ab5fSopenharmony_ci                  "line": 29,
16243af6ab5fSopenharmony_ci                  "column": 39
16253af6ab5fSopenharmony_ci                }
16263af6ab5fSopenharmony_ci              }
16273af6ab5fSopenharmony_ci            },
16283af6ab5fSopenharmony_ci            "in": false,
16293af6ab5fSopenharmony_ci            "out": false,
16303af6ab5fSopenharmony_ci            "loc": {
16313af6ab5fSopenharmony_ci              "start": {
16323af6ab5fSopenharmony_ci                "line": 29,
16333af6ab5fSopenharmony_ci                "column": 13
16343af6ab5fSopenharmony_ci              },
16353af6ab5fSopenharmony_ci              "end": {
16363af6ab5fSopenharmony_ci                "line": 29,
16373af6ab5fSopenharmony_ci                "column": 40
16383af6ab5fSopenharmony_ci              }
16393af6ab5fSopenharmony_ci            }
16403af6ab5fSopenharmony_ci          },
16413af6ab5fSopenharmony_ci          {
16423af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
16433af6ab5fSopenharmony_ci            "name": {
16443af6ab5fSopenharmony_ci              "type": "Identifier",
16453af6ab5fSopenharmony_ci              "name": "T",
16463af6ab5fSopenharmony_ci              "loc": {
16473af6ab5fSopenharmony_ci                "start": {
16483af6ab5fSopenharmony_ci                  "line": 29,
16493af6ab5fSopenharmony_ci                  "column": 41
16503af6ab5fSopenharmony_ci                },
16513af6ab5fSopenharmony_ci                "end": {
16523af6ab5fSopenharmony_ci                  "line": 29,
16533af6ab5fSopenharmony_ci                  "column": 42
16543af6ab5fSopenharmony_ci                }
16553af6ab5fSopenharmony_ci              }
16563af6ab5fSopenharmony_ci            },
16573af6ab5fSopenharmony_ci            "default": {
16583af6ab5fSopenharmony_ci              "type": "TSStringKeyword",
16593af6ab5fSopenharmony_ci              "loc": {
16603af6ab5fSopenharmony_ci                "start": {
16613af6ab5fSopenharmony_ci                  "line": 29,
16623af6ab5fSopenharmony_ci                  "column": 45
16633af6ab5fSopenharmony_ci                },
16643af6ab5fSopenharmony_ci                "end": {
16653af6ab5fSopenharmony_ci                  "line": 29,
16663af6ab5fSopenharmony_ci                  "column": 51
16673af6ab5fSopenharmony_ci                }
16683af6ab5fSopenharmony_ci              }
16693af6ab5fSopenharmony_ci            },
16703af6ab5fSopenharmony_ci            "in": false,
16713af6ab5fSopenharmony_ci            "out": false,
16723af6ab5fSopenharmony_ci            "loc": {
16733af6ab5fSopenharmony_ci              "start": {
16743af6ab5fSopenharmony_ci                "line": 29,
16753af6ab5fSopenharmony_ci                "column": 41
16763af6ab5fSopenharmony_ci              },
16773af6ab5fSopenharmony_ci              "end": {
16783af6ab5fSopenharmony_ci                "line": 29,
16793af6ab5fSopenharmony_ci                "column": 52
16803af6ab5fSopenharmony_ci              }
16813af6ab5fSopenharmony_ci            }
16823af6ab5fSopenharmony_ci          }
16833af6ab5fSopenharmony_ci        ],
16843af6ab5fSopenharmony_ci        "loc": {
16853af6ab5fSopenharmony_ci          "start": {
16863af6ab5fSopenharmony_ci            "line": 29,
16873af6ab5fSopenharmony_ci            "column": 12
16883af6ab5fSopenharmony_ci          },
16893af6ab5fSopenharmony_ci          "end": {
16903af6ab5fSopenharmony_ci            "line": 29,
16913af6ab5fSopenharmony_ci            "column": 52
16923af6ab5fSopenharmony_ci          }
16933af6ab5fSopenharmony_ci        }
16943af6ab5fSopenharmony_ci      },
16953af6ab5fSopenharmony_ci      "loc": {
16963af6ab5fSopenharmony_ci        "start": {
16973af6ab5fSopenharmony_ci          "line": 29,
16983af6ab5fSopenharmony_ci          "column": 1
16993af6ab5fSopenharmony_ci        },
17003af6ab5fSopenharmony_ci        "end": {
17013af6ab5fSopenharmony_ci          "line": 32,
17023af6ab5fSopenharmony_ci          "column": 2
17033af6ab5fSopenharmony_ci        }
17043af6ab5fSopenharmony_ci      }
17053af6ab5fSopenharmony_ci    },
17063af6ab5fSopenharmony_ci    {
17073af6ab5fSopenharmony_ci      "type": "TSInterfaceDeclaration",
17083af6ab5fSopenharmony_ci      "body": {
17093af6ab5fSopenharmony_ci        "type": "TSInterfaceBody",
17103af6ab5fSopenharmony_ci        "body": [
17113af6ab5fSopenharmony_ci          {
17123af6ab5fSopenharmony_ci            "type": "TSCallSignatureDeclaration",
17133af6ab5fSopenharmony_ci            "params": [],
17143af6ab5fSopenharmony_ci            "typeParameters": {
17153af6ab5fSopenharmony_ci              "type": "TSTypeParameterDeclaration",
17163af6ab5fSopenharmony_ci              "params": [
17173af6ab5fSopenharmony_ci                {
17183af6ab5fSopenharmony_ci                  "type": "TSTypeParameter",
17193af6ab5fSopenharmony_ci                  "name": {
17203af6ab5fSopenharmony_ci                    "type": "Identifier",
17213af6ab5fSopenharmony_ci                    "name": "A",
17223af6ab5fSopenharmony_ci                    "loc": {
17233af6ab5fSopenharmony_ci                      "start": {
17243af6ab5fSopenharmony_ci                        "line": 35,
17253af6ab5fSopenharmony_ci                        "column": 6
17263af6ab5fSopenharmony_ci                      },
17273af6ab5fSopenharmony_ci                      "end": {
17283af6ab5fSopenharmony_ci                        "line": 35,
17293af6ab5fSopenharmony_ci                        "column": 7
17303af6ab5fSopenharmony_ci                      }
17313af6ab5fSopenharmony_ci                    }
17323af6ab5fSopenharmony_ci                  },
17333af6ab5fSopenharmony_ci                  "in": false,
17343af6ab5fSopenharmony_ci                  "out": false,
17353af6ab5fSopenharmony_ci                  "loc": {
17363af6ab5fSopenharmony_ci                    "start": {
17373af6ab5fSopenharmony_ci                      "line": 35,
17383af6ab5fSopenharmony_ci                      "column": 6
17393af6ab5fSopenharmony_ci                    },
17403af6ab5fSopenharmony_ci                    "end": {
17413af6ab5fSopenharmony_ci                      "line": 35,
17423af6ab5fSopenharmony_ci                      "column": 8
17433af6ab5fSopenharmony_ci                    }
17443af6ab5fSopenharmony_ci                  }
17453af6ab5fSopenharmony_ci                }
17463af6ab5fSopenharmony_ci              ],
17473af6ab5fSopenharmony_ci              "loc": {
17483af6ab5fSopenharmony_ci                "start": {
17493af6ab5fSopenharmony_ci                  "line": 35,
17503af6ab5fSopenharmony_ci                  "column": 5
17513af6ab5fSopenharmony_ci                },
17523af6ab5fSopenharmony_ci                "end": {
17533af6ab5fSopenharmony_ci                  "line": 35,
17543af6ab5fSopenharmony_ci                  "column": 8
17553af6ab5fSopenharmony_ci                }
17563af6ab5fSopenharmony_ci              }
17573af6ab5fSopenharmony_ci            },
17583af6ab5fSopenharmony_ci            "returnType": {
17593af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
17603af6ab5fSopenharmony_ci              "loc": {
17613af6ab5fSopenharmony_ci                "start": {
17623af6ab5fSopenharmony_ci                  "line": 35,
17633af6ab5fSopenharmony_ci                  "column": 12
17643af6ab5fSopenharmony_ci                },
17653af6ab5fSopenharmony_ci                "end": {
17663af6ab5fSopenharmony_ci                  "line": 35,
17673af6ab5fSopenharmony_ci                  "column": 18
17683af6ab5fSopenharmony_ci                }
17693af6ab5fSopenharmony_ci              }
17703af6ab5fSopenharmony_ci            },
17713af6ab5fSopenharmony_ci            "loc": {
17723af6ab5fSopenharmony_ci              "start": {
17733af6ab5fSopenharmony_ci                "line": 35,
17743af6ab5fSopenharmony_ci                "column": 5
17753af6ab5fSopenharmony_ci              },
17763af6ab5fSopenharmony_ci              "end": {
17773af6ab5fSopenharmony_ci                "line": 35,
17783af6ab5fSopenharmony_ci                "column": 19
17793af6ab5fSopenharmony_ci              }
17803af6ab5fSopenharmony_ci            }
17813af6ab5fSopenharmony_ci          },
17823af6ab5fSopenharmony_ci          {
17833af6ab5fSopenharmony_ci            "type": "TSMethodSignature",
17843af6ab5fSopenharmony_ci            "computed": false,
17853af6ab5fSopenharmony_ci            "optional": false,
17863af6ab5fSopenharmony_ci            "isGetAccessor": false,
17873af6ab5fSopenharmony_ci            "isSetAccessor": false,
17883af6ab5fSopenharmony_ci            "key": {
17893af6ab5fSopenharmony_ci              "type": "Identifier",
17903af6ab5fSopenharmony_ci              "name": "readonly",
17913af6ab5fSopenharmony_ci              "loc": {
17923af6ab5fSopenharmony_ci                "start": {
17933af6ab5fSopenharmony_ci                  "line": 36,
17943af6ab5fSopenharmony_ci                  "column": 5
17953af6ab5fSopenharmony_ci                },
17963af6ab5fSopenharmony_ci                "end": {
17973af6ab5fSopenharmony_ci                  "line": 36,
17983af6ab5fSopenharmony_ci                  "column": 13
17993af6ab5fSopenharmony_ci                }
18003af6ab5fSopenharmony_ci              }
18013af6ab5fSopenharmony_ci            },
18023af6ab5fSopenharmony_ci            "params": [],
18033af6ab5fSopenharmony_ci            "typeParameters": {
18043af6ab5fSopenharmony_ci              "type": "TSTypeParameterDeclaration",
18053af6ab5fSopenharmony_ci              "params": [
18063af6ab5fSopenharmony_ci                {
18073af6ab5fSopenharmony_ci                  "type": "TSTypeParameter",
18083af6ab5fSopenharmony_ci                  "name": {
18093af6ab5fSopenharmony_ci                    "type": "Identifier",
18103af6ab5fSopenharmony_ci                    "name": "A",
18113af6ab5fSopenharmony_ci                    "loc": {
18123af6ab5fSopenharmony_ci                      "start": {
18133af6ab5fSopenharmony_ci                        "line": 36,
18143af6ab5fSopenharmony_ci                        "column": 14
18153af6ab5fSopenharmony_ci                      },
18163af6ab5fSopenharmony_ci                      "end": {
18173af6ab5fSopenharmony_ci                        "line": 36,
18183af6ab5fSopenharmony_ci                        "column": 15
18193af6ab5fSopenharmony_ci                      }
18203af6ab5fSopenharmony_ci                    }
18213af6ab5fSopenharmony_ci                  },
18223af6ab5fSopenharmony_ci                  "constraint": {
18233af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
18243af6ab5fSopenharmony_ci                    "loc": {
18253af6ab5fSopenharmony_ci                      "start": {
18263af6ab5fSopenharmony_ci                        "line": 36,
18273af6ab5fSopenharmony_ci                        "column": 24
18283af6ab5fSopenharmony_ci                      },
18293af6ab5fSopenharmony_ci                      "end": {
18303af6ab5fSopenharmony_ci                        "line": 36,
18313af6ab5fSopenharmony_ci                        "column": 30
18323af6ab5fSopenharmony_ci                      }
18333af6ab5fSopenharmony_ci                    }
18343af6ab5fSopenharmony_ci                  },
18353af6ab5fSopenharmony_ci                  "in": false,
18363af6ab5fSopenharmony_ci                  "out": false,
18373af6ab5fSopenharmony_ci                  "loc": {
18383af6ab5fSopenharmony_ci                    "start": {
18393af6ab5fSopenharmony_ci                      "line": 36,
18403af6ab5fSopenharmony_ci                      "column": 14
18413af6ab5fSopenharmony_ci                    },
18423af6ab5fSopenharmony_ci                    "end": {
18433af6ab5fSopenharmony_ci                      "line": 36,
18443af6ab5fSopenharmony_ci                      "column": 31
18453af6ab5fSopenharmony_ci                    }
18463af6ab5fSopenharmony_ci                  }
18473af6ab5fSopenharmony_ci                }
18483af6ab5fSopenharmony_ci              ],
18493af6ab5fSopenharmony_ci              "loc": {
18503af6ab5fSopenharmony_ci                "start": {
18513af6ab5fSopenharmony_ci                  "line": 36,
18523af6ab5fSopenharmony_ci                  "column": 13
18533af6ab5fSopenharmony_ci                },
18543af6ab5fSopenharmony_ci                "end": {
18553af6ab5fSopenharmony_ci                  "line": 36,
18563af6ab5fSopenharmony_ci                  "column": 31
18573af6ab5fSopenharmony_ci                }
18583af6ab5fSopenharmony_ci              }
18593af6ab5fSopenharmony_ci            },
18603af6ab5fSopenharmony_ci            "typeAnnotation": {
18613af6ab5fSopenharmony_ci              "type": "TSTupleType",
18623af6ab5fSopenharmony_ci              "elementTypes": [
18633af6ab5fSopenharmony_ci                {
18643af6ab5fSopenharmony_ci                  "type": "TSBooleanKeyword",
18653af6ab5fSopenharmony_ci                  "loc": {
18663af6ab5fSopenharmony_ci                    "start": {
18673af6ab5fSopenharmony_ci                      "line": 36,
18683af6ab5fSopenharmony_ci                      "column": 36
18693af6ab5fSopenharmony_ci                    },
18703af6ab5fSopenharmony_ci                    "end": {
18713af6ab5fSopenharmony_ci                      "line": 36,
18723af6ab5fSopenharmony_ci                      "column": 43
18733af6ab5fSopenharmony_ci                    }
18743af6ab5fSopenharmony_ci                  }
18753af6ab5fSopenharmony_ci                },
18763af6ab5fSopenharmony_ci                {
18773af6ab5fSopenharmony_ci                  "type": "TSArrayType",
18783af6ab5fSopenharmony_ci                  "elementType": {
18793af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
18803af6ab5fSopenharmony_ci                    "loc": {
18813af6ab5fSopenharmony_ci                      "start": {
18823af6ab5fSopenharmony_ci                        "line": 36,
18833af6ab5fSopenharmony_ci                        "column": 45
18843af6ab5fSopenharmony_ci                      },
18853af6ab5fSopenharmony_ci                      "end": {
18863af6ab5fSopenharmony_ci                        "line": 36,
18873af6ab5fSopenharmony_ci                        "column": 51
18883af6ab5fSopenharmony_ci                      }
18893af6ab5fSopenharmony_ci                    }
18903af6ab5fSopenharmony_ci                  },
18913af6ab5fSopenharmony_ci                  "loc": {
18923af6ab5fSopenharmony_ci                    "start": {
18933af6ab5fSopenharmony_ci                      "line": 36,
18943af6ab5fSopenharmony_ci                      "column": 45
18953af6ab5fSopenharmony_ci                    },
18963af6ab5fSopenharmony_ci                    "end": {
18973af6ab5fSopenharmony_ci                      "line": 36,
18983af6ab5fSopenharmony_ci                      "column": 53
18993af6ab5fSopenharmony_ci                    }
19003af6ab5fSopenharmony_ci                  }
19013af6ab5fSopenharmony_ci                }
19023af6ab5fSopenharmony_ci              ],
19033af6ab5fSopenharmony_ci              "loc": {
19043af6ab5fSopenharmony_ci                "start": {
19053af6ab5fSopenharmony_ci                  "line": 36,
19063af6ab5fSopenharmony_ci                  "column": 35
19073af6ab5fSopenharmony_ci                },
19083af6ab5fSopenharmony_ci                "end": {
19093af6ab5fSopenharmony_ci                  "line": 36,
19103af6ab5fSopenharmony_ci                  "column": 54
19113af6ab5fSopenharmony_ci                }
19123af6ab5fSopenharmony_ci              }
19133af6ab5fSopenharmony_ci            },
19143af6ab5fSopenharmony_ci            "loc": {
19153af6ab5fSopenharmony_ci              "start": {
19163af6ab5fSopenharmony_ci                "line": 36,
19173af6ab5fSopenharmony_ci                "column": 5
19183af6ab5fSopenharmony_ci              },
19193af6ab5fSopenharmony_ci              "end": {
19203af6ab5fSopenharmony_ci                "line": 36,
19213af6ab5fSopenharmony_ci                "column": 55
19223af6ab5fSopenharmony_ci              }
19233af6ab5fSopenharmony_ci            }
19243af6ab5fSopenharmony_ci          }
19253af6ab5fSopenharmony_ci        ],
19263af6ab5fSopenharmony_ci        "loc": {
19273af6ab5fSopenharmony_ci          "start": {
19283af6ab5fSopenharmony_ci            "line": 34,
19293af6ab5fSopenharmony_ci            "column": 117
19303af6ab5fSopenharmony_ci          },
19313af6ab5fSopenharmony_ci          "end": {
19323af6ab5fSopenharmony_ci            "line": 37,
19333af6ab5fSopenharmony_ci            "column": 2
19343af6ab5fSopenharmony_ci          }
19353af6ab5fSopenharmony_ci        }
19363af6ab5fSopenharmony_ci      },
19373af6ab5fSopenharmony_ci      "id": {
19383af6ab5fSopenharmony_ci        "type": "Identifier",
19393af6ab5fSopenharmony_ci        "name": "U",
19403af6ab5fSopenharmony_ci        "loc": {
19413af6ab5fSopenharmony_ci          "start": {
19423af6ab5fSopenharmony_ci            "line": 34,
19433af6ab5fSopenharmony_ci            "column": 11
19443af6ab5fSopenharmony_ci          },
19453af6ab5fSopenharmony_ci          "end": {
19463af6ab5fSopenharmony_ci            "line": 34,
19473af6ab5fSopenharmony_ci            "column": 12
19483af6ab5fSopenharmony_ci          }
19493af6ab5fSopenharmony_ci        }
19503af6ab5fSopenharmony_ci      },
19513af6ab5fSopenharmony_ci      "extends": [
19523af6ab5fSopenharmony_ci        {
19533af6ab5fSopenharmony_ci          "type": "TSInterfaceHeritage",
19543af6ab5fSopenharmony_ci          "expression": {
19553af6ab5fSopenharmony_ci            "type": "TSTypeReference",
19563af6ab5fSopenharmony_ci            "typeName": {
19573af6ab5fSopenharmony_ci              "type": "Identifier",
19583af6ab5fSopenharmony_ci              "name": "R",
19593af6ab5fSopenharmony_ci              "loc": {
19603af6ab5fSopenharmony_ci                "start": {
19613af6ab5fSopenharmony_ci                  "line": 34,
19623af6ab5fSopenharmony_ci                  "column": 97
19633af6ab5fSopenharmony_ci                },
19643af6ab5fSopenharmony_ci                "end": {
19653af6ab5fSopenharmony_ci                  "line": 34,
19663af6ab5fSopenharmony_ci                  "column": 98
19673af6ab5fSopenharmony_ci                }
19683af6ab5fSopenharmony_ci              }
19693af6ab5fSopenharmony_ci            },
19703af6ab5fSopenharmony_ci            "typeParameters": {
19713af6ab5fSopenharmony_ci              "type": "TSTypeParameterInstantiation",
19723af6ab5fSopenharmony_ci              "params": [
19733af6ab5fSopenharmony_ci                {
19743af6ab5fSopenharmony_ci                  "type": "TSTupleType",
19753af6ab5fSopenharmony_ci                  "elementTypes": [
19763af6ab5fSopenharmony_ci                    {
19773af6ab5fSopenharmony_ci                      "type": "TSNumberKeyword",
19783af6ab5fSopenharmony_ci                      "loc": {
19793af6ab5fSopenharmony_ci                        "start": {
19803af6ab5fSopenharmony_ci                          "line": 34,
19813af6ab5fSopenharmony_ci                          "column": 100
19823af6ab5fSopenharmony_ci                        },
19833af6ab5fSopenharmony_ci                        "end": {
19843af6ab5fSopenharmony_ci                          "line": 34,
19853af6ab5fSopenharmony_ci                          "column": 106
19863af6ab5fSopenharmony_ci                        }
19873af6ab5fSopenharmony_ci                      }
19883af6ab5fSopenharmony_ci                    },
19893af6ab5fSopenharmony_ci                    {
19903af6ab5fSopenharmony_ci                      "type": "TSStringKeyword",
19913af6ab5fSopenharmony_ci                      "loc": {
19923af6ab5fSopenharmony_ci                        "start": {
19933af6ab5fSopenharmony_ci                          "line": 34,
19943af6ab5fSopenharmony_ci                          "column": 108
19953af6ab5fSopenharmony_ci                        },
19963af6ab5fSopenharmony_ci                        "end": {
19973af6ab5fSopenharmony_ci                          "line": 34,
19983af6ab5fSopenharmony_ci                          "column": 114
19993af6ab5fSopenharmony_ci                        }
20003af6ab5fSopenharmony_ci                      }
20013af6ab5fSopenharmony_ci                    }
20023af6ab5fSopenharmony_ci                  ],
20033af6ab5fSopenharmony_ci                  "loc": {
20043af6ab5fSopenharmony_ci                    "start": {
20053af6ab5fSopenharmony_ci                      "line": 34,
20063af6ab5fSopenharmony_ci                      "column": 99
20073af6ab5fSopenharmony_ci                    },
20083af6ab5fSopenharmony_ci                    "end": {
20093af6ab5fSopenharmony_ci                      "line": 34,
20103af6ab5fSopenharmony_ci                      "column": 115
20113af6ab5fSopenharmony_ci                    }
20123af6ab5fSopenharmony_ci                  }
20133af6ab5fSopenharmony_ci                }
20143af6ab5fSopenharmony_ci              ],
20153af6ab5fSopenharmony_ci              "loc": {
20163af6ab5fSopenharmony_ci                "start": {
20173af6ab5fSopenharmony_ci                  "line": 34,
20183af6ab5fSopenharmony_ci                  "column": 98
20193af6ab5fSopenharmony_ci                },
20203af6ab5fSopenharmony_ci                "end": {
20213af6ab5fSopenharmony_ci                  "line": 34,
20223af6ab5fSopenharmony_ci                  "column": 116
20233af6ab5fSopenharmony_ci                }
20243af6ab5fSopenharmony_ci              }
20253af6ab5fSopenharmony_ci            },
20263af6ab5fSopenharmony_ci            "loc": {
20273af6ab5fSopenharmony_ci              "start": {
20283af6ab5fSopenharmony_ci                "line": 34,
20293af6ab5fSopenharmony_ci                "column": 117
20303af6ab5fSopenharmony_ci              },
20313af6ab5fSopenharmony_ci              "end": {
20323af6ab5fSopenharmony_ci                "line": 34,
20333af6ab5fSopenharmony_ci                "column": 116
20343af6ab5fSopenharmony_ci              }
20353af6ab5fSopenharmony_ci            }
20363af6ab5fSopenharmony_ci          },
20373af6ab5fSopenharmony_ci          "loc": {
20383af6ab5fSopenharmony_ci            "start": {
20393af6ab5fSopenharmony_ci              "line": 34,
20403af6ab5fSopenharmony_ci              "column": 117
20413af6ab5fSopenharmony_ci            },
20423af6ab5fSopenharmony_ci            "end": {
20433af6ab5fSopenharmony_ci              "line": 34,
20443af6ab5fSopenharmony_ci              "column": 116
20453af6ab5fSopenharmony_ci            }
20463af6ab5fSopenharmony_ci          }
20473af6ab5fSopenharmony_ci        }
20483af6ab5fSopenharmony_ci      ],
20493af6ab5fSopenharmony_ci      "typeParameters": {
20503af6ab5fSopenharmony_ci        "type": "TSTypeParameterDeclaration",
20513af6ab5fSopenharmony_ci        "params": [
20523af6ab5fSopenharmony_ci          {
20533af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
20543af6ab5fSopenharmony_ci            "name": {
20553af6ab5fSopenharmony_ci              "type": "Identifier",
20563af6ab5fSopenharmony_ci              "name": "A",
20573af6ab5fSopenharmony_ci              "loc": {
20583af6ab5fSopenharmony_ci                "start": {
20593af6ab5fSopenharmony_ci                  "line": 34,
20603af6ab5fSopenharmony_ci                  "column": 13
20613af6ab5fSopenharmony_ci                },
20623af6ab5fSopenharmony_ci                "end": {
20633af6ab5fSopenharmony_ci                  "line": 34,
20643af6ab5fSopenharmony_ci                  "column": 14
20653af6ab5fSopenharmony_ci                }
20663af6ab5fSopenharmony_ci              }
20673af6ab5fSopenharmony_ci            },
20683af6ab5fSopenharmony_ci            "constraint": {
20693af6ab5fSopenharmony_ci              "type": "TSTypeOperator",
20703af6ab5fSopenharmony_ci              "operator": "readonly",
20713af6ab5fSopenharmony_ci              "typeAnnotation": {
20723af6ab5fSopenharmony_ci                "type": "TSTupleType",
20733af6ab5fSopenharmony_ci                "elementTypes": [
20743af6ab5fSopenharmony_ci                  {
20753af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
20763af6ab5fSopenharmony_ci                    "loc": {
20773af6ab5fSopenharmony_ci                      "start": {
20783af6ab5fSopenharmony_ci                        "line": 34,
20793af6ab5fSopenharmony_ci                        "column": 33
20803af6ab5fSopenharmony_ci                      },
20813af6ab5fSopenharmony_ci                      "end": {
20823af6ab5fSopenharmony_ci                        "line": 34,
20833af6ab5fSopenharmony_ci                        "column": 39
20843af6ab5fSopenharmony_ci                      }
20853af6ab5fSopenharmony_ci                    }
20863af6ab5fSopenharmony_ci                  },
20873af6ab5fSopenharmony_ci                  {
20883af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
20893af6ab5fSopenharmony_ci                    "loc": {
20903af6ab5fSopenharmony_ci                      "start": {
20913af6ab5fSopenharmony_ci                        "line": 34,
20923af6ab5fSopenharmony_ci                        "column": 41
20933af6ab5fSopenharmony_ci                      },
20943af6ab5fSopenharmony_ci                      "end": {
20953af6ab5fSopenharmony_ci                        "line": 34,
20963af6ab5fSopenharmony_ci                        "column": 47
20973af6ab5fSopenharmony_ci                      }
20983af6ab5fSopenharmony_ci                    }
20993af6ab5fSopenharmony_ci                  },
21003af6ab5fSopenharmony_ci                  {
21013af6ab5fSopenharmony_ci                    "type": "TSTypeLiteral",
21023af6ab5fSopenharmony_ci                    "members": [
21033af6ab5fSopenharmony_ci                      {
21043af6ab5fSopenharmony_ci                        "type": "TSPropertySignature",
21053af6ab5fSopenharmony_ci                        "computed": false,
21063af6ab5fSopenharmony_ci                        "optional": false,
21073af6ab5fSopenharmony_ci                        "readonly": false,
21083af6ab5fSopenharmony_ci                        "key": {
21093af6ab5fSopenharmony_ci                          "type": "Identifier",
21103af6ab5fSopenharmony_ci                          "name": "a",
21113af6ab5fSopenharmony_ci                          "loc": {
21123af6ab5fSopenharmony_ci                            "start": {
21133af6ab5fSopenharmony_ci                              "line": 34,
21143af6ab5fSopenharmony_ci                              "column": 51
21153af6ab5fSopenharmony_ci                            },
21163af6ab5fSopenharmony_ci                            "end": {
21173af6ab5fSopenharmony_ci                              "line": 34,
21183af6ab5fSopenharmony_ci                              "column": 52
21193af6ab5fSopenharmony_ci                            }
21203af6ab5fSopenharmony_ci                          }
21213af6ab5fSopenharmony_ci                        },
21223af6ab5fSopenharmony_ci                        "typeAnnotation": {
21233af6ab5fSopenharmony_ci                          "type": "TSNumberKeyword",
21243af6ab5fSopenharmony_ci                          "loc": {
21253af6ab5fSopenharmony_ci                            "start": {
21263af6ab5fSopenharmony_ci                              "line": 34,
21273af6ab5fSopenharmony_ci                              "column": 54
21283af6ab5fSopenharmony_ci                            },
21293af6ab5fSopenharmony_ci                            "end": {
21303af6ab5fSopenharmony_ci                              "line": 34,
21313af6ab5fSopenharmony_ci                              "column": 60
21323af6ab5fSopenharmony_ci                            }
21333af6ab5fSopenharmony_ci                          }
21343af6ab5fSopenharmony_ci                        },
21353af6ab5fSopenharmony_ci                        "loc": {
21363af6ab5fSopenharmony_ci                          "start": {
21373af6ab5fSopenharmony_ci                            "line": 34,
21383af6ab5fSopenharmony_ci                            "column": 51
21393af6ab5fSopenharmony_ci                          },
21403af6ab5fSopenharmony_ci                          "end": {
21413af6ab5fSopenharmony_ci                            "line": 34,
21423af6ab5fSopenharmony_ci                            "column": 61
21433af6ab5fSopenharmony_ci                          }
21443af6ab5fSopenharmony_ci                        }
21453af6ab5fSopenharmony_ci                      },
21463af6ab5fSopenharmony_ci                      {
21473af6ab5fSopenharmony_ci                        "type": "TSPropertySignature",
21483af6ab5fSopenharmony_ci                        "computed": false,
21493af6ab5fSopenharmony_ci                        "optional": false,
21503af6ab5fSopenharmony_ci                        "readonly": false,
21513af6ab5fSopenharmony_ci                        "key": {
21523af6ab5fSopenharmony_ci                          "type": "Identifier",
21533af6ab5fSopenharmony_ci                          "name": "b",
21543af6ab5fSopenharmony_ci                          "loc": {
21553af6ab5fSopenharmony_ci                            "start": {
21563af6ab5fSopenharmony_ci                              "line": 34,
21573af6ab5fSopenharmony_ci                              "column": 62
21583af6ab5fSopenharmony_ci                            },
21593af6ab5fSopenharmony_ci                            "end": {
21603af6ab5fSopenharmony_ci                              "line": 34,
21613af6ab5fSopenharmony_ci                              "column": 63
21623af6ab5fSopenharmony_ci                            }
21633af6ab5fSopenharmony_ci                          }
21643af6ab5fSopenharmony_ci                        },
21653af6ab5fSopenharmony_ci                        "typeAnnotation": {
21663af6ab5fSopenharmony_ci                          "type": "TSStringKeyword",
21673af6ab5fSopenharmony_ci                          "loc": {
21683af6ab5fSopenharmony_ci                            "start": {
21693af6ab5fSopenharmony_ci                              "line": 34,
21703af6ab5fSopenharmony_ci                              "column": 65
21713af6ab5fSopenharmony_ci                            },
21723af6ab5fSopenharmony_ci                            "end": {
21733af6ab5fSopenharmony_ci                              "line": 34,
21743af6ab5fSopenharmony_ci                              "column": 71
21753af6ab5fSopenharmony_ci                            }
21763af6ab5fSopenharmony_ci                          }
21773af6ab5fSopenharmony_ci                        },
21783af6ab5fSopenharmony_ci                        "loc": {
21793af6ab5fSopenharmony_ci                          "start": {
21803af6ab5fSopenharmony_ci                            "line": 34,
21813af6ab5fSopenharmony_ci                            "column": 62
21823af6ab5fSopenharmony_ci                          },
21833af6ab5fSopenharmony_ci                          "end": {
21843af6ab5fSopenharmony_ci                            "line": 34,
21853af6ab5fSopenharmony_ci                            "column": 73
21863af6ab5fSopenharmony_ci                          }
21873af6ab5fSopenharmony_ci                        }
21883af6ab5fSopenharmony_ci                      }
21893af6ab5fSopenharmony_ci                    ],
21903af6ab5fSopenharmony_ci                    "loc": {
21913af6ab5fSopenharmony_ci                      "start": {
21923af6ab5fSopenharmony_ci                        "line": 34,
21933af6ab5fSopenharmony_ci                        "column": 49
21943af6ab5fSopenharmony_ci                      },
21953af6ab5fSopenharmony_ci                      "end": {
21963af6ab5fSopenharmony_ci                        "line": 34,
21973af6ab5fSopenharmony_ci                        "column": 73
21983af6ab5fSopenharmony_ci                      }
21993af6ab5fSopenharmony_ci                    }
22003af6ab5fSopenharmony_ci                  }
22013af6ab5fSopenharmony_ci                ],
22023af6ab5fSopenharmony_ci                "loc": {
22033af6ab5fSopenharmony_ci                  "start": {
22043af6ab5fSopenharmony_ci                    "line": 34,
22053af6ab5fSopenharmony_ci                    "column": 32
22063af6ab5fSopenharmony_ci                  },
22073af6ab5fSopenharmony_ci                  "end": {
22083af6ab5fSopenharmony_ci                    "line": 34,
22093af6ab5fSopenharmony_ci                    "column": 74
22103af6ab5fSopenharmony_ci                  }
22113af6ab5fSopenharmony_ci                }
22123af6ab5fSopenharmony_ci              },
22133af6ab5fSopenharmony_ci              "loc": {
22143af6ab5fSopenharmony_ci                "start": {
22153af6ab5fSopenharmony_ci                  "line": 34,
22163af6ab5fSopenharmony_ci                  "column": 23
22173af6ab5fSopenharmony_ci                },
22183af6ab5fSopenharmony_ci                "end": {
22193af6ab5fSopenharmony_ci                  "line": 34,
22203af6ab5fSopenharmony_ci                  "column": 74
22213af6ab5fSopenharmony_ci                }
22223af6ab5fSopenharmony_ci              }
22233af6ab5fSopenharmony_ci            },
22243af6ab5fSopenharmony_ci            "in": false,
22253af6ab5fSopenharmony_ci            "out": false,
22263af6ab5fSopenharmony_ci            "loc": {
22273af6ab5fSopenharmony_ci              "start": {
22283af6ab5fSopenharmony_ci                "line": 34,
22293af6ab5fSopenharmony_ci                "column": 13
22303af6ab5fSopenharmony_ci              },
22313af6ab5fSopenharmony_ci              "end": {
22323af6ab5fSopenharmony_ci                "line": 34,
22333af6ab5fSopenharmony_ci                "column": 75
22343af6ab5fSopenharmony_ci              }
22353af6ab5fSopenharmony_ci            }
22363af6ab5fSopenharmony_ci          },
22373af6ab5fSopenharmony_ci          {
22383af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
22393af6ab5fSopenharmony_ci            "name": {
22403af6ab5fSopenharmony_ci              "type": "Identifier",
22413af6ab5fSopenharmony_ci              "name": "Z",
22423af6ab5fSopenharmony_ci              "loc": {
22433af6ab5fSopenharmony_ci                "start": {
22443af6ab5fSopenharmony_ci                  "line": 34,
22453af6ab5fSopenharmony_ci                  "column": 76
22463af6ab5fSopenharmony_ci                },
22473af6ab5fSopenharmony_ci                "end": {
22483af6ab5fSopenharmony_ci                  "line": 34,
22493af6ab5fSopenharmony_ci                  "column": 77
22503af6ab5fSopenharmony_ci                }
22513af6ab5fSopenharmony_ci              }
22523af6ab5fSopenharmony_ci            },
22533af6ab5fSopenharmony_ci            "default": {
22543af6ab5fSopenharmony_ci              "type": "TSBooleanKeyword",
22553af6ab5fSopenharmony_ci              "loc": {
22563af6ab5fSopenharmony_ci                "start": {
22573af6ab5fSopenharmony_ci                  "line": 34,
22583af6ab5fSopenharmony_ci                  "column": 80
22593af6ab5fSopenharmony_ci                },
22603af6ab5fSopenharmony_ci                "end": {
22613af6ab5fSopenharmony_ci                  "line": 34,
22623af6ab5fSopenharmony_ci                  "column": 87
22633af6ab5fSopenharmony_ci                }
22643af6ab5fSopenharmony_ci              }
22653af6ab5fSopenharmony_ci            },
22663af6ab5fSopenharmony_ci            "in": false,
22673af6ab5fSopenharmony_ci            "out": false,
22683af6ab5fSopenharmony_ci            "loc": {
22693af6ab5fSopenharmony_ci              "start": {
22703af6ab5fSopenharmony_ci                "line": 34,
22713af6ab5fSopenharmony_ci                "column": 76
22723af6ab5fSopenharmony_ci              },
22733af6ab5fSopenharmony_ci              "end": {
22743af6ab5fSopenharmony_ci                "line": 34,
22753af6ab5fSopenharmony_ci                "column": 88
22763af6ab5fSopenharmony_ci              }
22773af6ab5fSopenharmony_ci            }
22783af6ab5fSopenharmony_ci          }
22793af6ab5fSopenharmony_ci        ],
22803af6ab5fSopenharmony_ci        "loc": {
22813af6ab5fSopenharmony_ci          "start": {
22823af6ab5fSopenharmony_ci            "line": 34,
22833af6ab5fSopenharmony_ci            "column": 12
22843af6ab5fSopenharmony_ci          },
22853af6ab5fSopenharmony_ci          "end": {
22863af6ab5fSopenharmony_ci            "line": 34,
22873af6ab5fSopenharmony_ci            "column": 88
22883af6ab5fSopenharmony_ci          }
22893af6ab5fSopenharmony_ci        }
22903af6ab5fSopenharmony_ci      },
22913af6ab5fSopenharmony_ci      "loc": {
22923af6ab5fSopenharmony_ci        "start": {
22933af6ab5fSopenharmony_ci          "line": 34,
22943af6ab5fSopenharmony_ci          "column": 1
22953af6ab5fSopenharmony_ci        },
22963af6ab5fSopenharmony_ci        "end": {
22973af6ab5fSopenharmony_ci          "line": 37,
22983af6ab5fSopenharmony_ci          "column": 2
22993af6ab5fSopenharmony_ci        }
23003af6ab5fSopenharmony_ci      }
23013af6ab5fSopenharmony_ci    },
23023af6ab5fSopenharmony_ci    {
23033af6ab5fSopenharmony_ci      "type": "ExpressionStatement",
23043af6ab5fSopenharmony_ci      "expression": {
23053af6ab5fSopenharmony_ci        "type": "CallExpression",
23063af6ab5fSopenharmony_ci        "callee": {
23073af6ab5fSopenharmony_ci          "type": "Identifier",
23083af6ab5fSopenharmony_ci          "name": "func1",
23093af6ab5fSopenharmony_ci          "loc": {
23103af6ab5fSopenharmony_ci            "start": {
23113af6ab5fSopenharmony_ci              "line": 39,
23123af6ab5fSopenharmony_ci              "column": 1
23133af6ab5fSopenharmony_ci            },
23143af6ab5fSopenharmony_ci            "end": {
23153af6ab5fSopenharmony_ci              "line": 39,
23163af6ab5fSopenharmony_ci              "column": 6
23173af6ab5fSopenharmony_ci            }
23183af6ab5fSopenharmony_ci          }
23193af6ab5fSopenharmony_ci        },
23203af6ab5fSopenharmony_ci        "arguments": [],
23213af6ab5fSopenharmony_ci        "optional": false,
23223af6ab5fSopenharmony_ci        "typeParameters": {
23233af6ab5fSopenharmony_ci          "type": "TSTypeParameterInstantiation",
23243af6ab5fSopenharmony_ci          "params": [
23253af6ab5fSopenharmony_ci            {
23263af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
23273af6ab5fSopenharmony_ci              "loc": {
23283af6ab5fSopenharmony_ci                "start": {
23293af6ab5fSopenharmony_ci                  "line": 39,
23303af6ab5fSopenharmony_ci                  "column": 7
23313af6ab5fSopenharmony_ci                },
23323af6ab5fSopenharmony_ci                "end": {
23333af6ab5fSopenharmony_ci                  "line": 39,
23343af6ab5fSopenharmony_ci                  "column": 13
23353af6ab5fSopenharmony_ci                }
23363af6ab5fSopenharmony_ci              }
23373af6ab5fSopenharmony_ci            },
23383af6ab5fSopenharmony_ci            {
23393af6ab5fSopenharmony_ci              "type": "TSStringKeyword",
23403af6ab5fSopenharmony_ci              "loc": {
23413af6ab5fSopenharmony_ci                "start": {
23423af6ab5fSopenharmony_ci                  "line": 39,
23433af6ab5fSopenharmony_ci                  "column": 15
23443af6ab5fSopenharmony_ci                },
23453af6ab5fSopenharmony_ci                "end": {
23463af6ab5fSopenharmony_ci                  "line": 39,
23473af6ab5fSopenharmony_ci                  "column": 21
23483af6ab5fSopenharmony_ci                }
23493af6ab5fSopenharmony_ci              }
23503af6ab5fSopenharmony_ci            },
23513af6ab5fSopenharmony_ci            {
23523af6ab5fSopenharmony_ci              "type": "TSTupleType",
23533af6ab5fSopenharmony_ci              "elementTypes": [
23543af6ab5fSopenharmony_ci                {
23553af6ab5fSopenharmony_ci                  "type": "TSLiteralType",
23563af6ab5fSopenharmony_ci                  "literal": {
23573af6ab5fSopenharmony_ci                    "type": "NumberLiteral",
23583af6ab5fSopenharmony_ci                    "value": 1,
23593af6ab5fSopenharmony_ci                    "loc": {
23603af6ab5fSopenharmony_ci                      "start": {
23613af6ab5fSopenharmony_ci                        "line": 39,
23623af6ab5fSopenharmony_ci                        "column": 24
23633af6ab5fSopenharmony_ci                      },
23643af6ab5fSopenharmony_ci                      "end": {
23653af6ab5fSopenharmony_ci                        "line": 39,
23663af6ab5fSopenharmony_ci                        "column": 25
23673af6ab5fSopenharmony_ci                      }
23683af6ab5fSopenharmony_ci                    }
23693af6ab5fSopenharmony_ci                  },
23703af6ab5fSopenharmony_ci                  "loc": {
23713af6ab5fSopenharmony_ci                    "start": {
23723af6ab5fSopenharmony_ci                      "line": 39,
23733af6ab5fSopenharmony_ci                      "column": 24
23743af6ab5fSopenharmony_ci                    },
23753af6ab5fSopenharmony_ci                    "end": {
23763af6ab5fSopenharmony_ci                      "line": 39,
23773af6ab5fSopenharmony_ci                      "column": 25
23783af6ab5fSopenharmony_ci                    }
23793af6ab5fSopenharmony_ci                  }
23803af6ab5fSopenharmony_ci                },
23813af6ab5fSopenharmony_ci                {
23823af6ab5fSopenharmony_ci                  "type": "TSLiteralType",
23833af6ab5fSopenharmony_ci                  "literal": {
23843af6ab5fSopenharmony_ci                    "type": "NumberLiteral",
23853af6ab5fSopenharmony_ci                    "value": 2,
23863af6ab5fSopenharmony_ci                    "loc": {
23873af6ab5fSopenharmony_ci                      "start": {
23883af6ab5fSopenharmony_ci                        "line": 39,
23893af6ab5fSopenharmony_ci                        "column": 27
23903af6ab5fSopenharmony_ci                      },
23913af6ab5fSopenharmony_ci                      "end": {
23923af6ab5fSopenharmony_ci                        "line": 39,
23933af6ab5fSopenharmony_ci                        "column": 28
23943af6ab5fSopenharmony_ci                      }
23953af6ab5fSopenharmony_ci                    }
23963af6ab5fSopenharmony_ci                  },
23973af6ab5fSopenharmony_ci                  "loc": {
23983af6ab5fSopenharmony_ci                    "start": {
23993af6ab5fSopenharmony_ci                      "line": 39,
24003af6ab5fSopenharmony_ci                      "column": 27
24013af6ab5fSopenharmony_ci                    },
24023af6ab5fSopenharmony_ci                    "end": {
24033af6ab5fSopenharmony_ci                      "line": 39,
24043af6ab5fSopenharmony_ci                      "column": 28
24053af6ab5fSopenharmony_ci                    }
24063af6ab5fSopenharmony_ci                  }
24073af6ab5fSopenharmony_ci                },
24083af6ab5fSopenharmony_ci                {
24093af6ab5fSopenharmony_ci                  "type": "TSLiteralType",
24103af6ab5fSopenharmony_ci                  "literal": {
24113af6ab5fSopenharmony_ci                    "type": "NumberLiteral",
24123af6ab5fSopenharmony_ci                    "value": 3,
24133af6ab5fSopenharmony_ci                    "loc": {
24143af6ab5fSopenharmony_ci                      "start": {
24153af6ab5fSopenharmony_ci                        "line": 39,
24163af6ab5fSopenharmony_ci                        "column": 30
24173af6ab5fSopenharmony_ci                      },
24183af6ab5fSopenharmony_ci                      "end": {
24193af6ab5fSopenharmony_ci                        "line": 39,
24203af6ab5fSopenharmony_ci                        "column": 31
24213af6ab5fSopenharmony_ci                      }
24223af6ab5fSopenharmony_ci                    }
24233af6ab5fSopenharmony_ci                  },
24243af6ab5fSopenharmony_ci                  "loc": {
24253af6ab5fSopenharmony_ci                    "start": {
24263af6ab5fSopenharmony_ci                      "line": 39,
24273af6ab5fSopenharmony_ci                      "column": 30
24283af6ab5fSopenharmony_ci                    },
24293af6ab5fSopenharmony_ci                    "end": {
24303af6ab5fSopenharmony_ci                      "line": 39,
24313af6ab5fSopenharmony_ci                      "column": 31
24323af6ab5fSopenharmony_ci                    }
24333af6ab5fSopenharmony_ci                  }
24343af6ab5fSopenharmony_ci                }
24353af6ab5fSopenharmony_ci              ],
24363af6ab5fSopenharmony_ci              "loc": {
24373af6ab5fSopenharmony_ci                "start": {
24383af6ab5fSopenharmony_ci                  "line": 39,
24393af6ab5fSopenharmony_ci                  "column": 23
24403af6ab5fSopenharmony_ci                },
24413af6ab5fSopenharmony_ci                "end": {
24423af6ab5fSopenharmony_ci                  "line": 39,
24433af6ab5fSopenharmony_ci                  "column": 32
24443af6ab5fSopenharmony_ci                }
24453af6ab5fSopenharmony_ci              }
24463af6ab5fSopenharmony_ci            }
24473af6ab5fSopenharmony_ci          ],
24483af6ab5fSopenharmony_ci          "loc": {
24493af6ab5fSopenharmony_ci            "start": {
24503af6ab5fSopenharmony_ci              "line": 39,
24513af6ab5fSopenharmony_ci              "column": 6
24523af6ab5fSopenharmony_ci            },
24533af6ab5fSopenharmony_ci            "end": {
24543af6ab5fSopenharmony_ci              "line": 39,
24553af6ab5fSopenharmony_ci              "column": 33
24563af6ab5fSopenharmony_ci            }
24573af6ab5fSopenharmony_ci          }
24583af6ab5fSopenharmony_ci        },
24593af6ab5fSopenharmony_ci        "loc": {
24603af6ab5fSopenharmony_ci          "start": {
24613af6ab5fSopenharmony_ci            "line": 39,
24623af6ab5fSopenharmony_ci            "column": 1
24633af6ab5fSopenharmony_ci          },
24643af6ab5fSopenharmony_ci          "end": {
24653af6ab5fSopenharmony_ci            "line": 39,
24663af6ab5fSopenharmony_ci            "column": 35
24673af6ab5fSopenharmony_ci          }
24683af6ab5fSopenharmony_ci        }
24693af6ab5fSopenharmony_ci      },
24703af6ab5fSopenharmony_ci      "loc": {
24713af6ab5fSopenharmony_ci        "start": {
24723af6ab5fSopenharmony_ci          "line": 39,
24733af6ab5fSopenharmony_ci          "column": 1
24743af6ab5fSopenharmony_ci        },
24753af6ab5fSopenharmony_ci        "end": {
24763af6ab5fSopenharmony_ci          "line": 39,
24773af6ab5fSopenharmony_ci          "column": 35
24783af6ab5fSopenharmony_ci        }
24793af6ab5fSopenharmony_ci      }
24803af6ab5fSopenharmony_ci    },
24813af6ab5fSopenharmony_ci    {
24823af6ab5fSopenharmony_ci      "type": "ExpressionStatement",
24833af6ab5fSopenharmony_ci      "expression": {
24843af6ab5fSopenharmony_ci        "type": "CallExpression",
24853af6ab5fSopenharmony_ci        "callee": {
24863af6ab5fSopenharmony_ci          "type": "Identifier",
24873af6ab5fSopenharmony_ci          "name": "func2",
24883af6ab5fSopenharmony_ci          "loc": {
24893af6ab5fSopenharmony_ci            "start": {
24903af6ab5fSopenharmony_ci              "line": 40,
24913af6ab5fSopenharmony_ci              "column": 1
24923af6ab5fSopenharmony_ci            },
24933af6ab5fSopenharmony_ci            "end": {
24943af6ab5fSopenharmony_ci              "line": 40,
24953af6ab5fSopenharmony_ci              "column": 6
24963af6ab5fSopenharmony_ci            }
24973af6ab5fSopenharmony_ci          }
24983af6ab5fSopenharmony_ci        },
24993af6ab5fSopenharmony_ci        "arguments": [],
25003af6ab5fSopenharmony_ci        "optional": false,
25013af6ab5fSopenharmony_ci        "typeParameters": {
25023af6ab5fSopenharmony_ci          "type": "TSTypeParameterInstantiation",
25033af6ab5fSopenharmony_ci          "params": [
25043af6ab5fSopenharmony_ci            {
25053af6ab5fSopenharmony_ci              "type": "TSFunctionType",
25063af6ab5fSopenharmony_ci              "params": [],
25073af6ab5fSopenharmony_ci              "typeParameters": {
25083af6ab5fSopenharmony_ci                "type": "TSTypeParameterDeclaration",
25093af6ab5fSopenharmony_ci                "params": [
25103af6ab5fSopenharmony_ci                  {
25113af6ab5fSopenharmony_ci                    "type": "TSTypeParameter",
25123af6ab5fSopenharmony_ci                    "name": {
25133af6ab5fSopenharmony_ci                      "type": "Identifier",
25143af6ab5fSopenharmony_ci                      "name": "A",
25153af6ab5fSopenharmony_ci                      "loc": {
25163af6ab5fSopenharmony_ci                        "start": {
25173af6ab5fSopenharmony_ci                          "line": 40,
25183af6ab5fSopenharmony_ci                          "column": 8
25193af6ab5fSopenharmony_ci                        },
25203af6ab5fSopenharmony_ci                        "end": {
25213af6ab5fSopenharmony_ci                          "line": 40,
25223af6ab5fSopenharmony_ci                          "column": 9
25233af6ab5fSopenharmony_ci                        }
25243af6ab5fSopenharmony_ci                      }
25253af6ab5fSopenharmony_ci                    },
25263af6ab5fSopenharmony_ci                    "in": false,
25273af6ab5fSopenharmony_ci                    "out": false,
25283af6ab5fSopenharmony_ci                    "loc": {
25293af6ab5fSopenharmony_ci                      "start": {
25303af6ab5fSopenharmony_ci                        "line": 40,
25313af6ab5fSopenharmony_ci                        "column": 8
25323af6ab5fSopenharmony_ci                      },
25333af6ab5fSopenharmony_ci                      "end": {
25343af6ab5fSopenharmony_ci                        "line": 40,
25353af6ab5fSopenharmony_ci                        "column": 10
25363af6ab5fSopenharmony_ci                      }
25373af6ab5fSopenharmony_ci                    }
25383af6ab5fSopenharmony_ci                  }
25393af6ab5fSopenharmony_ci                ],
25403af6ab5fSopenharmony_ci                "loc": {
25413af6ab5fSopenharmony_ci                  "start": {
25423af6ab5fSopenharmony_ci                    "line": 40,
25433af6ab5fSopenharmony_ci                    "column": 7
25443af6ab5fSopenharmony_ci                  },
25453af6ab5fSopenharmony_ci                  "end": {
25463af6ab5fSopenharmony_ci                    "line": 40,
25473af6ab5fSopenharmony_ci                    "column": 10
25483af6ab5fSopenharmony_ci                  }
25493af6ab5fSopenharmony_ci                }
25503af6ab5fSopenharmony_ci              },
25513af6ab5fSopenharmony_ci              "returnType": {
25523af6ab5fSopenharmony_ci                "type": "TSTypeLiteral",
25533af6ab5fSopenharmony_ci                "members": [],
25543af6ab5fSopenharmony_ci                "loc": {
25553af6ab5fSopenharmony_ci                  "start": {
25563af6ab5fSopenharmony_ci                    "line": 40,
25573af6ab5fSopenharmony_ci                    "column": 16
25583af6ab5fSopenharmony_ci                  },
25593af6ab5fSopenharmony_ci                  "end": {
25603af6ab5fSopenharmony_ci                    "line": 40,
25613af6ab5fSopenharmony_ci                    "column": 18
25623af6ab5fSopenharmony_ci                  }
25633af6ab5fSopenharmony_ci                }
25643af6ab5fSopenharmony_ci              },
25653af6ab5fSopenharmony_ci              "loc": {
25663af6ab5fSopenharmony_ci                "start": {
25673af6ab5fSopenharmony_ci                  "line": 40,
25683af6ab5fSopenharmony_ci                  "column": 7
25693af6ab5fSopenharmony_ci                },
25703af6ab5fSopenharmony_ci                "end": {
25713af6ab5fSopenharmony_ci                  "line": 40,
25723af6ab5fSopenharmony_ci                  "column": 18
25733af6ab5fSopenharmony_ci                }
25743af6ab5fSopenharmony_ci              }
25753af6ab5fSopenharmony_ci            }
25763af6ab5fSopenharmony_ci          ],
25773af6ab5fSopenharmony_ci          "loc": {
25783af6ab5fSopenharmony_ci            "start": {
25793af6ab5fSopenharmony_ci              "line": 40,
25803af6ab5fSopenharmony_ci              "column": 6
25813af6ab5fSopenharmony_ci            },
25823af6ab5fSopenharmony_ci            "end": {
25833af6ab5fSopenharmony_ci              "line": 40,
25843af6ab5fSopenharmony_ci              "column": 19
25853af6ab5fSopenharmony_ci            }
25863af6ab5fSopenharmony_ci          }
25873af6ab5fSopenharmony_ci        },
25883af6ab5fSopenharmony_ci        "loc": {
25893af6ab5fSopenharmony_ci          "start": {
25903af6ab5fSopenharmony_ci            "line": 40,
25913af6ab5fSopenharmony_ci            "column": 1
25923af6ab5fSopenharmony_ci          },
25933af6ab5fSopenharmony_ci          "end": {
25943af6ab5fSopenharmony_ci            "line": 40,
25953af6ab5fSopenharmony_ci            "column": 21
25963af6ab5fSopenharmony_ci          }
25973af6ab5fSopenharmony_ci        }
25983af6ab5fSopenharmony_ci      },
25993af6ab5fSopenharmony_ci      "loc": {
26003af6ab5fSopenharmony_ci        "start": {
26013af6ab5fSopenharmony_ci          "line": 40,
26023af6ab5fSopenharmony_ci          "column": 1
26033af6ab5fSopenharmony_ci        },
26043af6ab5fSopenharmony_ci        "end": {
26053af6ab5fSopenharmony_ci          "line": 40,
26063af6ab5fSopenharmony_ci          "column": 22
26073af6ab5fSopenharmony_ci        }
26083af6ab5fSopenharmony_ci      }
26093af6ab5fSopenharmony_ci    },
26103af6ab5fSopenharmony_ci    {
26113af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
26123af6ab5fSopenharmony_ci      "declarations": [
26133af6ab5fSopenharmony_ci        {
26143af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
26153af6ab5fSopenharmony_ci          "id": {
26163af6ab5fSopenharmony_ci            "type": "Identifier",
26173af6ab5fSopenharmony_ci            "name": "o",
26183af6ab5fSopenharmony_ci            "loc": {
26193af6ab5fSopenharmony_ci              "start": {
26203af6ab5fSopenharmony_ci                "line": 42,
26213af6ab5fSopenharmony_ci                "column": 5
26223af6ab5fSopenharmony_ci              },
26233af6ab5fSopenharmony_ci              "end": {
26243af6ab5fSopenharmony_ci                "line": 42,
26253af6ab5fSopenharmony_ci                "column": 6
26263af6ab5fSopenharmony_ci              }
26273af6ab5fSopenharmony_ci            }
26283af6ab5fSopenharmony_ci          },
26293af6ab5fSopenharmony_ci          "init": {
26303af6ab5fSopenharmony_ci            "type": "ObjectExpression",
26313af6ab5fSopenharmony_ci            "properties": [
26323af6ab5fSopenharmony_ci              {
26333af6ab5fSopenharmony_ci                "type": "Property",
26343af6ab5fSopenharmony_ci                "method": false,
26353af6ab5fSopenharmony_ci                "shorthand": false,
26363af6ab5fSopenharmony_ci                "computed": false,
26373af6ab5fSopenharmony_ci                "key": {
26383af6ab5fSopenharmony_ci                  "type": "Identifier",
26393af6ab5fSopenharmony_ci                  "name": "a",
26403af6ab5fSopenharmony_ci                  "loc": {
26413af6ab5fSopenharmony_ci                    "start": {
26423af6ab5fSopenharmony_ci                      "line": 43,
26433af6ab5fSopenharmony_ci                      "column": 5
26443af6ab5fSopenharmony_ci                    },
26453af6ab5fSopenharmony_ci                    "end": {
26463af6ab5fSopenharmony_ci                      "line": 43,
26473af6ab5fSopenharmony_ci                      "column": 6
26483af6ab5fSopenharmony_ci                    }
26493af6ab5fSopenharmony_ci                  }
26503af6ab5fSopenharmony_ci                },
26513af6ab5fSopenharmony_ci                "value": {
26523af6ab5fSopenharmony_ci                  "type": "FunctionExpression",
26533af6ab5fSopenharmony_ci                  "function": {
26543af6ab5fSopenharmony_ci                    "type": "ScriptFunction",
26553af6ab5fSopenharmony_ci                    "id": null,
26563af6ab5fSopenharmony_ci                    "generator": false,
26573af6ab5fSopenharmony_ci                    "async": false,
26583af6ab5fSopenharmony_ci                    "expression": false,
26593af6ab5fSopenharmony_ci                    "params": [],
26603af6ab5fSopenharmony_ci                    "typeParameters": {
26613af6ab5fSopenharmony_ci                      "type": "TSTypeParameterDeclaration",
26623af6ab5fSopenharmony_ci                      "params": [
26633af6ab5fSopenharmony_ci                        {
26643af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
26653af6ab5fSopenharmony_ci                          "name": {
26663af6ab5fSopenharmony_ci                            "type": "Identifier",
26673af6ab5fSopenharmony_ci                            "name": "B",
26683af6ab5fSopenharmony_ci                            "loc": {
26693af6ab5fSopenharmony_ci                              "start": {
26703af6ab5fSopenharmony_ci                                "line": 43,
26713af6ab5fSopenharmony_ci                                "column": 18
26723af6ab5fSopenharmony_ci                              },
26733af6ab5fSopenharmony_ci                              "end": {
26743af6ab5fSopenharmony_ci                                "line": 43,
26753af6ab5fSopenharmony_ci                                "column": 19
26763af6ab5fSopenharmony_ci                              }
26773af6ab5fSopenharmony_ci                            }
26783af6ab5fSopenharmony_ci                          },
26793af6ab5fSopenharmony_ci                          "in": false,
26803af6ab5fSopenharmony_ci                          "out": false,
26813af6ab5fSopenharmony_ci                          "loc": {
26823af6ab5fSopenharmony_ci                            "start": {
26833af6ab5fSopenharmony_ci                              "line": 43,
26843af6ab5fSopenharmony_ci                              "column": 18
26853af6ab5fSopenharmony_ci                            },
26863af6ab5fSopenharmony_ci                            "end": {
26873af6ab5fSopenharmony_ci                              "line": 43,
26883af6ab5fSopenharmony_ci                              "column": 20
26893af6ab5fSopenharmony_ci                            }
26903af6ab5fSopenharmony_ci                          }
26913af6ab5fSopenharmony_ci                        },
26923af6ab5fSopenharmony_ci                        {
26933af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
26943af6ab5fSopenharmony_ci                          "name": {
26953af6ab5fSopenharmony_ci                            "type": "Identifier",
26963af6ab5fSopenharmony_ci                            "name": "C",
26973af6ab5fSopenharmony_ci                            "loc": {
26983af6ab5fSopenharmony_ci                              "start": {
26993af6ab5fSopenharmony_ci                                "line": 43,
27003af6ab5fSopenharmony_ci                                "column": 21
27013af6ab5fSopenharmony_ci                              },
27023af6ab5fSopenharmony_ci                              "end": {
27033af6ab5fSopenharmony_ci                                "line": 43,
27043af6ab5fSopenharmony_ci                                "column": 22
27053af6ab5fSopenharmony_ci                              }
27063af6ab5fSopenharmony_ci                            }
27073af6ab5fSopenharmony_ci                          },
27083af6ab5fSopenharmony_ci                          "constraint": {
27093af6ab5fSopenharmony_ci                            "type": "TSTypeQuery",
27103af6ab5fSopenharmony_ci                            "exprName": {
27113af6ab5fSopenharmony_ci                              "type": "Identifier",
27123af6ab5fSopenharmony_ci                              "name": "func1",
27133af6ab5fSopenharmony_ci                              "loc": {
27143af6ab5fSopenharmony_ci                                "start": {
27153af6ab5fSopenharmony_ci                                  "line": 43,
27163af6ab5fSopenharmony_ci                                  "column": 38
27173af6ab5fSopenharmony_ci                                },
27183af6ab5fSopenharmony_ci                                "end": {
27193af6ab5fSopenharmony_ci                                  "line": 43,
27203af6ab5fSopenharmony_ci                                  "column": 43
27213af6ab5fSopenharmony_ci                                }
27223af6ab5fSopenharmony_ci                              }
27233af6ab5fSopenharmony_ci                            },
27243af6ab5fSopenharmony_ci                            "loc": {
27253af6ab5fSopenharmony_ci                              "start": {
27263af6ab5fSopenharmony_ci                                "line": 43,
27273af6ab5fSopenharmony_ci                                "column": 31
27283af6ab5fSopenharmony_ci                              },
27293af6ab5fSopenharmony_ci                              "end": {
27303af6ab5fSopenharmony_ci                                "line": 43,
27313af6ab5fSopenharmony_ci                                "column": 43
27323af6ab5fSopenharmony_ci                              }
27333af6ab5fSopenharmony_ci                            }
27343af6ab5fSopenharmony_ci                          },
27353af6ab5fSopenharmony_ci                          "in": false,
27363af6ab5fSopenharmony_ci                          "out": false,
27373af6ab5fSopenharmony_ci                          "loc": {
27383af6ab5fSopenharmony_ci                            "start": {
27393af6ab5fSopenharmony_ci                              "line": 43,
27403af6ab5fSopenharmony_ci                              "column": 21
27413af6ab5fSopenharmony_ci                            },
27423af6ab5fSopenharmony_ci                            "end": {
27433af6ab5fSopenharmony_ci                              "line": 43,
27443af6ab5fSopenharmony_ci                              "column": 44
27453af6ab5fSopenharmony_ci                            }
27463af6ab5fSopenharmony_ci                          }
27473af6ab5fSopenharmony_ci                        }
27483af6ab5fSopenharmony_ci                      ],
27493af6ab5fSopenharmony_ci                      "loc": {
27503af6ab5fSopenharmony_ci                        "start": {
27513af6ab5fSopenharmony_ci                          "line": 43,
27523af6ab5fSopenharmony_ci                          "column": 17
27533af6ab5fSopenharmony_ci                        },
27543af6ab5fSopenharmony_ci                        "end": {
27553af6ab5fSopenharmony_ci                          "line": 43,
27563af6ab5fSopenharmony_ci                          "column": 44
27573af6ab5fSopenharmony_ci                        }
27583af6ab5fSopenharmony_ci                      }
27593af6ab5fSopenharmony_ci                    },
27603af6ab5fSopenharmony_ci                    "body": {
27613af6ab5fSopenharmony_ci                      "type": "BlockStatement",
27623af6ab5fSopenharmony_ci                      "statements": [],
27633af6ab5fSopenharmony_ci                      "loc": {
27643af6ab5fSopenharmony_ci                        "start": {
27653af6ab5fSopenharmony_ci                          "line": 43,
27663af6ab5fSopenharmony_ci                          "column": 47
27673af6ab5fSopenharmony_ci                        },
27683af6ab5fSopenharmony_ci                        "end": {
27693af6ab5fSopenharmony_ci                          "line": 43,
27703af6ab5fSopenharmony_ci                          "column": 50
27713af6ab5fSopenharmony_ci                        }
27723af6ab5fSopenharmony_ci                      }
27733af6ab5fSopenharmony_ci                    },
27743af6ab5fSopenharmony_ci                    "loc": {
27753af6ab5fSopenharmony_ci                      "start": {
27763af6ab5fSopenharmony_ci                        "line": 43,
27773af6ab5fSopenharmony_ci                        "column": 8
27783af6ab5fSopenharmony_ci                      },
27793af6ab5fSopenharmony_ci                      "end": {
27803af6ab5fSopenharmony_ci                        "line": 43,
27813af6ab5fSopenharmony_ci                        "column": 50
27823af6ab5fSopenharmony_ci                      }
27833af6ab5fSopenharmony_ci                    }
27843af6ab5fSopenharmony_ci                  },
27853af6ab5fSopenharmony_ci                  "loc": {
27863af6ab5fSopenharmony_ci                    "start": {
27873af6ab5fSopenharmony_ci                      "line": 43,
27883af6ab5fSopenharmony_ci                      "column": 8
27893af6ab5fSopenharmony_ci                    },
27903af6ab5fSopenharmony_ci                    "end": {
27913af6ab5fSopenharmony_ci                      "line": 43,
27923af6ab5fSopenharmony_ci                      "column": 50
27933af6ab5fSopenharmony_ci                    }
27943af6ab5fSopenharmony_ci                  }
27953af6ab5fSopenharmony_ci                },
27963af6ab5fSopenharmony_ci                "kind": "init",
27973af6ab5fSopenharmony_ci                "loc": {
27983af6ab5fSopenharmony_ci                  "start": {
27993af6ab5fSopenharmony_ci                    "line": 43,
28003af6ab5fSopenharmony_ci                    "column": 5
28013af6ab5fSopenharmony_ci                  },
28023af6ab5fSopenharmony_ci                  "end": {
28033af6ab5fSopenharmony_ci                    "line": 43,
28043af6ab5fSopenharmony_ci                    "column": 50
28053af6ab5fSopenharmony_ci                  }
28063af6ab5fSopenharmony_ci                }
28073af6ab5fSopenharmony_ci              },
28083af6ab5fSopenharmony_ci              {
28093af6ab5fSopenharmony_ci                "type": "Property",
28103af6ab5fSopenharmony_ci                "method": false,
28113af6ab5fSopenharmony_ci                "shorthand": false,
28123af6ab5fSopenharmony_ci                "computed": false,
28133af6ab5fSopenharmony_ci                "key": {
28143af6ab5fSopenharmony_ci                  "type": "Identifier",
28153af6ab5fSopenharmony_ci                  "name": "b",
28163af6ab5fSopenharmony_ci                  "loc": {
28173af6ab5fSopenharmony_ci                    "start": {
28183af6ab5fSopenharmony_ci                      "line": 44,
28193af6ab5fSopenharmony_ci                      "column": 5
28203af6ab5fSopenharmony_ci                    },
28213af6ab5fSopenharmony_ci                    "end": {
28223af6ab5fSopenharmony_ci                      "line": 44,
28233af6ab5fSopenharmony_ci                      "column": 6
28243af6ab5fSopenharmony_ci                    }
28253af6ab5fSopenharmony_ci                  }
28263af6ab5fSopenharmony_ci                },
28273af6ab5fSopenharmony_ci                "value": {
28283af6ab5fSopenharmony_ci                  "type": "FunctionExpression",
28293af6ab5fSopenharmony_ci                  "function": {
28303af6ab5fSopenharmony_ci                    "type": "ScriptFunction",
28313af6ab5fSopenharmony_ci                    "id": null,
28323af6ab5fSopenharmony_ci                    "generator": false,
28333af6ab5fSopenharmony_ci                    "async": false,
28343af6ab5fSopenharmony_ci                    "expression": false,
28353af6ab5fSopenharmony_ci                    "params": [],
28363af6ab5fSopenharmony_ci                    "typeParameters": {
28373af6ab5fSopenharmony_ci                      "type": "TSTypeParameterDeclaration",
28383af6ab5fSopenharmony_ci                      "params": [
28393af6ab5fSopenharmony_ci                        {
28403af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
28413af6ab5fSopenharmony_ci                          "name": {
28423af6ab5fSopenharmony_ci                            "type": "Identifier",
28433af6ab5fSopenharmony_ci                            "name": "D",
28443af6ab5fSopenharmony_ci                            "loc": {
28453af6ab5fSopenharmony_ci                              "start": {
28463af6ab5fSopenharmony_ci                                "line": 44,
28473af6ab5fSopenharmony_ci                                "column": 18
28483af6ab5fSopenharmony_ci                              },
28493af6ab5fSopenharmony_ci                              "end": {
28503af6ab5fSopenharmony_ci                                "line": 44,
28513af6ab5fSopenharmony_ci                                "column": 19
28523af6ab5fSopenharmony_ci                              }
28533af6ab5fSopenharmony_ci                            }
28543af6ab5fSopenharmony_ci                          },
28553af6ab5fSopenharmony_ci                          "default": {
28563af6ab5fSopenharmony_ci                            "type": "TSNumberKeyword",
28573af6ab5fSopenharmony_ci                            "loc": {
28583af6ab5fSopenharmony_ci                              "start": {
28593af6ab5fSopenharmony_ci                                "line": 44,
28603af6ab5fSopenharmony_ci                                "column": 22
28613af6ab5fSopenharmony_ci                              },
28623af6ab5fSopenharmony_ci                              "end": {
28633af6ab5fSopenharmony_ci                                "line": 44,
28643af6ab5fSopenharmony_ci                                "column": 28
28653af6ab5fSopenharmony_ci                              }
28663af6ab5fSopenharmony_ci                            }
28673af6ab5fSopenharmony_ci                          },
28683af6ab5fSopenharmony_ci                          "in": false,
28693af6ab5fSopenharmony_ci                          "out": false,
28703af6ab5fSopenharmony_ci                          "loc": {
28713af6ab5fSopenharmony_ci                            "start": {
28723af6ab5fSopenharmony_ci                              "line": 44,
28733af6ab5fSopenharmony_ci                              "column": 18
28743af6ab5fSopenharmony_ci                            },
28753af6ab5fSopenharmony_ci                            "end": {
28763af6ab5fSopenharmony_ci                              "line": 44,
28773af6ab5fSopenharmony_ci                              "column": 29
28783af6ab5fSopenharmony_ci                            }
28793af6ab5fSopenharmony_ci                          }
28803af6ab5fSopenharmony_ci                        },
28813af6ab5fSopenharmony_ci                        {
28823af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
28833af6ab5fSopenharmony_ci                          "name": {
28843af6ab5fSopenharmony_ci                            "type": "Identifier",
28853af6ab5fSopenharmony_ci                            "name": "T",
28863af6ab5fSopenharmony_ci                            "loc": {
28873af6ab5fSopenharmony_ci                              "start": {
28883af6ab5fSopenharmony_ci                                "line": 44,
28893af6ab5fSopenharmony_ci                                "column": 30
28903af6ab5fSopenharmony_ci                              },
28913af6ab5fSopenharmony_ci                              "end": {
28923af6ab5fSopenharmony_ci                                "line": 44,
28933af6ab5fSopenharmony_ci                                "column": 31
28943af6ab5fSopenharmony_ci                              }
28953af6ab5fSopenharmony_ci                            }
28963af6ab5fSopenharmony_ci                          },
28973af6ab5fSopenharmony_ci                          "default": {
28983af6ab5fSopenharmony_ci                            "type": "TSStringKeyword",
28993af6ab5fSopenharmony_ci                            "loc": {
29003af6ab5fSopenharmony_ci                              "start": {
29013af6ab5fSopenharmony_ci                                "line": 44,
29023af6ab5fSopenharmony_ci                                "column": 34
29033af6ab5fSopenharmony_ci                              },
29043af6ab5fSopenharmony_ci                              "end": {
29053af6ab5fSopenharmony_ci                                "line": 44,
29063af6ab5fSopenharmony_ci                                "column": 40
29073af6ab5fSopenharmony_ci                              }
29083af6ab5fSopenharmony_ci                            }
29093af6ab5fSopenharmony_ci                          },
29103af6ab5fSopenharmony_ci                          "in": false,
29113af6ab5fSopenharmony_ci                          "out": false,
29123af6ab5fSopenharmony_ci                          "loc": {
29133af6ab5fSopenharmony_ci                            "start": {
29143af6ab5fSopenharmony_ci                              "line": 44,
29153af6ab5fSopenharmony_ci                              "column": 30
29163af6ab5fSopenharmony_ci                            },
29173af6ab5fSopenharmony_ci                            "end": {
29183af6ab5fSopenharmony_ci                              "line": 44,
29193af6ab5fSopenharmony_ci                              "column": 41
29203af6ab5fSopenharmony_ci                            }
29213af6ab5fSopenharmony_ci                          }
29223af6ab5fSopenharmony_ci                        }
29233af6ab5fSopenharmony_ci                      ],
29243af6ab5fSopenharmony_ci                      "loc": {
29253af6ab5fSopenharmony_ci                        "start": {
29263af6ab5fSopenharmony_ci                          "line": 44,
29273af6ab5fSopenharmony_ci                          "column": 17
29283af6ab5fSopenharmony_ci                        },
29293af6ab5fSopenharmony_ci                        "end": {
29303af6ab5fSopenharmony_ci                          "line": 44,
29313af6ab5fSopenharmony_ci                          "column": 41
29323af6ab5fSopenharmony_ci                        }
29333af6ab5fSopenharmony_ci                      }
29343af6ab5fSopenharmony_ci                    },
29353af6ab5fSopenharmony_ci                    "body": {
29363af6ab5fSopenharmony_ci                      "type": "BlockStatement",
29373af6ab5fSopenharmony_ci                      "statements": [],
29383af6ab5fSopenharmony_ci                      "loc": {
29393af6ab5fSopenharmony_ci                        "start": {
29403af6ab5fSopenharmony_ci                          "line": 44,
29413af6ab5fSopenharmony_ci                          "column": 44
29423af6ab5fSopenharmony_ci                        },
29433af6ab5fSopenharmony_ci                        "end": {
29443af6ab5fSopenharmony_ci                          "line": 44,
29453af6ab5fSopenharmony_ci                          "column": 47
29463af6ab5fSopenharmony_ci                        }
29473af6ab5fSopenharmony_ci                      }
29483af6ab5fSopenharmony_ci                    },
29493af6ab5fSopenharmony_ci                    "loc": {
29503af6ab5fSopenharmony_ci                      "start": {
29513af6ab5fSopenharmony_ci                        "line": 44,
29523af6ab5fSopenharmony_ci                        "column": 8
29533af6ab5fSopenharmony_ci                      },
29543af6ab5fSopenharmony_ci                      "end": {
29553af6ab5fSopenharmony_ci                        "line": 44,
29563af6ab5fSopenharmony_ci                        "column": 47
29573af6ab5fSopenharmony_ci                      }
29583af6ab5fSopenharmony_ci                    }
29593af6ab5fSopenharmony_ci                  },
29603af6ab5fSopenharmony_ci                  "loc": {
29613af6ab5fSopenharmony_ci                    "start": {
29623af6ab5fSopenharmony_ci                      "line": 44,
29633af6ab5fSopenharmony_ci                      "column": 8
29643af6ab5fSopenharmony_ci                    },
29653af6ab5fSopenharmony_ci                    "end": {
29663af6ab5fSopenharmony_ci                      "line": 44,
29673af6ab5fSopenharmony_ci                      "column": 47
29683af6ab5fSopenharmony_ci                    }
29693af6ab5fSopenharmony_ci                  }
29703af6ab5fSopenharmony_ci                },
29713af6ab5fSopenharmony_ci                "kind": "init",
29723af6ab5fSopenharmony_ci                "loc": {
29733af6ab5fSopenharmony_ci                  "start": {
29743af6ab5fSopenharmony_ci                    "line": 44,
29753af6ab5fSopenharmony_ci                    "column": 5
29763af6ab5fSopenharmony_ci                  },
29773af6ab5fSopenharmony_ci                  "end": {
29783af6ab5fSopenharmony_ci                    "line": 44,
29793af6ab5fSopenharmony_ci                    "column": 47
29803af6ab5fSopenharmony_ci                  }
29813af6ab5fSopenharmony_ci                }
29823af6ab5fSopenharmony_ci              },
29833af6ab5fSopenharmony_ci              {
29843af6ab5fSopenharmony_ci                "type": "Property",
29853af6ab5fSopenharmony_ci                "method": true,
29863af6ab5fSopenharmony_ci                "shorthand": false,
29873af6ab5fSopenharmony_ci                "computed": false,
29883af6ab5fSopenharmony_ci                "key": {
29893af6ab5fSopenharmony_ci                  "type": "Identifier",
29903af6ab5fSopenharmony_ci                  "name": "c",
29913af6ab5fSopenharmony_ci                  "loc": {
29923af6ab5fSopenharmony_ci                    "start": {
29933af6ab5fSopenharmony_ci                      "line": 45,
29943af6ab5fSopenharmony_ci                      "column": 5
29953af6ab5fSopenharmony_ci                    },
29963af6ab5fSopenharmony_ci                    "end": {
29973af6ab5fSopenharmony_ci                      "line": 45,
29983af6ab5fSopenharmony_ci                      "column": 6
29993af6ab5fSopenharmony_ci                    }
30003af6ab5fSopenharmony_ci                  }
30013af6ab5fSopenharmony_ci                },
30023af6ab5fSopenharmony_ci                "value": {
30033af6ab5fSopenharmony_ci                  "type": "FunctionExpression",
30043af6ab5fSopenharmony_ci                  "function": {
30053af6ab5fSopenharmony_ci                    "type": "ScriptFunction",
30063af6ab5fSopenharmony_ci                    "id": null,
30073af6ab5fSopenharmony_ci                    "generator": false,
30083af6ab5fSopenharmony_ci                    "async": false,
30093af6ab5fSopenharmony_ci                    "expression": false,
30103af6ab5fSopenharmony_ci                    "params": [],
30113af6ab5fSopenharmony_ci                    "typeParameters": {
30123af6ab5fSopenharmony_ci                      "type": "TSTypeParameterDeclaration",
30133af6ab5fSopenharmony_ci                      "params": [
30143af6ab5fSopenharmony_ci                        {
30153af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
30163af6ab5fSopenharmony_ci                          "name": {
30173af6ab5fSopenharmony_ci                            "type": "Identifier",
30183af6ab5fSopenharmony_ci                            "name": "E",
30193af6ab5fSopenharmony_ci                            "loc": {
30203af6ab5fSopenharmony_ci                              "start": {
30213af6ab5fSopenharmony_ci                                "line": 45,
30223af6ab5fSopenharmony_ci                                "column": 7
30233af6ab5fSopenharmony_ci                              },
30243af6ab5fSopenharmony_ci                              "end": {
30253af6ab5fSopenharmony_ci                                "line": 45,
30263af6ab5fSopenharmony_ci                                "column": 8
30273af6ab5fSopenharmony_ci                              }
30283af6ab5fSopenharmony_ci                            }
30293af6ab5fSopenharmony_ci                          },
30303af6ab5fSopenharmony_ci                          "in": false,
30313af6ab5fSopenharmony_ci                          "out": false,
30323af6ab5fSopenharmony_ci                          "loc": {
30333af6ab5fSopenharmony_ci                            "start": {
30343af6ab5fSopenharmony_ci                              "line": 45,
30353af6ab5fSopenharmony_ci                              "column": 7
30363af6ab5fSopenharmony_ci                            },
30373af6ab5fSopenharmony_ci                            "end": {
30383af6ab5fSopenharmony_ci                              "line": 45,
30393af6ab5fSopenharmony_ci                              "column": 9
30403af6ab5fSopenharmony_ci                            }
30413af6ab5fSopenharmony_ci                          }
30423af6ab5fSopenharmony_ci                        },
30433af6ab5fSopenharmony_ci                        {
30443af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
30453af6ab5fSopenharmony_ci                          "name": {
30463af6ab5fSopenharmony_ci                            "type": "Identifier",
30473af6ab5fSopenharmony_ci                            "name": "F",
30483af6ab5fSopenharmony_ci                            "loc": {
30493af6ab5fSopenharmony_ci                              "start": {
30503af6ab5fSopenharmony_ci                                "line": 45,
30513af6ab5fSopenharmony_ci                                "column": 10
30523af6ab5fSopenharmony_ci                              },
30533af6ab5fSopenharmony_ci                              "end": {
30543af6ab5fSopenharmony_ci                                "line": 45,
30553af6ab5fSopenharmony_ci                                "column": 11
30563af6ab5fSopenharmony_ci                              }
30573af6ab5fSopenharmony_ci                            }
30583af6ab5fSopenharmony_ci                          },
30593af6ab5fSopenharmony_ci                          "constraint": {
30603af6ab5fSopenharmony_ci                            "type": "TSTypeOperator",
30613af6ab5fSopenharmony_ci                            "operator": "readonly",
30623af6ab5fSopenharmony_ci                            "typeAnnotation": {
30633af6ab5fSopenharmony_ci                              "type": "TSTupleType",
30643af6ab5fSopenharmony_ci                              "elementTypes": [],
30653af6ab5fSopenharmony_ci                              "loc": {
30663af6ab5fSopenharmony_ci                                "start": {
30673af6ab5fSopenharmony_ci                                  "line": 45,
30683af6ab5fSopenharmony_ci                                  "column": 29
30693af6ab5fSopenharmony_ci                                },
30703af6ab5fSopenharmony_ci                                "end": {
30713af6ab5fSopenharmony_ci                                  "line": 45,
30723af6ab5fSopenharmony_ci                                  "column": 31
30733af6ab5fSopenharmony_ci                                }
30743af6ab5fSopenharmony_ci                              }
30753af6ab5fSopenharmony_ci                            },
30763af6ab5fSopenharmony_ci                            "loc": {
30773af6ab5fSopenharmony_ci                              "start": {
30783af6ab5fSopenharmony_ci                                "line": 45,
30793af6ab5fSopenharmony_ci                                "column": 20
30803af6ab5fSopenharmony_ci                              },
30813af6ab5fSopenharmony_ci                              "end": {
30823af6ab5fSopenharmony_ci                                "line": 45,
30833af6ab5fSopenharmony_ci                                "column": 31
30843af6ab5fSopenharmony_ci                              }
30853af6ab5fSopenharmony_ci                            }
30863af6ab5fSopenharmony_ci                          },
30873af6ab5fSopenharmony_ci                          "in": false,
30883af6ab5fSopenharmony_ci                          "out": false,
30893af6ab5fSopenharmony_ci                          "loc": {
30903af6ab5fSopenharmony_ci                            "start": {
30913af6ab5fSopenharmony_ci                              "line": 45,
30923af6ab5fSopenharmony_ci                              "column": 10
30933af6ab5fSopenharmony_ci                            },
30943af6ab5fSopenharmony_ci                            "end": {
30953af6ab5fSopenharmony_ci                              "line": 45,
30963af6ab5fSopenharmony_ci                              "column": 32
30973af6ab5fSopenharmony_ci                            }
30983af6ab5fSopenharmony_ci                          }
30993af6ab5fSopenharmony_ci                        }
31003af6ab5fSopenharmony_ci                      ],
31013af6ab5fSopenharmony_ci                      "loc": {
31023af6ab5fSopenharmony_ci                        "start": {
31033af6ab5fSopenharmony_ci                          "line": 45,
31043af6ab5fSopenharmony_ci                          "column": 6
31053af6ab5fSopenharmony_ci                        },
31063af6ab5fSopenharmony_ci                        "end": {
31073af6ab5fSopenharmony_ci                          "line": 45,
31083af6ab5fSopenharmony_ci                          "column": 32
31093af6ab5fSopenharmony_ci                        }
31103af6ab5fSopenharmony_ci                      }
31113af6ab5fSopenharmony_ci                    },
31123af6ab5fSopenharmony_ci                    "body": {
31133af6ab5fSopenharmony_ci                      "type": "BlockStatement",
31143af6ab5fSopenharmony_ci                      "statements": [],
31153af6ab5fSopenharmony_ci                      "loc": {
31163af6ab5fSopenharmony_ci                        "start": {
31173af6ab5fSopenharmony_ci                          "line": 45,
31183af6ab5fSopenharmony_ci                          "column": 35
31193af6ab5fSopenharmony_ci                        },
31203af6ab5fSopenharmony_ci                        "end": {
31213af6ab5fSopenharmony_ci                          "line": 45,
31223af6ab5fSopenharmony_ci                          "column": 38
31233af6ab5fSopenharmony_ci                        }
31243af6ab5fSopenharmony_ci                      }
31253af6ab5fSopenharmony_ci                    },
31263af6ab5fSopenharmony_ci                    "loc": {
31273af6ab5fSopenharmony_ci                      "start": {
31283af6ab5fSopenharmony_ci                        "line": 45,
31293af6ab5fSopenharmony_ci                        "column": 6
31303af6ab5fSopenharmony_ci                      },
31313af6ab5fSopenharmony_ci                      "end": {
31323af6ab5fSopenharmony_ci                        "line": 45,
31333af6ab5fSopenharmony_ci                        "column": 38
31343af6ab5fSopenharmony_ci                      }
31353af6ab5fSopenharmony_ci                    }
31363af6ab5fSopenharmony_ci                  },
31373af6ab5fSopenharmony_ci                  "loc": {
31383af6ab5fSopenharmony_ci                    "start": {
31393af6ab5fSopenharmony_ci                      "line": 45,
31403af6ab5fSopenharmony_ci                      "column": 6
31413af6ab5fSopenharmony_ci                    },
31423af6ab5fSopenharmony_ci                    "end": {
31433af6ab5fSopenharmony_ci                      "line": 45,
31443af6ab5fSopenharmony_ci                      "column": 38
31453af6ab5fSopenharmony_ci                    }
31463af6ab5fSopenharmony_ci                  }
31473af6ab5fSopenharmony_ci                },
31483af6ab5fSopenharmony_ci                "kind": "init",
31493af6ab5fSopenharmony_ci                "loc": {
31503af6ab5fSopenharmony_ci                  "start": {
31513af6ab5fSopenharmony_ci                    "line": 45,
31523af6ab5fSopenharmony_ci                    "column": 5
31533af6ab5fSopenharmony_ci                  },
31543af6ab5fSopenharmony_ci                  "end": {
31553af6ab5fSopenharmony_ci                    "line": 45,
31563af6ab5fSopenharmony_ci                    "column": 38
31573af6ab5fSopenharmony_ci                  }
31583af6ab5fSopenharmony_ci                }
31593af6ab5fSopenharmony_ci              }
31603af6ab5fSopenharmony_ci            ],
31613af6ab5fSopenharmony_ci            "loc": {
31623af6ab5fSopenharmony_ci              "start": {
31633af6ab5fSopenharmony_ci                "line": 42,
31643af6ab5fSopenharmony_ci                "column": 9
31653af6ab5fSopenharmony_ci              },
31663af6ab5fSopenharmony_ci              "end": {
31673af6ab5fSopenharmony_ci                "line": 46,
31683af6ab5fSopenharmony_ci                "column": 2
31693af6ab5fSopenharmony_ci              }
31703af6ab5fSopenharmony_ci            }
31713af6ab5fSopenharmony_ci          },
31723af6ab5fSopenharmony_ci          "loc": {
31733af6ab5fSopenharmony_ci            "start": {
31743af6ab5fSopenharmony_ci              "line": 42,
31753af6ab5fSopenharmony_ci              "column": 5
31763af6ab5fSopenharmony_ci            },
31773af6ab5fSopenharmony_ci            "end": {
31783af6ab5fSopenharmony_ci              "line": 46,
31793af6ab5fSopenharmony_ci              "column": 2
31803af6ab5fSopenharmony_ci            }
31813af6ab5fSopenharmony_ci          }
31823af6ab5fSopenharmony_ci        }
31833af6ab5fSopenharmony_ci      ],
31843af6ab5fSopenharmony_ci      "kind": "var",
31853af6ab5fSopenharmony_ci      "loc": {
31863af6ab5fSopenharmony_ci        "start": {
31873af6ab5fSopenharmony_ci          "line": 42,
31883af6ab5fSopenharmony_ci          "column": 1
31893af6ab5fSopenharmony_ci        },
31903af6ab5fSopenharmony_ci        "end": {
31913af6ab5fSopenharmony_ci          "line": 46,
31923af6ab5fSopenharmony_ci          "column": 2
31933af6ab5fSopenharmony_ci        }
31943af6ab5fSopenharmony_ci      }
31953af6ab5fSopenharmony_ci    },
31963af6ab5fSopenharmony_ci    {
31973af6ab5fSopenharmony_ci      "type": "ClassDeclaration",
31983af6ab5fSopenharmony_ci      "definition": {
31993af6ab5fSopenharmony_ci        "id": {
32003af6ab5fSopenharmony_ci          "type": "Identifier",
32013af6ab5fSopenharmony_ci          "name": "A",
32023af6ab5fSopenharmony_ci          "loc": {
32033af6ab5fSopenharmony_ci            "start": {
32043af6ab5fSopenharmony_ci              "line": 48,
32053af6ab5fSopenharmony_ci              "column": 7
32063af6ab5fSopenharmony_ci            },
32073af6ab5fSopenharmony_ci            "end": {
32083af6ab5fSopenharmony_ci              "line": 48,
32093af6ab5fSopenharmony_ci              "column": 8
32103af6ab5fSopenharmony_ci            }
32113af6ab5fSopenharmony_ci          }
32123af6ab5fSopenharmony_ci        },
32133af6ab5fSopenharmony_ci        "typeParameters": {
32143af6ab5fSopenharmony_ci          "type": "TSTypeParameterDeclaration",
32153af6ab5fSopenharmony_ci          "params": [
32163af6ab5fSopenharmony_ci            {
32173af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
32183af6ab5fSopenharmony_ci              "name": {
32193af6ab5fSopenharmony_ci                "type": "Identifier",
32203af6ab5fSopenharmony_ci                "name": "T",
32213af6ab5fSopenharmony_ci                "loc": {
32223af6ab5fSopenharmony_ci                  "start": {
32233af6ab5fSopenharmony_ci                    "line": 48,
32243af6ab5fSopenharmony_ci                    "column": 9
32253af6ab5fSopenharmony_ci                  },
32263af6ab5fSopenharmony_ci                  "end": {
32273af6ab5fSopenharmony_ci                    "line": 48,
32283af6ab5fSopenharmony_ci                    "column": 10
32293af6ab5fSopenharmony_ci                  }
32303af6ab5fSopenharmony_ci                }
32313af6ab5fSopenharmony_ci              },
32323af6ab5fSopenharmony_ci              "constraint": {
32333af6ab5fSopenharmony_ci                "type": "TSTypeReference",
32343af6ab5fSopenharmony_ci                "typeName": {
32353af6ab5fSopenharmony_ci                  "type": "Identifier",
32363af6ab5fSopenharmony_ci                  "name": "B",
32373af6ab5fSopenharmony_ci                  "loc": {
32383af6ab5fSopenharmony_ci                    "start": {
32393af6ab5fSopenharmony_ci                      "line": 48,
32403af6ab5fSopenharmony_ci                      "column": 19
32413af6ab5fSopenharmony_ci                    },
32423af6ab5fSopenharmony_ci                    "end": {
32433af6ab5fSopenharmony_ci                      "line": 48,
32443af6ab5fSopenharmony_ci                      "column": 20
32453af6ab5fSopenharmony_ci                    }
32463af6ab5fSopenharmony_ci                  }
32473af6ab5fSopenharmony_ci                },
32483af6ab5fSopenharmony_ci                "loc": {
32493af6ab5fSopenharmony_ci                  "start": {
32503af6ab5fSopenharmony_ci                    "line": 48,
32513af6ab5fSopenharmony_ci                    "column": 19
32523af6ab5fSopenharmony_ci                  },
32533af6ab5fSopenharmony_ci                  "end": {
32543af6ab5fSopenharmony_ci                    "line": 48,
32553af6ab5fSopenharmony_ci                    "column": 20
32563af6ab5fSopenharmony_ci                  }
32573af6ab5fSopenharmony_ci                }
32583af6ab5fSopenharmony_ci              },
32593af6ab5fSopenharmony_ci              "in": false,
32603af6ab5fSopenharmony_ci              "out": false,
32613af6ab5fSopenharmony_ci              "loc": {
32623af6ab5fSopenharmony_ci                "start": {
32633af6ab5fSopenharmony_ci                  "line": 48,
32643af6ab5fSopenharmony_ci                  "column": 9
32653af6ab5fSopenharmony_ci                },
32663af6ab5fSopenharmony_ci                "end": {
32673af6ab5fSopenharmony_ci                  "line": 48,
32683af6ab5fSopenharmony_ci                  "column": 21
32693af6ab5fSopenharmony_ci                }
32703af6ab5fSopenharmony_ci              }
32713af6ab5fSopenharmony_ci            },
32723af6ab5fSopenharmony_ci            {
32733af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
32743af6ab5fSopenharmony_ci              "name": {
32753af6ab5fSopenharmony_ci                "type": "Identifier",
32763af6ab5fSopenharmony_ci                "name": "Z",
32773af6ab5fSopenharmony_ci                "loc": {
32783af6ab5fSopenharmony_ci                  "start": {
32793af6ab5fSopenharmony_ci                    "line": 48,
32803af6ab5fSopenharmony_ci                    "column": 22
32813af6ab5fSopenharmony_ci                  },
32823af6ab5fSopenharmony_ci                  "end": {
32833af6ab5fSopenharmony_ci                    "line": 48,
32843af6ab5fSopenharmony_ci                    "column": 23
32853af6ab5fSopenharmony_ci                  }
32863af6ab5fSopenharmony_ci                }
32873af6ab5fSopenharmony_ci              },
32883af6ab5fSopenharmony_ci              "default": {
32893af6ab5fSopenharmony_ci                "type": "TSTypeLiteral",
32903af6ab5fSopenharmony_ci                "members": [
32913af6ab5fSopenharmony_ci                  {
32923af6ab5fSopenharmony_ci                    "type": "TSPropertySignature",
32933af6ab5fSopenharmony_ci                    "computed": false,
32943af6ab5fSopenharmony_ci                    "optional": false,
32953af6ab5fSopenharmony_ci                    "readonly": false,
32963af6ab5fSopenharmony_ci                    "key": {
32973af6ab5fSopenharmony_ci                      "type": "Identifier",
32983af6ab5fSopenharmony_ci                      "name": "a",
32993af6ab5fSopenharmony_ci                      "loc": {
33003af6ab5fSopenharmony_ci                        "start": {
33013af6ab5fSopenharmony_ci                          "line": 48,
33023af6ab5fSopenharmony_ci                          "column": 28
33033af6ab5fSopenharmony_ci                        },
33043af6ab5fSopenharmony_ci                        "end": {
33053af6ab5fSopenharmony_ci                          "line": 48,
33063af6ab5fSopenharmony_ci                          "column": 29
33073af6ab5fSopenharmony_ci                        }
33083af6ab5fSopenharmony_ci                      }
33093af6ab5fSopenharmony_ci                    },
33103af6ab5fSopenharmony_ci                    "typeAnnotation": {
33113af6ab5fSopenharmony_ci                      "type": "TSNumberKeyword",
33123af6ab5fSopenharmony_ci                      "loc": {
33133af6ab5fSopenharmony_ci                        "start": {
33143af6ab5fSopenharmony_ci                          "line": 48,
33153af6ab5fSopenharmony_ci                          "column": 31
33163af6ab5fSopenharmony_ci                        },
33173af6ab5fSopenharmony_ci                        "end": {
33183af6ab5fSopenharmony_ci                          "line": 48,
33193af6ab5fSopenharmony_ci                          "column": 37
33203af6ab5fSopenharmony_ci                        }
33213af6ab5fSopenharmony_ci                      }
33223af6ab5fSopenharmony_ci                    },
33233af6ab5fSopenharmony_ci                    "loc": {
33243af6ab5fSopenharmony_ci                      "start": {
33253af6ab5fSopenharmony_ci                        "line": 48,
33263af6ab5fSopenharmony_ci                        "column": 28
33273af6ab5fSopenharmony_ci                      },
33283af6ab5fSopenharmony_ci                      "end": {
33293af6ab5fSopenharmony_ci                        "line": 48,
33303af6ab5fSopenharmony_ci                        "column": 38
33313af6ab5fSopenharmony_ci                      }
33323af6ab5fSopenharmony_ci                    }
33333af6ab5fSopenharmony_ci                  },
33343af6ab5fSopenharmony_ci                  {
33353af6ab5fSopenharmony_ci                    "type": "TSPropertySignature",
33363af6ab5fSopenharmony_ci                    "computed": false,
33373af6ab5fSopenharmony_ci                    "optional": false,
33383af6ab5fSopenharmony_ci                    "readonly": false,
33393af6ab5fSopenharmony_ci                    "key": {
33403af6ab5fSopenharmony_ci                      "type": "Identifier",
33413af6ab5fSopenharmony_ci                      "name": "b",
33423af6ab5fSopenharmony_ci                      "loc": {
33433af6ab5fSopenharmony_ci                        "start": {
33443af6ab5fSopenharmony_ci                          "line": 48,
33453af6ab5fSopenharmony_ci                          "column": 39
33463af6ab5fSopenharmony_ci                        },
33473af6ab5fSopenharmony_ci                        "end": {
33483af6ab5fSopenharmony_ci                          "line": 48,
33493af6ab5fSopenharmony_ci                          "column": 40
33503af6ab5fSopenharmony_ci                        }
33513af6ab5fSopenharmony_ci                      }
33523af6ab5fSopenharmony_ci                    },
33533af6ab5fSopenharmony_ci                    "typeAnnotation": {
33543af6ab5fSopenharmony_ci                      "type": "TSStringKeyword",
33553af6ab5fSopenharmony_ci                      "loc": {
33563af6ab5fSopenharmony_ci                        "start": {
33573af6ab5fSopenharmony_ci                          "line": 48,
33583af6ab5fSopenharmony_ci                          "column": 42
33593af6ab5fSopenharmony_ci                        },
33603af6ab5fSopenharmony_ci                        "end": {
33613af6ab5fSopenharmony_ci                          "line": 48,
33623af6ab5fSopenharmony_ci                          "column": 48
33633af6ab5fSopenharmony_ci                        }
33643af6ab5fSopenharmony_ci                      }
33653af6ab5fSopenharmony_ci                    },
33663af6ab5fSopenharmony_ci                    "loc": {
33673af6ab5fSopenharmony_ci                      "start": {
33683af6ab5fSopenharmony_ci                        "line": 48,
33693af6ab5fSopenharmony_ci                        "column": 39
33703af6ab5fSopenharmony_ci                      },
33713af6ab5fSopenharmony_ci                      "end": {
33723af6ab5fSopenharmony_ci                        "line": 48,
33733af6ab5fSopenharmony_ci                        "column": 50
33743af6ab5fSopenharmony_ci                      }
33753af6ab5fSopenharmony_ci                    }
33763af6ab5fSopenharmony_ci                  }
33773af6ab5fSopenharmony_ci                ],
33783af6ab5fSopenharmony_ci                "loc": {
33793af6ab5fSopenharmony_ci                  "start": {
33803af6ab5fSopenharmony_ci                    "line": 48,
33813af6ab5fSopenharmony_ci                    "column": 26
33823af6ab5fSopenharmony_ci                  },
33833af6ab5fSopenharmony_ci                  "end": {
33843af6ab5fSopenharmony_ci                    "line": 48,
33853af6ab5fSopenharmony_ci                    "column": 50
33863af6ab5fSopenharmony_ci                  }
33873af6ab5fSopenharmony_ci                }
33883af6ab5fSopenharmony_ci              },
33893af6ab5fSopenharmony_ci              "in": false,
33903af6ab5fSopenharmony_ci              "out": false,
33913af6ab5fSopenharmony_ci              "loc": {
33923af6ab5fSopenharmony_ci                "start": {
33933af6ab5fSopenharmony_ci                  "line": 48,
33943af6ab5fSopenharmony_ci                  "column": 22
33953af6ab5fSopenharmony_ci                },
33963af6ab5fSopenharmony_ci                "end": {
33973af6ab5fSopenharmony_ci                  "line": 48,
33983af6ab5fSopenharmony_ci                  "column": 51
33993af6ab5fSopenharmony_ci                }
34003af6ab5fSopenharmony_ci              }
34013af6ab5fSopenharmony_ci            }
34023af6ab5fSopenharmony_ci          ],
34033af6ab5fSopenharmony_ci          "loc": {
34043af6ab5fSopenharmony_ci            "start": {
34053af6ab5fSopenharmony_ci              "line": 48,
34063af6ab5fSopenharmony_ci              "column": 8
34073af6ab5fSopenharmony_ci            },
34083af6ab5fSopenharmony_ci            "end": {
34093af6ab5fSopenharmony_ci              "line": 48,
34103af6ab5fSopenharmony_ci              "column": 51
34113af6ab5fSopenharmony_ci            }
34123af6ab5fSopenharmony_ci          }
34133af6ab5fSopenharmony_ci        },
34143af6ab5fSopenharmony_ci        "superClass": null,
34153af6ab5fSopenharmony_ci        "implements": [],
34163af6ab5fSopenharmony_ci        "constructor": {
34173af6ab5fSopenharmony_ci          "type": "MethodDefinition",
34183af6ab5fSopenharmony_ci          "key": {
34193af6ab5fSopenharmony_ci            "type": "Identifier",
34203af6ab5fSopenharmony_ci            "name": "constructor",
34213af6ab5fSopenharmony_ci            "loc": {
34223af6ab5fSopenharmony_ci              "start": {
34233af6ab5fSopenharmony_ci                "line": 1,
34243af6ab5fSopenharmony_ci                "column": 1
34253af6ab5fSopenharmony_ci              },
34263af6ab5fSopenharmony_ci              "end": {
34273af6ab5fSopenharmony_ci                "line": 1,
34283af6ab5fSopenharmony_ci                "column": 1
34293af6ab5fSopenharmony_ci              }
34303af6ab5fSopenharmony_ci            }
34313af6ab5fSopenharmony_ci          },
34323af6ab5fSopenharmony_ci          "kind": "constructor",
34333af6ab5fSopenharmony_ci          "static": false,
34343af6ab5fSopenharmony_ci          "optional": false,
34353af6ab5fSopenharmony_ci          "computed": false,
34363af6ab5fSopenharmony_ci          "value": {
34373af6ab5fSopenharmony_ci            "type": "FunctionExpression",
34383af6ab5fSopenharmony_ci            "function": {
34393af6ab5fSopenharmony_ci              "type": "ScriptFunction",
34403af6ab5fSopenharmony_ci              "id": null,
34413af6ab5fSopenharmony_ci              "generator": false,
34423af6ab5fSopenharmony_ci              "async": false,
34433af6ab5fSopenharmony_ci              "expression": false,
34443af6ab5fSopenharmony_ci              "params": [],
34453af6ab5fSopenharmony_ci              "body": {
34463af6ab5fSopenharmony_ci                "type": "BlockStatement",
34473af6ab5fSopenharmony_ci                "statements": [],
34483af6ab5fSopenharmony_ci                "loc": {
34493af6ab5fSopenharmony_ci                  "start": {
34503af6ab5fSopenharmony_ci                    "line": 1,
34513af6ab5fSopenharmony_ci                    "column": 1
34523af6ab5fSopenharmony_ci                  },
34533af6ab5fSopenharmony_ci                  "end": {
34543af6ab5fSopenharmony_ci                    "line": 1,
34553af6ab5fSopenharmony_ci                    "column": 1
34563af6ab5fSopenharmony_ci                  }
34573af6ab5fSopenharmony_ci                }
34583af6ab5fSopenharmony_ci              },
34593af6ab5fSopenharmony_ci              "loc": {
34603af6ab5fSopenharmony_ci                "start": {
34613af6ab5fSopenharmony_ci                  "line": 1,
34623af6ab5fSopenharmony_ci                  "column": 1
34633af6ab5fSopenharmony_ci                },
34643af6ab5fSopenharmony_ci                "end": {
34653af6ab5fSopenharmony_ci                  "line": 1,
34663af6ab5fSopenharmony_ci                  "column": 1
34673af6ab5fSopenharmony_ci                }
34683af6ab5fSopenharmony_ci              }
34693af6ab5fSopenharmony_ci            },
34703af6ab5fSopenharmony_ci            "loc": {
34713af6ab5fSopenharmony_ci              "start": {
34723af6ab5fSopenharmony_ci                "line": 1,
34733af6ab5fSopenharmony_ci                "column": 1
34743af6ab5fSopenharmony_ci              },
34753af6ab5fSopenharmony_ci              "end": {
34763af6ab5fSopenharmony_ci                "line": 1,
34773af6ab5fSopenharmony_ci                "column": 1
34783af6ab5fSopenharmony_ci              }
34793af6ab5fSopenharmony_ci            }
34803af6ab5fSopenharmony_ci          },
34813af6ab5fSopenharmony_ci          "overloads": [],
34823af6ab5fSopenharmony_ci          "decorators": [],
34833af6ab5fSopenharmony_ci          "annotations": [],
34843af6ab5fSopenharmony_ci          "loc": {
34853af6ab5fSopenharmony_ci            "start": {
34863af6ab5fSopenharmony_ci              "line": 48,
34873af6ab5fSopenharmony_ci              "column": 1
34883af6ab5fSopenharmony_ci            },
34893af6ab5fSopenharmony_ci            "end": {
34903af6ab5fSopenharmony_ci              "line": 51,
34913af6ab5fSopenharmony_ci              "column": 2
34923af6ab5fSopenharmony_ci            }
34933af6ab5fSopenharmony_ci          }
34943af6ab5fSopenharmony_ci        },
34953af6ab5fSopenharmony_ci        "body": [
34963af6ab5fSopenharmony_ci          {
34973af6ab5fSopenharmony_ci            "type": "MethodDefinition",
34983af6ab5fSopenharmony_ci            "key": {
34993af6ab5fSopenharmony_ci              "type": "Identifier",
35003af6ab5fSopenharmony_ci              "name": "a",
35013af6ab5fSopenharmony_ci              "loc": {
35023af6ab5fSopenharmony_ci                "start": {
35033af6ab5fSopenharmony_ci                  "line": 49,
35043af6ab5fSopenharmony_ci                  "column": 12
35053af6ab5fSopenharmony_ci                },
35063af6ab5fSopenharmony_ci                "end": {
35073af6ab5fSopenharmony_ci                  "line": 49,
35083af6ab5fSopenharmony_ci                  "column": 13
35093af6ab5fSopenharmony_ci                }
35103af6ab5fSopenharmony_ci              }
35113af6ab5fSopenharmony_ci            },
35123af6ab5fSopenharmony_ci            "kind": "method",
35133af6ab5fSopenharmony_ci            "accessibility": "public",
35143af6ab5fSopenharmony_ci            "static": false,
35153af6ab5fSopenharmony_ci            "optional": false,
35163af6ab5fSopenharmony_ci            "computed": false,
35173af6ab5fSopenharmony_ci            "value": {
35183af6ab5fSopenharmony_ci              "type": "FunctionExpression",
35193af6ab5fSopenharmony_ci              "function": {
35203af6ab5fSopenharmony_ci                "type": "ScriptFunction",
35213af6ab5fSopenharmony_ci                "id": null,
35223af6ab5fSopenharmony_ci                "generator": false,
35233af6ab5fSopenharmony_ci                "async": false,
35243af6ab5fSopenharmony_ci                "expression": false,
35253af6ab5fSopenharmony_ci                "params": [],
35263af6ab5fSopenharmony_ci                "typeParameters": {
35273af6ab5fSopenharmony_ci                  "type": "TSTypeParameterDeclaration",
35283af6ab5fSopenharmony_ci                  "params": [
35293af6ab5fSopenharmony_ci                    {
35303af6ab5fSopenharmony_ci                      "type": "TSTypeParameter",
35313af6ab5fSopenharmony_ci                      "name": {
35323af6ab5fSopenharmony_ci                        "type": "Identifier",
35333af6ab5fSopenharmony_ci                        "name": "T",
35343af6ab5fSopenharmony_ci                        "loc": {
35353af6ab5fSopenharmony_ci                          "start": {
35363af6ab5fSopenharmony_ci                            "line": 49,
35373af6ab5fSopenharmony_ci                            "column": 14
35383af6ab5fSopenharmony_ci                          },
35393af6ab5fSopenharmony_ci                          "end": {
35403af6ab5fSopenharmony_ci                            "line": 49,
35413af6ab5fSopenharmony_ci                            "column": 15
35423af6ab5fSopenharmony_ci                          }
35433af6ab5fSopenharmony_ci                        }
35443af6ab5fSopenharmony_ci                      },
35453af6ab5fSopenharmony_ci                      "in": false,
35463af6ab5fSopenharmony_ci                      "out": false,
35473af6ab5fSopenharmony_ci                      "loc": {
35483af6ab5fSopenharmony_ci                        "start": {
35493af6ab5fSopenharmony_ci                          "line": 49,
35503af6ab5fSopenharmony_ci                          "column": 14
35513af6ab5fSopenharmony_ci                        },
35523af6ab5fSopenharmony_ci                        "end": {
35533af6ab5fSopenharmony_ci                          "line": 49,
35543af6ab5fSopenharmony_ci                          "column": 16
35553af6ab5fSopenharmony_ci                        }
35563af6ab5fSopenharmony_ci                      }
35573af6ab5fSopenharmony_ci                    },
35583af6ab5fSopenharmony_ci                    {
35593af6ab5fSopenharmony_ci                      "type": "TSTypeParameter",
35603af6ab5fSopenharmony_ci                      "name": {
35613af6ab5fSopenharmony_ci                        "type": "Identifier",
35623af6ab5fSopenharmony_ci                        "name": "R",
35633af6ab5fSopenharmony_ci                        "loc": {
35643af6ab5fSopenharmony_ci                          "start": {
35653af6ab5fSopenharmony_ci                            "line": 49,
35663af6ab5fSopenharmony_ci                            "column": 17
35673af6ab5fSopenharmony_ci                          },
35683af6ab5fSopenharmony_ci                          "end": {
35693af6ab5fSopenharmony_ci                            "line": 49,
35703af6ab5fSopenharmony_ci                            "column": 18
35713af6ab5fSopenharmony_ci                          }
35723af6ab5fSopenharmony_ci                        }
35733af6ab5fSopenharmony_ci                      },
35743af6ab5fSopenharmony_ci                      "in": false,
35753af6ab5fSopenharmony_ci                      "out": false,
35763af6ab5fSopenharmony_ci                      "loc": {
35773af6ab5fSopenharmony_ci                        "start": {
35783af6ab5fSopenharmony_ci                          "line": 49,
35793af6ab5fSopenharmony_ci                          "column": 17
35803af6ab5fSopenharmony_ci                        },
35813af6ab5fSopenharmony_ci                        "end": {
35823af6ab5fSopenharmony_ci                          "line": 49,
35833af6ab5fSopenharmony_ci                          "column": 19
35843af6ab5fSopenharmony_ci                        }
35853af6ab5fSopenharmony_ci                      }
35863af6ab5fSopenharmony_ci                    }
35873af6ab5fSopenharmony_ci                  ],
35883af6ab5fSopenharmony_ci                  "loc": {
35893af6ab5fSopenharmony_ci                    "start": {
35903af6ab5fSopenharmony_ci                      "line": 49,
35913af6ab5fSopenharmony_ci                      "column": 13
35923af6ab5fSopenharmony_ci                    },
35933af6ab5fSopenharmony_ci                    "end": {
35943af6ab5fSopenharmony_ci                      "line": 49,
35953af6ab5fSopenharmony_ci                      "column": 19
35963af6ab5fSopenharmony_ci                    }
35973af6ab5fSopenharmony_ci                  }
35983af6ab5fSopenharmony_ci                },
35993af6ab5fSopenharmony_ci                "body": {
36003af6ab5fSopenharmony_ci                  "type": "BlockStatement",
36013af6ab5fSopenharmony_ci                  "statements": [],
36023af6ab5fSopenharmony_ci                  "loc": {
36033af6ab5fSopenharmony_ci                    "start": {
36043af6ab5fSopenharmony_ci                      "line": 49,
36053af6ab5fSopenharmony_ci                      "column": 22
36063af6ab5fSopenharmony_ci                    },
36073af6ab5fSopenharmony_ci                    "end": {
36083af6ab5fSopenharmony_ci                      "line": 49,
36093af6ab5fSopenharmony_ci                      "column": 25
36103af6ab5fSopenharmony_ci                    }
36113af6ab5fSopenharmony_ci                  }
36123af6ab5fSopenharmony_ci                },
36133af6ab5fSopenharmony_ci                "loc": {
36143af6ab5fSopenharmony_ci                  "start": {
36153af6ab5fSopenharmony_ci                    "line": 49,
36163af6ab5fSopenharmony_ci                    "column": 13
36173af6ab5fSopenharmony_ci                  },
36183af6ab5fSopenharmony_ci                  "end": {
36193af6ab5fSopenharmony_ci                    "line": 49,
36203af6ab5fSopenharmony_ci                    "column": 25
36213af6ab5fSopenharmony_ci                  }
36223af6ab5fSopenharmony_ci                }
36233af6ab5fSopenharmony_ci              },
36243af6ab5fSopenharmony_ci              "loc": {
36253af6ab5fSopenharmony_ci                "start": {
36263af6ab5fSopenharmony_ci                  "line": 49,
36273af6ab5fSopenharmony_ci                  "column": 13
36283af6ab5fSopenharmony_ci                },
36293af6ab5fSopenharmony_ci                "end": {
36303af6ab5fSopenharmony_ci                  "line": 49,
36313af6ab5fSopenharmony_ci                  "column": 25
36323af6ab5fSopenharmony_ci                }
36333af6ab5fSopenharmony_ci              }
36343af6ab5fSopenharmony_ci            },
36353af6ab5fSopenharmony_ci            "overloads": [],
36363af6ab5fSopenharmony_ci            "decorators": [],
36373af6ab5fSopenharmony_ci            "annotations": [],
36383af6ab5fSopenharmony_ci            "loc": {
36393af6ab5fSopenharmony_ci              "start": {
36403af6ab5fSopenharmony_ci                "line": 49,
36413af6ab5fSopenharmony_ci                "column": 5
36423af6ab5fSopenharmony_ci              },
36433af6ab5fSopenharmony_ci              "end": {
36443af6ab5fSopenharmony_ci                "line": 49,
36453af6ab5fSopenharmony_ci                "column": 25
36463af6ab5fSopenharmony_ci              }
36473af6ab5fSopenharmony_ci            }
36483af6ab5fSopenharmony_ci          },
36493af6ab5fSopenharmony_ci          {
36503af6ab5fSopenharmony_ci            "type": "MethodDefinition",
36513af6ab5fSopenharmony_ci            "key": {
36523af6ab5fSopenharmony_ci              "type": "Identifier",
36533af6ab5fSopenharmony_ci              "name": "b",
36543af6ab5fSopenharmony_ci              "loc": {
36553af6ab5fSopenharmony_ci                "start": {
36563af6ab5fSopenharmony_ci                  "line": 50,
36573af6ab5fSopenharmony_ci                  "column": 13
36583af6ab5fSopenharmony_ci                },
36593af6ab5fSopenharmony_ci                "end": {
36603af6ab5fSopenharmony_ci                  "line": 50,
36613af6ab5fSopenharmony_ci                  "column": 14
36623af6ab5fSopenharmony_ci                }
36633af6ab5fSopenharmony_ci              }
36643af6ab5fSopenharmony_ci            },
36653af6ab5fSopenharmony_ci            "kind": "method",
36663af6ab5fSopenharmony_ci            "accessibility": "private",
36673af6ab5fSopenharmony_ci            "static": false,
36683af6ab5fSopenharmony_ci            "optional": false,
36693af6ab5fSopenharmony_ci            "computed": false,
36703af6ab5fSopenharmony_ci            "value": {
36713af6ab5fSopenharmony_ci              "type": "FunctionExpression",
36723af6ab5fSopenharmony_ci              "function": {
36733af6ab5fSopenharmony_ci                "type": "ScriptFunction",
36743af6ab5fSopenharmony_ci                "id": null,
36753af6ab5fSopenharmony_ci                "generator": false,
36763af6ab5fSopenharmony_ci                "async": false,
36773af6ab5fSopenharmony_ci                "expression": false,
36783af6ab5fSopenharmony_ci                "params": [],
36793af6ab5fSopenharmony_ci                "typeParameters": {
36803af6ab5fSopenharmony_ci                  "type": "TSTypeParameterDeclaration",
36813af6ab5fSopenharmony_ci                  "params": [
36823af6ab5fSopenharmony_ci                    {
36833af6ab5fSopenharmony_ci                      "type": "TSTypeParameter",
36843af6ab5fSopenharmony_ci                      "name": {
36853af6ab5fSopenharmony_ci                        "type": "Identifier",
36863af6ab5fSopenharmony_ci                        "name": "E",
36873af6ab5fSopenharmony_ci                        "loc": {
36883af6ab5fSopenharmony_ci                          "start": {
36893af6ab5fSopenharmony_ci                            "line": 50,
36903af6ab5fSopenharmony_ci                            "column": 15
36913af6ab5fSopenharmony_ci                          },
36923af6ab5fSopenharmony_ci                          "end": {
36933af6ab5fSopenharmony_ci                            "line": 50,
36943af6ab5fSopenharmony_ci                            "column": 16
36953af6ab5fSopenharmony_ci                          }
36963af6ab5fSopenharmony_ci                        }
36973af6ab5fSopenharmony_ci                      },
36983af6ab5fSopenharmony_ci                      "constraint": {
36993af6ab5fSopenharmony_ci                        "type": "TSFunctionType",
37003af6ab5fSopenharmony_ci                        "params": [
37013af6ab5fSopenharmony_ci                          {
37023af6ab5fSopenharmony_ci                            "type": "Identifier",
37033af6ab5fSopenharmony_ci                            "name": "a",
37043af6ab5fSopenharmony_ci                            "typeAnnotation": {
37053af6ab5fSopenharmony_ci                              "type": "TSNumberKeyword",
37063af6ab5fSopenharmony_ci                              "loc": {
37073af6ab5fSopenharmony_ci                                "start": {
37083af6ab5fSopenharmony_ci                                  "line": 50,
37093af6ab5fSopenharmony_ci                                  "column": 29
37103af6ab5fSopenharmony_ci                                },
37113af6ab5fSopenharmony_ci                                "end": {
37123af6ab5fSopenharmony_ci                                  "line": 50,
37133af6ab5fSopenharmony_ci                                  "column": 35
37143af6ab5fSopenharmony_ci                                }
37153af6ab5fSopenharmony_ci                              }
37163af6ab5fSopenharmony_ci                            },
37173af6ab5fSopenharmony_ci                            "loc": {
37183af6ab5fSopenharmony_ci                              "start": {
37193af6ab5fSopenharmony_ci                                "line": 50,
37203af6ab5fSopenharmony_ci                                "column": 26
37213af6ab5fSopenharmony_ci                              },
37223af6ab5fSopenharmony_ci                              "end": {
37233af6ab5fSopenharmony_ci                                "line": 50,
37243af6ab5fSopenharmony_ci                                "column": 27
37253af6ab5fSopenharmony_ci                              }
37263af6ab5fSopenharmony_ci                            }
37273af6ab5fSopenharmony_ci                          },
37283af6ab5fSopenharmony_ci                          {
37293af6ab5fSopenharmony_ci                            "type": "Identifier",
37303af6ab5fSopenharmony_ci                            "name": "b",
37313af6ab5fSopenharmony_ci                            "typeAnnotation": {
37323af6ab5fSopenharmony_ci                              "type": "TSStringKeyword",
37333af6ab5fSopenharmony_ci                              "loc": {
37343af6ab5fSopenharmony_ci                                "start": {
37353af6ab5fSopenharmony_ci                                  "line": 50,
37363af6ab5fSopenharmony_ci                                  "column": 40
37373af6ab5fSopenharmony_ci                                },
37383af6ab5fSopenharmony_ci                                "end": {
37393af6ab5fSopenharmony_ci                                  "line": 50,
37403af6ab5fSopenharmony_ci                                  "column": 46
37413af6ab5fSopenharmony_ci                                }
37423af6ab5fSopenharmony_ci                              }
37433af6ab5fSopenharmony_ci                            },
37443af6ab5fSopenharmony_ci                            "loc": {
37453af6ab5fSopenharmony_ci                              "start": {
37463af6ab5fSopenharmony_ci                                "line": 50,
37473af6ab5fSopenharmony_ci                                "column": 37
37483af6ab5fSopenharmony_ci                              },
37493af6ab5fSopenharmony_ci                              "end": {
37503af6ab5fSopenharmony_ci                                "line": 50,
37513af6ab5fSopenharmony_ci                                "column": 38
37523af6ab5fSopenharmony_ci                              }
37533af6ab5fSopenharmony_ci                            }
37543af6ab5fSopenharmony_ci                          }
37553af6ab5fSopenharmony_ci                        ],
37563af6ab5fSopenharmony_ci                        "returnType": {
37573af6ab5fSopenharmony_ci                          "type": "TSArrayType",
37583af6ab5fSopenharmony_ci                          "elementType": {
37593af6ab5fSopenharmony_ci                            "type": "TSAnyKeyword",
37603af6ab5fSopenharmony_ci                            "loc": {
37613af6ab5fSopenharmony_ci                              "start": {
37623af6ab5fSopenharmony_ci                                "line": 50,
37633af6ab5fSopenharmony_ci                                "column": 51
37643af6ab5fSopenharmony_ci                              },
37653af6ab5fSopenharmony_ci                              "end": {
37663af6ab5fSopenharmony_ci                                "line": 50,
37673af6ab5fSopenharmony_ci                                "column": 54
37683af6ab5fSopenharmony_ci                              }
37693af6ab5fSopenharmony_ci                            }
37703af6ab5fSopenharmony_ci                          },
37713af6ab5fSopenharmony_ci                          "loc": {
37723af6ab5fSopenharmony_ci                            "start": {
37733af6ab5fSopenharmony_ci                              "line": 50,
37743af6ab5fSopenharmony_ci                              "column": 51
37753af6ab5fSopenharmony_ci                            },
37763af6ab5fSopenharmony_ci                            "end": {
37773af6ab5fSopenharmony_ci                              "line": 50,
37783af6ab5fSopenharmony_ci                              "column": 56
37793af6ab5fSopenharmony_ci                            }
37803af6ab5fSopenharmony_ci                          }
37813af6ab5fSopenharmony_ci                        },
37823af6ab5fSopenharmony_ci                        "loc": {
37833af6ab5fSopenharmony_ci                          "start": {
37843af6ab5fSopenharmony_ci                            "line": 50,
37853af6ab5fSopenharmony_ci                            "column": 25
37863af6ab5fSopenharmony_ci                          },
37873af6ab5fSopenharmony_ci                          "end": {
37883af6ab5fSopenharmony_ci                            "line": 50,
37893af6ab5fSopenharmony_ci                            "column": 56
37903af6ab5fSopenharmony_ci                          }
37913af6ab5fSopenharmony_ci                        }
37923af6ab5fSopenharmony_ci                      },
37933af6ab5fSopenharmony_ci                      "in": false,
37943af6ab5fSopenharmony_ci                      "out": false,
37953af6ab5fSopenharmony_ci                      "loc": {
37963af6ab5fSopenharmony_ci                        "start": {
37973af6ab5fSopenharmony_ci                          "line": 50,
37983af6ab5fSopenharmony_ci                          "column": 15
37993af6ab5fSopenharmony_ci                        },
38003af6ab5fSopenharmony_ci                        "end": {
38013af6ab5fSopenharmony_ci                          "line": 50,
38023af6ab5fSopenharmony_ci                          "column": 57
38033af6ab5fSopenharmony_ci                        }
38043af6ab5fSopenharmony_ci                      }
38053af6ab5fSopenharmony_ci                    }
38063af6ab5fSopenharmony_ci                  ],
38073af6ab5fSopenharmony_ci                  "loc": {
38083af6ab5fSopenharmony_ci                    "start": {
38093af6ab5fSopenharmony_ci                      "line": 50,
38103af6ab5fSopenharmony_ci                      "column": 14
38113af6ab5fSopenharmony_ci                    },
38123af6ab5fSopenharmony_ci                    "end": {
38133af6ab5fSopenharmony_ci                      "line": 50,
38143af6ab5fSopenharmony_ci                      "column": 57
38153af6ab5fSopenharmony_ci                    }
38163af6ab5fSopenharmony_ci                  }
38173af6ab5fSopenharmony_ci                },
38183af6ab5fSopenharmony_ci                "body": {
38193af6ab5fSopenharmony_ci                  "type": "BlockStatement",
38203af6ab5fSopenharmony_ci                  "statements": [],
38213af6ab5fSopenharmony_ci                  "loc": {
38223af6ab5fSopenharmony_ci                    "start": {
38233af6ab5fSopenharmony_ci                      "line": 50,
38243af6ab5fSopenharmony_ci                      "column": 60
38253af6ab5fSopenharmony_ci                    },
38263af6ab5fSopenharmony_ci                    "end": {
38273af6ab5fSopenharmony_ci                      "line": 50,
38283af6ab5fSopenharmony_ci                      "column": 63
38293af6ab5fSopenharmony_ci                    }
38303af6ab5fSopenharmony_ci                  }
38313af6ab5fSopenharmony_ci                },
38323af6ab5fSopenharmony_ci                "loc": {
38333af6ab5fSopenharmony_ci                  "start": {
38343af6ab5fSopenharmony_ci                    "line": 50,
38353af6ab5fSopenharmony_ci                    "column": 14
38363af6ab5fSopenharmony_ci                  },
38373af6ab5fSopenharmony_ci                  "end": {
38383af6ab5fSopenharmony_ci                    "line": 50,
38393af6ab5fSopenharmony_ci                    "column": 63
38403af6ab5fSopenharmony_ci                  }
38413af6ab5fSopenharmony_ci                }
38423af6ab5fSopenharmony_ci              },
38433af6ab5fSopenharmony_ci              "loc": {
38443af6ab5fSopenharmony_ci                "start": {
38453af6ab5fSopenharmony_ci                  "line": 50,
38463af6ab5fSopenharmony_ci                  "column": 14
38473af6ab5fSopenharmony_ci                },
38483af6ab5fSopenharmony_ci                "end": {
38493af6ab5fSopenharmony_ci                  "line": 50,
38503af6ab5fSopenharmony_ci                  "column": 63
38513af6ab5fSopenharmony_ci                }
38523af6ab5fSopenharmony_ci              }
38533af6ab5fSopenharmony_ci            },
38543af6ab5fSopenharmony_ci            "overloads": [],
38553af6ab5fSopenharmony_ci            "decorators": [],
38563af6ab5fSopenharmony_ci            "annotations": [],
38573af6ab5fSopenharmony_ci            "loc": {
38583af6ab5fSopenharmony_ci              "start": {
38593af6ab5fSopenharmony_ci                "line": 50,
38603af6ab5fSopenharmony_ci                "column": 5
38613af6ab5fSopenharmony_ci              },
38623af6ab5fSopenharmony_ci              "end": {
38633af6ab5fSopenharmony_ci                "line": 50,
38643af6ab5fSopenharmony_ci                "column": 63
38653af6ab5fSopenharmony_ci              }
38663af6ab5fSopenharmony_ci            }
38673af6ab5fSopenharmony_ci          }
38683af6ab5fSopenharmony_ci        ],
38693af6ab5fSopenharmony_ci        "indexSignatures": [],
38703af6ab5fSopenharmony_ci        "loc": {
38713af6ab5fSopenharmony_ci          "start": {
38723af6ab5fSopenharmony_ci            "line": 48,
38733af6ab5fSopenharmony_ci            "column": 52
38743af6ab5fSopenharmony_ci          },
38753af6ab5fSopenharmony_ci          "end": {
38763af6ab5fSopenharmony_ci            "line": 51,
38773af6ab5fSopenharmony_ci            "column": 2
38783af6ab5fSopenharmony_ci          }
38793af6ab5fSopenharmony_ci        }
38803af6ab5fSopenharmony_ci      },
38813af6ab5fSopenharmony_ci      "decorators": [],
38823af6ab5fSopenharmony_ci      "isAnnotationDeclaration": false,
38833af6ab5fSopenharmony_ci      "loc": {
38843af6ab5fSopenharmony_ci        "start": {
38853af6ab5fSopenharmony_ci          "line": 48,
38863af6ab5fSopenharmony_ci          "column": 1
38873af6ab5fSopenharmony_ci        },
38883af6ab5fSopenharmony_ci        "end": {
38893af6ab5fSopenharmony_ci          "line": 51,
38903af6ab5fSopenharmony_ci          "column": 2
38913af6ab5fSopenharmony_ci        }
38923af6ab5fSopenharmony_ci      }
38933af6ab5fSopenharmony_ci    },
38943af6ab5fSopenharmony_ci    {
38953af6ab5fSopenharmony_ci      "type": "ClassDeclaration",
38963af6ab5fSopenharmony_ci      "definition": {
38973af6ab5fSopenharmony_ci        "id": {
38983af6ab5fSopenharmony_ci          "type": "Identifier",
38993af6ab5fSopenharmony_ci          "name": "W",
39003af6ab5fSopenharmony_ci          "loc": {
39013af6ab5fSopenharmony_ci            "start": {
39023af6ab5fSopenharmony_ci              "line": 53,
39033af6ab5fSopenharmony_ci              "column": 7
39043af6ab5fSopenharmony_ci            },
39053af6ab5fSopenharmony_ci            "end": {
39063af6ab5fSopenharmony_ci              "line": 53,
39073af6ab5fSopenharmony_ci              "column": 8
39083af6ab5fSopenharmony_ci            }
39093af6ab5fSopenharmony_ci          }
39103af6ab5fSopenharmony_ci        },
39113af6ab5fSopenharmony_ci        "superClass": {
39123af6ab5fSopenharmony_ci          "type": "Identifier",
39133af6ab5fSopenharmony_ci          "name": "T",
39143af6ab5fSopenharmony_ci          "loc": {
39153af6ab5fSopenharmony_ci            "start": {
39163af6ab5fSopenharmony_ci              "line": 53,
39173af6ab5fSopenharmony_ci              "column": 17
39183af6ab5fSopenharmony_ci            },
39193af6ab5fSopenharmony_ci            "end": {
39203af6ab5fSopenharmony_ci              "line": 53,
39213af6ab5fSopenharmony_ci              "column": 18
39223af6ab5fSopenharmony_ci            }
39233af6ab5fSopenharmony_ci          }
39243af6ab5fSopenharmony_ci        },
39253af6ab5fSopenharmony_ci        "superTypeParameters": {
39263af6ab5fSopenharmony_ci          "type": "TSTypeParameterInstantiation",
39273af6ab5fSopenharmony_ci          "params": [
39283af6ab5fSopenharmony_ci            {
39293af6ab5fSopenharmony_ci              "type": "TSFunctionType",
39303af6ab5fSopenharmony_ci              "params": [],
39313af6ab5fSopenharmony_ci              "typeParameters": {
39323af6ab5fSopenharmony_ci                "type": "TSTypeParameterDeclaration",
39333af6ab5fSopenharmony_ci                "params": [
39343af6ab5fSopenharmony_ci                  {
39353af6ab5fSopenharmony_ci                    "type": "TSTypeParameter",
39363af6ab5fSopenharmony_ci                    "name": {
39373af6ab5fSopenharmony_ci                      "type": "Identifier",
39383af6ab5fSopenharmony_ci                      "name": "B",
39393af6ab5fSopenharmony_ci                      "loc": {
39403af6ab5fSopenharmony_ci                        "start": {
39413af6ab5fSopenharmony_ci                          "line": 53,
39423af6ab5fSopenharmony_ci                          "column": 20
39433af6ab5fSopenharmony_ci                        },
39443af6ab5fSopenharmony_ci                        "end": {
39453af6ab5fSopenharmony_ci                          "line": 53,
39463af6ab5fSopenharmony_ci                          "column": 21
39473af6ab5fSopenharmony_ci                        }
39483af6ab5fSopenharmony_ci                      }
39493af6ab5fSopenharmony_ci                    },
39503af6ab5fSopenharmony_ci                    "in": false,
39513af6ab5fSopenharmony_ci                    "out": false,
39523af6ab5fSopenharmony_ci                    "loc": {
39533af6ab5fSopenharmony_ci                      "start": {
39543af6ab5fSopenharmony_ci                        "line": 53,
39553af6ab5fSopenharmony_ci                        "column": 20
39563af6ab5fSopenharmony_ci                      },
39573af6ab5fSopenharmony_ci                      "end": {
39583af6ab5fSopenharmony_ci                        "line": 53,
39593af6ab5fSopenharmony_ci                        "column": 22
39603af6ab5fSopenharmony_ci                      }
39613af6ab5fSopenharmony_ci                    }
39623af6ab5fSopenharmony_ci                  }
39633af6ab5fSopenharmony_ci                ],
39643af6ab5fSopenharmony_ci                "loc": {
39653af6ab5fSopenharmony_ci                  "start": {
39663af6ab5fSopenharmony_ci                    "line": 53,
39673af6ab5fSopenharmony_ci                    "column": 19
39683af6ab5fSopenharmony_ci                  },
39693af6ab5fSopenharmony_ci                  "end": {
39703af6ab5fSopenharmony_ci                    "line": 53,
39713af6ab5fSopenharmony_ci                    "column": 22
39723af6ab5fSopenharmony_ci                  }
39733af6ab5fSopenharmony_ci                }
39743af6ab5fSopenharmony_ci              },
39753af6ab5fSopenharmony_ci              "returnType": {
39763af6ab5fSopenharmony_ci                "type": "TSNumberKeyword",
39773af6ab5fSopenharmony_ci                "loc": {
39783af6ab5fSopenharmony_ci                  "start": {
39793af6ab5fSopenharmony_ci                    "line": 53,
39803af6ab5fSopenharmony_ci                    "column": 29
39813af6ab5fSopenharmony_ci                  },
39823af6ab5fSopenharmony_ci                  "end": {
39833af6ab5fSopenharmony_ci                    "line": 53,
39843af6ab5fSopenharmony_ci                    "column": 35
39853af6ab5fSopenharmony_ci                  }
39863af6ab5fSopenharmony_ci                }
39873af6ab5fSopenharmony_ci              },
39883af6ab5fSopenharmony_ci              "loc": {
39893af6ab5fSopenharmony_ci                "start": {
39903af6ab5fSopenharmony_ci                  "line": 53,
39913af6ab5fSopenharmony_ci                  "column": 19
39923af6ab5fSopenharmony_ci                },
39933af6ab5fSopenharmony_ci                "end": {
39943af6ab5fSopenharmony_ci                  "line": 53,
39953af6ab5fSopenharmony_ci                  "column": 35
39963af6ab5fSopenharmony_ci                }
39973af6ab5fSopenharmony_ci              }
39983af6ab5fSopenharmony_ci            },
39993af6ab5fSopenharmony_ci            {
40003af6ab5fSopenharmony_ci              "type": "TSArrayType",
40013af6ab5fSopenharmony_ci              "elementType": {
40023af6ab5fSopenharmony_ci                "type": "TSTupleType",
40033af6ab5fSopenharmony_ci                "elementTypes": [
40043af6ab5fSopenharmony_ci                  {
40053af6ab5fSopenharmony_ci                    "type": "TSUnionType",
40063af6ab5fSopenharmony_ci                    "types": [
40073af6ab5fSopenharmony_ci                      {
40083af6ab5fSopenharmony_ci                        "type": "TSNumberKeyword",
40093af6ab5fSopenharmony_ci                        "loc": {
40103af6ab5fSopenharmony_ci                          "start": {
40113af6ab5fSopenharmony_ci                            "line": 53,
40123af6ab5fSopenharmony_ci                            "column": 38
40133af6ab5fSopenharmony_ci                          },
40143af6ab5fSopenharmony_ci                          "end": {
40153af6ab5fSopenharmony_ci                            "line": 53,
40163af6ab5fSopenharmony_ci                            "column": 44
40173af6ab5fSopenharmony_ci                          }
40183af6ab5fSopenharmony_ci                        }
40193af6ab5fSopenharmony_ci                      },
40203af6ab5fSopenharmony_ci                      {
40213af6ab5fSopenharmony_ci                        "type": "TSStringKeyword",
40223af6ab5fSopenharmony_ci                        "loc": {
40233af6ab5fSopenharmony_ci                          "start": {
40243af6ab5fSopenharmony_ci                            "line": 53,
40253af6ab5fSopenharmony_ci                            "column": 47
40263af6ab5fSopenharmony_ci                          },
40273af6ab5fSopenharmony_ci                          "end": {
40283af6ab5fSopenharmony_ci                            "line": 53,
40293af6ab5fSopenharmony_ci                            "column": 53
40303af6ab5fSopenharmony_ci                          }
40313af6ab5fSopenharmony_ci                        }
40323af6ab5fSopenharmony_ci                      }
40333af6ab5fSopenharmony_ci                    ],
40343af6ab5fSopenharmony_ci                    "loc": {
40353af6ab5fSopenharmony_ci                      "start": {
40363af6ab5fSopenharmony_ci                        "line": 53,
40373af6ab5fSopenharmony_ci                        "column": 38
40383af6ab5fSopenharmony_ci                      },
40393af6ab5fSopenharmony_ci                      "end": {
40403af6ab5fSopenharmony_ci                        "line": 53,
40413af6ab5fSopenharmony_ci                        "column": 53
40423af6ab5fSopenharmony_ci                      }
40433af6ab5fSopenharmony_ci                    }
40443af6ab5fSopenharmony_ci                  }
40453af6ab5fSopenharmony_ci                ],
40463af6ab5fSopenharmony_ci                "loc": {
40473af6ab5fSopenharmony_ci                  "start": {
40483af6ab5fSopenharmony_ci                    "line": 53,
40493af6ab5fSopenharmony_ci                    "column": 37
40503af6ab5fSopenharmony_ci                  },
40513af6ab5fSopenharmony_ci                  "end": {
40523af6ab5fSopenharmony_ci                    "line": 53,
40533af6ab5fSopenharmony_ci                    "column": 54
40543af6ab5fSopenharmony_ci                  }
40553af6ab5fSopenharmony_ci                }
40563af6ab5fSopenharmony_ci              },
40573af6ab5fSopenharmony_ci              "loc": {
40583af6ab5fSopenharmony_ci                "start": {
40593af6ab5fSopenharmony_ci                  "line": 53,
40603af6ab5fSopenharmony_ci                  "column": 37
40613af6ab5fSopenharmony_ci                },
40623af6ab5fSopenharmony_ci                "end": {
40633af6ab5fSopenharmony_ci                  "line": 53,
40643af6ab5fSopenharmony_ci                  "column": 56
40653af6ab5fSopenharmony_ci                }
40663af6ab5fSopenharmony_ci              }
40673af6ab5fSopenharmony_ci            }
40683af6ab5fSopenharmony_ci          ],
40693af6ab5fSopenharmony_ci          "loc": {
40703af6ab5fSopenharmony_ci            "start": {
40713af6ab5fSopenharmony_ci              "line": 53,
40723af6ab5fSopenharmony_ci              "column": 18
40733af6ab5fSopenharmony_ci            },
40743af6ab5fSopenharmony_ci            "end": {
40753af6ab5fSopenharmony_ci              "line": 53,
40763af6ab5fSopenharmony_ci              "column": 57
40773af6ab5fSopenharmony_ci            }
40783af6ab5fSopenharmony_ci          }
40793af6ab5fSopenharmony_ci        },
40803af6ab5fSopenharmony_ci        "implements": [],
40813af6ab5fSopenharmony_ci        "constructor": {
40823af6ab5fSopenharmony_ci          "type": "MethodDefinition",
40833af6ab5fSopenharmony_ci          "key": {
40843af6ab5fSopenharmony_ci            "type": "Identifier",
40853af6ab5fSopenharmony_ci            "name": "constructor",
40863af6ab5fSopenharmony_ci            "loc": {
40873af6ab5fSopenharmony_ci              "start": {
40883af6ab5fSopenharmony_ci                "line": 1,
40893af6ab5fSopenharmony_ci                "column": 1
40903af6ab5fSopenharmony_ci              },
40913af6ab5fSopenharmony_ci              "end": {
40923af6ab5fSopenharmony_ci                "line": 1,
40933af6ab5fSopenharmony_ci                "column": 1
40943af6ab5fSopenharmony_ci              }
40953af6ab5fSopenharmony_ci            }
40963af6ab5fSopenharmony_ci          },
40973af6ab5fSopenharmony_ci          "kind": "constructor",
40983af6ab5fSopenharmony_ci          "static": false,
40993af6ab5fSopenharmony_ci          "optional": false,
41003af6ab5fSopenharmony_ci          "computed": false,
41013af6ab5fSopenharmony_ci          "value": {
41023af6ab5fSopenharmony_ci            "type": "FunctionExpression",
41033af6ab5fSopenharmony_ci            "function": {
41043af6ab5fSopenharmony_ci              "type": "ScriptFunction",
41053af6ab5fSopenharmony_ci              "id": null,
41063af6ab5fSopenharmony_ci              "generator": false,
41073af6ab5fSopenharmony_ci              "async": false,
41083af6ab5fSopenharmony_ci              "expression": false,
41093af6ab5fSopenharmony_ci              "params": [
41103af6ab5fSopenharmony_ci                {
41113af6ab5fSopenharmony_ci                  "type": "RestElement",
41123af6ab5fSopenharmony_ci                  "argument": {
41133af6ab5fSopenharmony_ci                    "type": "Identifier",
41143af6ab5fSopenharmony_ci                    "name": "args",
41153af6ab5fSopenharmony_ci                    "loc": {
41163af6ab5fSopenharmony_ci                      "start": {
41173af6ab5fSopenharmony_ci                        "line": 1,
41183af6ab5fSopenharmony_ci                        "column": 1
41193af6ab5fSopenharmony_ci                      },
41203af6ab5fSopenharmony_ci                      "end": {
41213af6ab5fSopenharmony_ci                        "line": 1,
41223af6ab5fSopenharmony_ci                        "column": 1
41233af6ab5fSopenharmony_ci                      }
41243af6ab5fSopenharmony_ci                    }
41253af6ab5fSopenharmony_ci                  },
41263af6ab5fSopenharmony_ci                  "loc": {
41273af6ab5fSopenharmony_ci                    "start": {
41283af6ab5fSopenharmony_ci                      "line": 1,
41293af6ab5fSopenharmony_ci                      "column": 1
41303af6ab5fSopenharmony_ci                    },
41313af6ab5fSopenharmony_ci                    "end": {
41323af6ab5fSopenharmony_ci                      "line": 1,
41333af6ab5fSopenharmony_ci                      "column": 1
41343af6ab5fSopenharmony_ci                    }
41353af6ab5fSopenharmony_ci                  }
41363af6ab5fSopenharmony_ci                }
41373af6ab5fSopenharmony_ci              ],
41383af6ab5fSopenharmony_ci              "body": {
41393af6ab5fSopenharmony_ci                "type": "BlockStatement",
41403af6ab5fSopenharmony_ci                "statements": [
41413af6ab5fSopenharmony_ci                  {
41423af6ab5fSopenharmony_ci                    "type": "ExpressionStatement",
41433af6ab5fSopenharmony_ci                    "expression": {
41443af6ab5fSopenharmony_ci                      "type": "CallExpression",
41453af6ab5fSopenharmony_ci                      "callee": {
41463af6ab5fSopenharmony_ci                        "type": "Super",
41473af6ab5fSopenharmony_ci                        "loc": {
41483af6ab5fSopenharmony_ci                          "start": {
41493af6ab5fSopenharmony_ci                            "line": 1,
41503af6ab5fSopenharmony_ci                            "column": 1
41513af6ab5fSopenharmony_ci                          },
41523af6ab5fSopenharmony_ci                          "end": {
41533af6ab5fSopenharmony_ci                            "line": 1,
41543af6ab5fSopenharmony_ci                            "column": 1
41553af6ab5fSopenharmony_ci                          }
41563af6ab5fSopenharmony_ci                        }
41573af6ab5fSopenharmony_ci                      },
41583af6ab5fSopenharmony_ci                      "arguments": [
41593af6ab5fSopenharmony_ci                        {
41603af6ab5fSopenharmony_ci                          "type": "SpreadElement",
41613af6ab5fSopenharmony_ci                          "argument": {
41623af6ab5fSopenharmony_ci                            "type": "Identifier",
41633af6ab5fSopenharmony_ci                            "name": "args",
41643af6ab5fSopenharmony_ci                            "loc": {
41653af6ab5fSopenharmony_ci                              "start": {
41663af6ab5fSopenharmony_ci                                "line": 1,
41673af6ab5fSopenharmony_ci                                "column": 1
41683af6ab5fSopenharmony_ci                              },
41693af6ab5fSopenharmony_ci                              "end": {
41703af6ab5fSopenharmony_ci                                "line": 1,
41713af6ab5fSopenharmony_ci                                "column": 1
41723af6ab5fSopenharmony_ci                              }
41733af6ab5fSopenharmony_ci                            }
41743af6ab5fSopenharmony_ci                          },
41753af6ab5fSopenharmony_ci                          "loc": {
41763af6ab5fSopenharmony_ci                            "start": {
41773af6ab5fSopenharmony_ci                              "line": 1,
41783af6ab5fSopenharmony_ci                              "column": 1
41793af6ab5fSopenharmony_ci                            },
41803af6ab5fSopenharmony_ci                            "end": {
41813af6ab5fSopenharmony_ci                              "line": 1,
41823af6ab5fSopenharmony_ci                              "column": 1
41833af6ab5fSopenharmony_ci                            }
41843af6ab5fSopenharmony_ci                          }
41853af6ab5fSopenharmony_ci                        }
41863af6ab5fSopenharmony_ci                      ],
41873af6ab5fSopenharmony_ci                      "optional": false,
41883af6ab5fSopenharmony_ci                      "loc": {
41893af6ab5fSopenharmony_ci                        "start": {
41903af6ab5fSopenharmony_ci                          "line": 1,
41913af6ab5fSopenharmony_ci                          "column": 1
41923af6ab5fSopenharmony_ci                        },
41933af6ab5fSopenharmony_ci                        "end": {
41943af6ab5fSopenharmony_ci                          "line": 1,
41953af6ab5fSopenharmony_ci                          "column": 1
41963af6ab5fSopenharmony_ci                        }
41973af6ab5fSopenharmony_ci                      }
41983af6ab5fSopenharmony_ci                    },
41993af6ab5fSopenharmony_ci                    "loc": {
42003af6ab5fSopenharmony_ci                      "start": {
42013af6ab5fSopenharmony_ci                        "line": 1,
42023af6ab5fSopenharmony_ci                        "column": 1
42033af6ab5fSopenharmony_ci                      },
42043af6ab5fSopenharmony_ci                      "end": {
42053af6ab5fSopenharmony_ci                        "line": 1,
42063af6ab5fSopenharmony_ci                        "column": 1
42073af6ab5fSopenharmony_ci                      }
42083af6ab5fSopenharmony_ci                    }
42093af6ab5fSopenharmony_ci                  }
42103af6ab5fSopenharmony_ci                ],
42113af6ab5fSopenharmony_ci                "loc": {
42123af6ab5fSopenharmony_ci                  "start": {
42133af6ab5fSopenharmony_ci                    "line": 1,
42143af6ab5fSopenharmony_ci                    "column": 1
42153af6ab5fSopenharmony_ci                  },
42163af6ab5fSopenharmony_ci                  "end": {
42173af6ab5fSopenharmony_ci                    "line": 1,
42183af6ab5fSopenharmony_ci                    "column": 1
42193af6ab5fSopenharmony_ci                  }
42203af6ab5fSopenharmony_ci                }
42213af6ab5fSopenharmony_ci              },
42223af6ab5fSopenharmony_ci              "loc": {
42233af6ab5fSopenharmony_ci                "start": {
42243af6ab5fSopenharmony_ci                  "line": 1,
42253af6ab5fSopenharmony_ci                  "column": 1
42263af6ab5fSopenharmony_ci                },
42273af6ab5fSopenharmony_ci                "end": {
42283af6ab5fSopenharmony_ci                  "line": 1,
42293af6ab5fSopenharmony_ci                  "column": 1
42303af6ab5fSopenharmony_ci                }
42313af6ab5fSopenharmony_ci              }
42323af6ab5fSopenharmony_ci            },
42333af6ab5fSopenharmony_ci            "loc": {
42343af6ab5fSopenharmony_ci              "start": {
42353af6ab5fSopenharmony_ci                "line": 1,
42363af6ab5fSopenharmony_ci                "column": 1
42373af6ab5fSopenharmony_ci              },
42383af6ab5fSopenharmony_ci              "end": {
42393af6ab5fSopenharmony_ci                "line": 1,
42403af6ab5fSopenharmony_ci                "column": 1
42413af6ab5fSopenharmony_ci              }
42423af6ab5fSopenharmony_ci            }
42433af6ab5fSopenharmony_ci          },
42443af6ab5fSopenharmony_ci          "overloads": [],
42453af6ab5fSopenharmony_ci          "decorators": [],
42463af6ab5fSopenharmony_ci          "annotations": [],
42473af6ab5fSopenharmony_ci          "loc": {
42483af6ab5fSopenharmony_ci            "start": {
42493af6ab5fSopenharmony_ci              "line": 53,
42503af6ab5fSopenharmony_ci              "column": 1
42513af6ab5fSopenharmony_ci            },
42523af6ab5fSopenharmony_ci            "end": {
42533af6ab5fSopenharmony_ci              "line": 55,
42543af6ab5fSopenharmony_ci              "column": 2
42553af6ab5fSopenharmony_ci            }
42563af6ab5fSopenharmony_ci          }
42573af6ab5fSopenharmony_ci        },
42583af6ab5fSopenharmony_ci        "body": [],
42593af6ab5fSopenharmony_ci        "indexSignatures": [],
42603af6ab5fSopenharmony_ci        "loc": {
42613af6ab5fSopenharmony_ci          "start": {
42623af6ab5fSopenharmony_ci            "line": 53,
42633af6ab5fSopenharmony_ci            "column": 58
42643af6ab5fSopenharmony_ci          },
42653af6ab5fSopenharmony_ci          "end": {
42663af6ab5fSopenharmony_ci            "line": 55,
42673af6ab5fSopenharmony_ci            "column": 2
42683af6ab5fSopenharmony_ci          }
42693af6ab5fSopenharmony_ci        }
42703af6ab5fSopenharmony_ci      },
42713af6ab5fSopenharmony_ci      "decorators": [],
42723af6ab5fSopenharmony_ci      "isAnnotationDeclaration": false,
42733af6ab5fSopenharmony_ci      "loc": {
42743af6ab5fSopenharmony_ci        "start": {
42753af6ab5fSopenharmony_ci          "line": 53,
42763af6ab5fSopenharmony_ci          "column": 1
42773af6ab5fSopenharmony_ci        },
42783af6ab5fSopenharmony_ci        "end": {
42793af6ab5fSopenharmony_ci          "line": 55,
42803af6ab5fSopenharmony_ci          "column": 2
42813af6ab5fSopenharmony_ci        }
42823af6ab5fSopenharmony_ci      }
42833af6ab5fSopenharmony_ci    },
42843af6ab5fSopenharmony_ci    {
42853af6ab5fSopenharmony_ci      "type": "ClassDeclaration",
42863af6ab5fSopenharmony_ci      "definition": {
42873af6ab5fSopenharmony_ci        "id": {
42883af6ab5fSopenharmony_ci          "type": "Identifier",
42893af6ab5fSopenharmony_ci          "name": "X",
42903af6ab5fSopenharmony_ci          "loc": {
42913af6ab5fSopenharmony_ci            "start": {
42923af6ab5fSopenharmony_ci              "line": 57,
42933af6ab5fSopenharmony_ci              "column": 7
42943af6ab5fSopenharmony_ci            },
42953af6ab5fSopenharmony_ci            "end": {
42963af6ab5fSopenharmony_ci              "line": 57,
42973af6ab5fSopenharmony_ci              "column": 8
42983af6ab5fSopenharmony_ci            }
42993af6ab5fSopenharmony_ci          }
43003af6ab5fSopenharmony_ci        },
43013af6ab5fSopenharmony_ci        "superClass": {
43023af6ab5fSopenharmony_ci          "type": "Identifier",
43033af6ab5fSopenharmony_ci          "name": "Q",
43043af6ab5fSopenharmony_ci          "loc": {
43053af6ab5fSopenharmony_ci            "start": {
43063af6ab5fSopenharmony_ci              "line": 57,
43073af6ab5fSopenharmony_ci              "column": 17
43083af6ab5fSopenharmony_ci            },
43093af6ab5fSopenharmony_ci            "end": {
43103af6ab5fSopenharmony_ci              "line": 57,
43113af6ab5fSopenharmony_ci              "column": 18
43123af6ab5fSopenharmony_ci            }
43133af6ab5fSopenharmony_ci          }
43143af6ab5fSopenharmony_ci        },
43153af6ab5fSopenharmony_ci        "superTypeParameters": {
43163af6ab5fSopenharmony_ci          "type": "TSTypeParameterInstantiation",
43173af6ab5fSopenharmony_ci          "params": [
43183af6ab5fSopenharmony_ci            {
43193af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
43203af6ab5fSopenharmony_ci              "loc": {
43213af6ab5fSopenharmony_ci                "start": {
43223af6ab5fSopenharmony_ci                  "line": 57,
43233af6ab5fSopenharmony_ci                  "column": 19
43243af6ab5fSopenharmony_ci                },
43253af6ab5fSopenharmony_ci                "end": {
43263af6ab5fSopenharmony_ci                  "line": 57,
43273af6ab5fSopenharmony_ci                  "column": 25
43283af6ab5fSopenharmony_ci                }
43293af6ab5fSopenharmony_ci              }
43303af6ab5fSopenharmony_ci            }
43313af6ab5fSopenharmony_ci          ],
43323af6ab5fSopenharmony_ci          "loc": {
43333af6ab5fSopenharmony_ci            "start": {
43343af6ab5fSopenharmony_ci              "line": 57,
43353af6ab5fSopenharmony_ci              "column": 18
43363af6ab5fSopenharmony_ci            },
43373af6ab5fSopenharmony_ci            "end": {
43383af6ab5fSopenharmony_ci              "line": 57,
43393af6ab5fSopenharmony_ci              "column": 26
43403af6ab5fSopenharmony_ci            }
43413af6ab5fSopenharmony_ci          }
43423af6ab5fSopenharmony_ci        },
43433af6ab5fSopenharmony_ci        "implements": [
43443af6ab5fSopenharmony_ci          {
43453af6ab5fSopenharmony_ci            "type": "TSClassImplements",
43463af6ab5fSopenharmony_ci            "expression": {
43473af6ab5fSopenharmony_ci              "type": "Identifier",
43483af6ab5fSopenharmony_ci              "name": "S",
43493af6ab5fSopenharmony_ci              "loc": {
43503af6ab5fSopenharmony_ci                "start": {
43513af6ab5fSopenharmony_ci                  "line": 57,
43523af6ab5fSopenharmony_ci                  "column": 38
43533af6ab5fSopenharmony_ci                },
43543af6ab5fSopenharmony_ci                "end": {
43553af6ab5fSopenharmony_ci                  "line": 57,
43563af6ab5fSopenharmony_ci                  "column": 39
43573af6ab5fSopenharmony_ci                }
43583af6ab5fSopenharmony_ci              }
43593af6ab5fSopenharmony_ci            },
43603af6ab5fSopenharmony_ci            "typeParameters": {
43613af6ab5fSopenharmony_ci              "type": "TSTypeParameterInstantiation",
43623af6ab5fSopenharmony_ci              "params": [
43633af6ab5fSopenharmony_ci                {
43643af6ab5fSopenharmony_ci                  "type": "TSFunctionType",
43653af6ab5fSopenharmony_ci                  "params": [
43663af6ab5fSopenharmony_ci                    {
43673af6ab5fSopenharmony_ci                      "type": "Identifier",
43683af6ab5fSopenharmony_ci                      "name": "a",
43693af6ab5fSopenharmony_ci                      "typeAnnotation": {
43703af6ab5fSopenharmony_ci                        "type": "TSNumberKeyword",
43713af6ab5fSopenharmony_ci                        "loc": {
43723af6ab5fSopenharmony_ci                          "start": {
43733af6ab5fSopenharmony_ci                            "line": 57,
43743af6ab5fSopenharmony_ci                            "column": 46
43753af6ab5fSopenharmony_ci                          },
43763af6ab5fSopenharmony_ci                          "end": {
43773af6ab5fSopenharmony_ci                            "line": 57,
43783af6ab5fSopenharmony_ci                            "column": 52
43793af6ab5fSopenharmony_ci                          }
43803af6ab5fSopenharmony_ci                        }
43813af6ab5fSopenharmony_ci                      },
43823af6ab5fSopenharmony_ci                      "loc": {
43833af6ab5fSopenharmony_ci                        "start": {
43843af6ab5fSopenharmony_ci                          "line": 57,
43853af6ab5fSopenharmony_ci                          "column": 44
43863af6ab5fSopenharmony_ci                        },
43873af6ab5fSopenharmony_ci                        "end": {
43883af6ab5fSopenharmony_ci                          "line": 57,
43893af6ab5fSopenharmony_ci                          "column": 45
43903af6ab5fSopenharmony_ci                        }
43913af6ab5fSopenharmony_ci                      }
43923af6ab5fSopenharmony_ci                    },
43933af6ab5fSopenharmony_ci                    {
43943af6ab5fSopenharmony_ci                      "type": "Identifier",
43953af6ab5fSopenharmony_ci                      "name": "b",
43963af6ab5fSopenharmony_ci                      "typeAnnotation": {
43973af6ab5fSopenharmony_ci                        "type": "TSStringKeyword",
43983af6ab5fSopenharmony_ci                        "loc": {
43993af6ab5fSopenharmony_ci                          "start": {
44003af6ab5fSopenharmony_ci                            "line": 57,
44013af6ab5fSopenharmony_ci                            "column": 56
44023af6ab5fSopenharmony_ci                          },
44033af6ab5fSopenharmony_ci                          "end": {
44043af6ab5fSopenharmony_ci                            "line": 57,
44053af6ab5fSopenharmony_ci                            "column": 62
44063af6ab5fSopenharmony_ci                          }
44073af6ab5fSopenharmony_ci                        }
44083af6ab5fSopenharmony_ci                      },
44093af6ab5fSopenharmony_ci                      "loc": {
44103af6ab5fSopenharmony_ci                        "start": {
44113af6ab5fSopenharmony_ci                          "line": 57,
44123af6ab5fSopenharmony_ci                          "column": 54
44133af6ab5fSopenharmony_ci                        },
44143af6ab5fSopenharmony_ci                        "end": {
44153af6ab5fSopenharmony_ci                          "line": 57,
44163af6ab5fSopenharmony_ci                          "column": 55
44173af6ab5fSopenharmony_ci                        }
44183af6ab5fSopenharmony_ci                      }
44193af6ab5fSopenharmony_ci                    }
44203af6ab5fSopenharmony_ci                  ],
44213af6ab5fSopenharmony_ci                  "typeParameters": {
44223af6ab5fSopenharmony_ci                    "type": "TSTypeParameterDeclaration",
44233af6ab5fSopenharmony_ci                    "params": [
44243af6ab5fSopenharmony_ci                      {
44253af6ab5fSopenharmony_ci                        "type": "TSTypeParameter",
44263af6ab5fSopenharmony_ci                        "name": {
44273af6ab5fSopenharmony_ci                          "type": "Identifier",
44283af6ab5fSopenharmony_ci                          "name": "R",
44293af6ab5fSopenharmony_ci                          "loc": {
44303af6ab5fSopenharmony_ci                            "start": {
44313af6ab5fSopenharmony_ci                              "line": 57,
44323af6ab5fSopenharmony_ci                              "column": 41
44333af6ab5fSopenharmony_ci                            },
44343af6ab5fSopenharmony_ci                            "end": {
44353af6ab5fSopenharmony_ci                              "line": 57,
44363af6ab5fSopenharmony_ci                              "column": 42
44373af6ab5fSopenharmony_ci                            }
44383af6ab5fSopenharmony_ci                          }
44393af6ab5fSopenharmony_ci                        },
44403af6ab5fSopenharmony_ci                        "in": false,
44413af6ab5fSopenharmony_ci                        "out": false,
44423af6ab5fSopenharmony_ci                        "loc": {
44433af6ab5fSopenharmony_ci                          "start": {
44443af6ab5fSopenharmony_ci                            "line": 57,
44453af6ab5fSopenharmony_ci                            "column": 41
44463af6ab5fSopenharmony_ci                          },
44473af6ab5fSopenharmony_ci                          "end": {
44483af6ab5fSopenharmony_ci                            "line": 57,
44493af6ab5fSopenharmony_ci                            "column": 43
44503af6ab5fSopenharmony_ci                          }
44513af6ab5fSopenharmony_ci                        }
44523af6ab5fSopenharmony_ci                      }
44533af6ab5fSopenharmony_ci                    ],
44543af6ab5fSopenharmony_ci                    "loc": {
44553af6ab5fSopenharmony_ci                      "start": {
44563af6ab5fSopenharmony_ci                        "line": 57,
44573af6ab5fSopenharmony_ci                        "column": 40
44583af6ab5fSopenharmony_ci                      },
44593af6ab5fSopenharmony_ci                      "end": {
44603af6ab5fSopenharmony_ci                        "line": 57,
44613af6ab5fSopenharmony_ci                        "column": 43
44623af6ab5fSopenharmony_ci                      }
44633af6ab5fSopenharmony_ci                    }
44643af6ab5fSopenharmony_ci                  },
44653af6ab5fSopenharmony_ci                  "returnType": {
44663af6ab5fSopenharmony_ci                    "type": "TSTupleType",
44673af6ab5fSopenharmony_ci                    "elementTypes": [
44683af6ab5fSopenharmony_ci                      {
44693af6ab5fSopenharmony_ci                        "type": "TSNumberKeyword",
44703af6ab5fSopenharmony_ci                        "loc": {
44713af6ab5fSopenharmony_ci                          "start": {
44723af6ab5fSopenharmony_ci                            "line": 57,
44733af6ab5fSopenharmony_ci                            "column": 68
44743af6ab5fSopenharmony_ci                          },
44753af6ab5fSopenharmony_ci                          "end": {
44763af6ab5fSopenharmony_ci                            "line": 57,
44773af6ab5fSopenharmony_ci                            "column": 74
44783af6ab5fSopenharmony_ci                          }
44793af6ab5fSopenharmony_ci                        }
44803af6ab5fSopenharmony_ci                      }
44813af6ab5fSopenharmony_ci                    ],
44823af6ab5fSopenharmony_ci                    "loc": {
44833af6ab5fSopenharmony_ci                      "start": {
44843af6ab5fSopenharmony_ci                        "line": 57,
44853af6ab5fSopenharmony_ci                        "column": 67
44863af6ab5fSopenharmony_ci                      },
44873af6ab5fSopenharmony_ci                      "end": {
44883af6ab5fSopenharmony_ci                        "line": 57,
44893af6ab5fSopenharmony_ci                        "column": 75
44903af6ab5fSopenharmony_ci                      }
44913af6ab5fSopenharmony_ci                    }
44923af6ab5fSopenharmony_ci                  },
44933af6ab5fSopenharmony_ci                  "loc": {
44943af6ab5fSopenharmony_ci                    "start": {
44953af6ab5fSopenharmony_ci                      "line": 57,
44963af6ab5fSopenharmony_ci                      "column": 40
44973af6ab5fSopenharmony_ci                    },
44983af6ab5fSopenharmony_ci                    "end": {
44993af6ab5fSopenharmony_ci                      "line": 57,
45003af6ab5fSopenharmony_ci                      "column": 75
45013af6ab5fSopenharmony_ci                    }
45023af6ab5fSopenharmony_ci                  }
45033af6ab5fSopenharmony_ci                }
45043af6ab5fSopenharmony_ci              ],
45053af6ab5fSopenharmony_ci              "loc": {
45063af6ab5fSopenharmony_ci                "start": {
45073af6ab5fSopenharmony_ci                  "line": 57,
45083af6ab5fSopenharmony_ci                  "column": 39
45093af6ab5fSopenharmony_ci                },
45103af6ab5fSopenharmony_ci                "end": {
45113af6ab5fSopenharmony_ci                  "line": 57,
45123af6ab5fSopenharmony_ci                  "column": 76
45133af6ab5fSopenharmony_ci                }
45143af6ab5fSopenharmony_ci              }
45153af6ab5fSopenharmony_ci            },
45163af6ab5fSopenharmony_ci            "loc": {
45173af6ab5fSopenharmony_ci              "start": {
45183af6ab5fSopenharmony_ci                "line": 57,
45193af6ab5fSopenharmony_ci                "column": 38
45203af6ab5fSopenharmony_ci              },
45213af6ab5fSopenharmony_ci              "end": {
45223af6ab5fSopenharmony_ci                "line": 57,
45233af6ab5fSopenharmony_ci                "column": 77
45243af6ab5fSopenharmony_ci              }
45253af6ab5fSopenharmony_ci            }
45263af6ab5fSopenharmony_ci          },
45273af6ab5fSopenharmony_ci          {
45283af6ab5fSopenharmony_ci            "type": "TSClassImplements",
45293af6ab5fSopenharmony_ci            "expression": {
45303af6ab5fSopenharmony_ci              "type": "Identifier",
45313af6ab5fSopenharmony_ci              "name": "A",
45323af6ab5fSopenharmony_ci              "loc": {
45333af6ab5fSopenharmony_ci                "start": {
45343af6ab5fSopenharmony_ci                  "line": 57,
45353af6ab5fSopenharmony_ci                  "column": 78
45363af6ab5fSopenharmony_ci                },
45373af6ab5fSopenharmony_ci                "end": {
45383af6ab5fSopenharmony_ci                  "line": 57,
45393af6ab5fSopenharmony_ci                  "column": 79
45403af6ab5fSopenharmony_ci                }
45413af6ab5fSopenharmony_ci              }
45423af6ab5fSopenharmony_ci            },
45433af6ab5fSopenharmony_ci            "loc": {
45443af6ab5fSopenharmony_ci              "start": {
45453af6ab5fSopenharmony_ci                "line": 57,
45463af6ab5fSopenharmony_ci                "column": 78
45473af6ab5fSopenharmony_ci              },
45483af6ab5fSopenharmony_ci              "end": {
45493af6ab5fSopenharmony_ci                "line": 57,
45503af6ab5fSopenharmony_ci                "column": 81
45513af6ab5fSopenharmony_ci              }
45523af6ab5fSopenharmony_ci            }
45533af6ab5fSopenharmony_ci          }
45543af6ab5fSopenharmony_ci        ],
45553af6ab5fSopenharmony_ci        "constructor": {
45563af6ab5fSopenharmony_ci          "type": "MethodDefinition",
45573af6ab5fSopenharmony_ci          "key": {
45583af6ab5fSopenharmony_ci            "type": "Identifier",
45593af6ab5fSopenharmony_ci            "name": "constructor",
45603af6ab5fSopenharmony_ci            "loc": {
45613af6ab5fSopenharmony_ci              "start": {
45623af6ab5fSopenharmony_ci                "line": 1,
45633af6ab5fSopenharmony_ci                "column": 1
45643af6ab5fSopenharmony_ci              },
45653af6ab5fSopenharmony_ci              "end": {
45663af6ab5fSopenharmony_ci                "line": 1,
45673af6ab5fSopenharmony_ci                "column": 1
45683af6ab5fSopenharmony_ci              }
45693af6ab5fSopenharmony_ci            }
45703af6ab5fSopenharmony_ci          },
45713af6ab5fSopenharmony_ci          "kind": "constructor",
45723af6ab5fSopenharmony_ci          "static": false,
45733af6ab5fSopenharmony_ci          "optional": false,
45743af6ab5fSopenharmony_ci          "computed": false,
45753af6ab5fSopenharmony_ci          "value": {
45763af6ab5fSopenharmony_ci            "type": "FunctionExpression",
45773af6ab5fSopenharmony_ci            "function": {
45783af6ab5fSopenharmony_ci              "type": "ScriptFunction",
45793af6ab5fSopenharmony_ci              "id": null,
45803af6ab5fSopenharmony_ci              "generator": false,
45813af6ab5fSopenharmony_ci              "async": false,
45823af6ab5fSopenharmony_ci              "expression": false,
45833af6ab5fSopenharmony_ci              "params": [
45843af6ab5fSopenharmony_ci                {
45853af6ab5fSopenharmony_ci                  "type": "RestElement",
45863af6ab5fSopenharmony_ci                  "argument": {
45873af6ab5fSopenharmony_ci                    "type": "Identifier",
45883af6ab5fSopenharmony_ci                    "name": "args",
45893af6ab5fSopenharmony_ci                    "loc": {
45903af6ab5fSopenharmony_ci                      "start": {
45913af6ab5fSopenharmony_ci                        "line": 1,
45923af6ab5fSopenharmony_ci                        "column": 1
45933af6ab5fSopenharmony_ci                      },
45943af6ab5fSopenharmony_ci                      "end": {
45953af6ab5fSopenharmony_ci                        "line": 1,
45963af6ab5fSopenharmony_ci                        "column": 1
45973af6ab5fSopenharmony_ci                      }
45983af6ab5fSopenharmony_ci                    }
45993af6ab5fSopenharmony_ci                  },
46003af6ab5fSopenharmony_ci                  "loc": {
46013af6ab5fSopenharmony_ci                    "start": {
46023af6ab5fSopenharmony_ci                      "line": 1,
46033af6ab5fSopenharmony_ci                      "column": 1
46043af6ab5fSopenharmony_ci                    },
46053af6ab5fSopenharmony_ci                    "end": {
46063af6ab5fSopenharmony_ci                      "line": 1,
46073af6ab5fSopenharmony_ci                      "column": 1
46083af6ab5fSopenharmony_ci                    }
46093af6ab5fSopenharmony_ci                  }
46103af6ab5fSopenharmony_ci                }
46113af6ab5fSopenharmony_ci              ],
46123af6ab5fSopenharmony_ci              "body": {
46133af6ab5fSopenharmony_ci                "type": "BlockStatement",
46143af6ab5fSopenharmony_ci                "statements": [
46153af6ab5fSopenharmony_ci                  {
46163af6ab5fSopenharmony_ci                    "type": "ExpressionStatement",
46173af6ab5fSopenharmony_ci                    "expression": {
46183af6ab5fSopenharmony_ci                      "type": "CallExpression",
46193af6ab5fSopenharmony_ci                      "callee": {
46203af6ab5fSopenharmony_ci                        "type": "Super",
46213af6ab5fSopenharmony_ci                        "loc": {
46223af6ab5fSopenharmony_ci                          "start": {
46233af6ab5fSopenharmony_ci                            "line": 1,
46243af6ab5fSopenharmony_ci                            "column": 1
46253af6ab5fSopenharmony_ci                          },
46263af6ab5fSopenharmony_ci                          "end": {
46273af6ab5fSopenharmony_ci                            "line": 1,
46283af6ab5fSopenharmony_ci                            "column": 1
46293af6ab5fSopenharmony_ci                          }
46303af6ab5fSopenharmony_ci                        }
46313af6ab5fSopenharmony_ci                      },
46323af6ab5fSopenharmony_ci                      "arguments": [
46333af6ab5fSopenharmony_ci                        {
46343af6ab5fSopenharmony_ci                          "type": "SpreadElement",
46353af6ab5fSopenharmony_ci                          "argument": {
46363af6ab5fSopenharmony_ci                            "type": "Identifier",
46373af6ab5fSopenharmony_ci                            "name": "args",
46383af6ab5fSopenharmony_ci                            "loc": {
46393af6ab5fSopenharmony_ci                              "start": {
46403af6ab5fSopenharmony_ci                                "line": 1,
46413af6ab5fSopenharmony_ci                                "column": 1
46423af6ab5fSopenharmony_ci                              },
46433af6ab5fSopenharmony_ci                              "end": {
46443af6ab5fSopenharmony_ci                                "line": 1,
46453af6ab5fSopenharmony_ci                                "column": 1
46463af6ab5fSopenharmony_ci                              }
46473af6ab5fSopenharmony_ci                            }
46483af6ab5fSopenharmony_ci                          },
46493af6ab5fSopenharmony_ci                          "loc": {
46503af6ab5fSopenharmony_ci                            "start": {
46513af6ab5fSopenharmony_ci                              "line": 1,
46523af6ab5fSopenharmony_ci                              "column": 1
46533af6ab5fSopenharmony_ci                            },
46543af6ab5fSopenharmony_ci                            "end": {
46553af6ab5fSopenharmony_ci                              "line": 1,
46563af6ab5fSopenharmony_ci                              "column": 1
46573af6ab5fSopenharmony_ci                            }
46583af6ab5fSopenharmony_ci                          }
46593af6ab5fSopenharmony_ci                        }
46603af6ab5fSopenharmony_ci                      ],
46613af6ab5fSopenharmony_ci                      "optional": false,
46623af6ab5fSopenharmony_ci                      "loc": {
46633af6ab5fSopenharmony_ci                        "start": {
46643af6ab5fSopenharmony_ci                          "line": 1,
46653af6ab5fSopenharmony_ci                          "column": 1
46663af6ab5fSopenharmony_ci                        },
46673af6ab5fSopenharmony_ci                        "end": {
46683af6ab5fSopenharmony_ci                          "line": 1,
46693af6ab5fSopenharmony_ci                          "column": 1
46703af6ab5fSopenharmony_ci                        }
46713af6ab5fSopenharmony_ci                      }
46723af6ab5fSopenharmony_ci                    },
46733af6ab5fSopenharmony_ci                    "loc": {
46743af6ab5fSopenharmony_ci                      "start": {
46753af6ab5fSopenharmony_ci                        "line": 1,
46763af6ab5fSopenharmony_ci                        "column": 1
46773af6ab5fSopenharmony_ci                      },
46783af6ab5fSopenharmony_ci                      "end": {
46793af6ab5fSopenharmony_ci                        "line": 1,
46803af6ab5fSopenharmony_ci                        "column": 1
46813af6ab5fSopenharmony_ci                      }
46823af6ab5fSopenharmony_ci                    }
46833af6ab5fSopenharmony_ci                  }
46843af6ab5fSopenharmony_ci                ],
46853af6ab5fSopenharmony_ci                "loc": {
46863af6ab5fSopenharmony_ci                  "start": {
46873af6ab5fSopenharmony_ci                    "line": 1,
46883af6ab5fSopenharmony_ci                    "column": 1
46893af6ab5fSopenharmony_ci                  },
46903af6ab5fSopenharmony_ci                  "end": {
46913af6ab5fSopenharmony_ci                    "line": 1,
46923af6ab5fSopenharmony_ci                    "column": 1
46933af6ab5fSopenharmony_ci                  }
46943af6ab5fSopenharmony_ci                }
46953af6ab5fSopenharmony_ci              },
46963af6ab5fSopenharmony_ci              "loc": {
46973af6ab5fSopenharmony_ci                "start": {
46983af6ab5fSopenharmony_ci                  "line": 1,
46993af6ab5fSopenharmony_ci                  "column": 1
47003af6ab5fSopenharmony_ci                },
47013af6ab5fSopenharmony_ci                "end": {
47023af6ab5fSopenharmony_ci                  "line": 1,
47033af6ab5fSopenharmony_ci                  "column": 1
47043af6ab5fSopenharmony_ci                }
47053af6ab5fSopenharmony_ci              }
47063af6ab5fSopenharmony_ci            },
47073af6ab5fSopenharmony_ci            "loc": {
47083af6ab5fSopenharmony_ci              "start": {
47093af6ab5fSopenharmony_ci                "line": 1,
47103af6ab5fSopenharmony_ci                "column": 1
47113af6ab5fSopenharmony_ci              },
47123af6ab5fSopenharmony_ci              "end": {
47133af6ab5fSopenharmony_ci                "line": 1,
47143af6ab5fSopenharmony_ci                "column": 1
47153af6ab5fSopenharmony_ci              }
47163af6ab5fSopenharmony_ci            }
47173af6ab5fSopenharmony_ci          },
47183af6ab5fSopenharmony_ci          "overloads": [],
47193af6ab5fSopenharmony_ci          "decorators": [],
47203af6ab5fSopenharmony_ci          "annotations": [],
47213af6ab5fSopenharmony_ci          "loc": {
47223af6ab5fSopenharmony_ci            "start": {
47233af6ab5fSopenharmony_ci              "line": 57,
47243af6ab5fSopenharmony_ci              "column": 1
47253af6ab5fSopenharmony_ci            },
47263af6ab5fSopenharmony_ci            "end": {
47273af6ab5fSopenharmony_ci              "line": 59,
47283af6ab5fSopenharmony_ci              "column": 2
47293af6ab5fSopenharmony_ci            }
47303af6ab5fSopenharmony_ci          }
47313af6ab5fSopenharmony_ci        },
47323af6ab5fSopenharmony_ci        "body": [],
47333af6ab5fSopenharmony_ci        "indexSignatures": [],
47343af6ab5fSopenharmony_ci        "loc": {
47353af6ab5fSopenharmony_ci          "start": {
47363af6ab5fSopenharmony_ci            "line": 57,
47373af6ab5fSopenharmony_ci            "column": 80
47383af6ab5fSopenharmony_ci          },
47393af6ab5fSopenharmony_ci          "end": {
47403af6ab5fSopenharmony_ci            "line": 59,
47413af6ab5fSopenharmony_ci            "column": 2
47423af6ab5fSopenharmony_ci          }
47433af6ab5fSopenharmony_ci        }
47443af6ab5fSopenharmony_ci      },
47453af6ab5fSopenharmony_ci      "decorators": [],
47463af6ab5fSopenharmony_ci      "isAnnotationDeclaration": false,
47473af6ab5fSopenharmony_ci      "loc": {
47483af6ab5fSopenharmony_ci        "start": {
47493af6ab5fSopenharmony_ci          "line": 57,
47503af6ab5fSopenharmony_ci          "column": 1
47513af6ab5fSopenharmony_ci        },
47523af6ab5fSopenharmony_ci        "end": {
47533af6ab5fSopenharmony_ci          "line": 59,
47543af6ab5fSopenharmony_ci          "column": 2
47553af6ab5fSopenharmony_ci        }
47563af6ab5fSopenharmony_ci      }
47573af6ab5fSopenharmony_ci    },
47583af6ab5fSopenharmony_ci    {
47593af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
47603af6ab5fSopenharmony_ci      "declarations": [
47613af6ab5fSopenharmony_ci        {
47623af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
47633af6ab5fSopenharmony_ci          "id": {
47643af6ab5fSopenharmony_ci            "type": "Identifier",
47653af6ab5fSopenharmony_ci            "name": "a",
47663af6ab5fSopenharmony_ci            "typeAnnotation": {
47673af6ab5fSopenharmony_ci              "type": "TSConstructorType",
47683af6ab5fSopenharmony_ci              "params": [],
47693af6ab5fSopenharmony_ci              "typeParameters": {
47703af6ab5fSopenharmony_ci                "type": "TSTypeParameterDeclaration",
47713af6ab5fSopenharmony_ci                "params": [
47723af6ab5fSopenharmony_ci                  {
47733af6ab5fSopenharmony_ci                    "type": "TSTypeParameter",
47743af6ab5fSopenharmony_ci                    "name": {
47753af6ab5fSopenharmony_ci                      "type": "Identifier",
47763af6ab5fSopenharmony_ci                      "name": "A",
47773af6ab5fSopenharmony_ci                      "loc": {
47783af6ab5fSopenharmony_ci                        "start": {
47793af6ab5fSopenharmony_ci                          "line": 61,
47803af6ab5fSopenharmony_ci                          "column": 13
47813af6ab5fSopenharmony_ci                        },
47823af6ab5fSopenharmony_ci                        "end": {
47833af6ab5fSopenharmony_ci                          "line": 61,
47843af6ab5fSopenharmony_ci                          "column": 14
47853af6ab5fSopenharmony_ci                        }
47863af6ab5fSopenharmony_ci                      }
47873af6ab5fSopenharmony_ci                    },
47883af6ab5fSopenharmony_ci                    "in": false,
47893af6ab5fSopenharmony_ci                    "out": false,
47903af6ab5fSopenharmony_ci                    "loc": {
47913af6ab5fSopenharmony_ci                      "start": {
47923af6ab5fSopenharmony_ci                        "line": 61,
47933af6ab5fSopenharmony_ci                        "column": 13
47943af6ab5fSopenharmony_ci                      },
47953af6ab5fSopenharmony_ci                      "end": {
47963af6ab5fSopenharmony_ci                        "line": 61,
47973af6ab5fSopenharmony_ci                        "column": 15
47983af6ab5fSopenharmony_ci                      }
47993af6ab5fSopenharmony_ci                    }
48003af6ab5fSopenharmony_ci                  }
48013af6ab5fSopenharmony_ci                ],
48023af6ab5fSopenharmony_ci                "loc": {
48033af6ab5fSopenharmony_ci                  "start": {
48043af6ab5fSopenharmony_ci                    "line": 61,
48053af6ab5fSopenharmony_ci                    "column": 12
48063af6ab5fSopenharmony_ci                  },
48073af6ab5fSopenharmony_ci                  "end": {
48083af6ab5fSopenharmony_ci                    "line": 61,
48093af6ab5fSopenharmony_ci                    "column": 15
48103af6ab5fSopenharmony_ci                  }
48113af6ab5fSopenharmony_ci                }
48123af6ab5fSopenharmony_ci              },
48133af6ab5fSopenharmony_ci              "returnType": {
48143af6ab5fSopenharmony_ci                "type": "TSFunctionType",
48153af6ab5fSopenharmony_ci                "params": [],
48163af6ab5fSopenharmony_ci                "typeParameters": {
48173af6ab5fSopenharmony_ci                  "type": "TSTypeParameterDeclaration",
48183af6ab5fSopenharmony_ci                  "params": [
48193af6ab5fSopenharmony_ci                    {
48203af6ab5fSopenharmony_ci                      "type": "TSTypeParameter",
48213af6ab5fSopenharmony_ci                      "name": {
48223af6ab5fSopenharmony_ci                        "type": "Identifier",
48233af6ab5fSopenharmony_ci                        "name": "B",
48243af6ab5fSopenharmony_ci                        "loc": {
48253af6ab5fSopenharmony_ci                          "start": {
48263af6ab5fSopenharmony_ci                            "line": 61,
48273af6ab5fSopenharmony_ci                            "column": 22
48283af6ab5fSopenharmony_ci                          },
48293af6ab5fSopenharmony_ci                          "end": {
48303af6ab5fSopenharmony_ci                            "line": 61,
48313af6ab5fSopenharmony_ci                            "column": 23
48323af6ab5fSopenharmony_ci                          }
48333af6ab5fSopenharmony_ci                        }
48343af6ab5fSopenharmony_ci                      },
48353af6ab5fSopenharmony_ci                      "in": false,
48363af6ab5fSopenharmony_ci                      "out": false,
48373af6ab5fSopenharmony_ci                      "loc": {
48383af6ab5fSopenharmony_ci                        "start": {
48393af6ab5fSopenharmony_ci                          "line": 61,
48403af6ab5fSopenharmony_ci                          "column": 22
48413af6ab5fSopenharmony_ci                        },
48423af6ab5fSopenharmony_ci                        "end": {
48433af6ab5fSopenharmony_ci                          "line": 61,
48443af6ab5fSopenharmony_ci                          "column": 24
48453af6ab5fSopenharmony_ci                        }
48463af6ab5fSopenharmony_ci                      }
48473af6ab5fSopenharmony_ci                    }
48483af6ab5fSopenharmony_ci                  ],
48493af6ab5fSopenharmony_ci                  "loc": {
48503af6ab5fSopenharmony_ci                    "start": {
48513af6ab5fSopenharmony_ci                      "line": 61,
48523af6ab5fSopenharmony_ci                      "column": 21
48533af6ab5fSopenharmony_ci                    },
48543af6ab5fSopenharmony_ci                    "end": {
48553af6ab5fSopenharmony_ci                      "line": 61,
48563af6ab5fSopenharmony_ci                      "column": 24
48573af6ab5fSopenharmony_ci                    }
48583af6ab5fSopenharmony_ci                  }
48593af6ab5fSopenharmony_ci                },
48603af6ab5fSopenharmony_ci                "returnType": {
48613af6ab5fSopenharmony_ci                  "type": "TSStringKeyword",
48623af6ab5fSopenharmony_ci                  "loc": {
48633af6ab5fSopenharmony_ci                    "start": {
48643af6ab5fSopenharmony_ci                      "line": 61,
48653af6ab5fSopenharmony_ci                      "column": 30
48663af6ab5fSopenharmony_ci                    },
48673af6ab5fSopenharmony_ci                    "end": {
48683af6ab5fSopenharmony_ci                      "line": 61,
48693af6ab5fSopenharmony_ci                      "column": 36
48703af6ab5fSopenharmony_ci                    }
48713af6ab5fSopenharmony_ci                  }
48723af6ab5fSopenharmony_ci                },
48733af6ab5fSopenharmony_ci                "loc": {
48743af6ab5fSopenharmony_ci                  "start": {
48753af6ab5fSopenharmony_ci                    "line": 61,
48763af6ab5fSopenharmony_ci                    "column": 21
48773af6ab5fSopenharmony_ci                  },
48783af6ab5fSopenharmony_ci                  "end": {
48793af6ab5fSopenharmony_ci                    "line": 61,
48803af6ab5fSopenharmony_ci                    "column": 36
48813af6ab5fSopenharmony_ci                  }
48823af6ab5fSopenharmony_ci                }
48833af6ab5fSopenharmony_ci              },
48843af6ab5fSopenharmony_ci              "loc": {
48853af6ab5fSopenharmony_ci                "start": {
48863af6ab5fSopenharmony_ci                  "line": 61,
48873af6ab5fSopenharmony_ci                  "column": 8
48883af6ab5fSopenharmony_ci                },
48893af6ab5fSopenharmony_ci                "end": {
48903af6ab5fSopenharmony_ci                  "line": 61,
48913af6ab5fSopenharmony_ci                  "column": 36
48923af6ab5fSopenharmony_ci                }
48933af6ab5fSopenharmony_ci              }
48943af6ab5fSopenharmony_ci            },
48953af6ab5fSopenharmony_ci            "loc": {
48963af6ab5fSopenharmony_ci              "start": {
48973af6ab5fSopenharmony_ci                "line": 61,
48983af6ab5fSopenharmony_ci                "column": 5
48993af6ab5fSopenharmony_ci              },
49003af6ab5fSopenharmony_ci              "end": {
49013af6ab5fSopenharmony_ci                "line": 61,
49023af6ab5fSopenharmony_ci                "column": 6
49033af6ab5fSopenharmony_ci              }
49043af6ab5fSopenharmony_ci            }
49053af6ab5fSopenharmony_ci          },
49063af6ab5fSopenharmony_ci          "init": null,
49073af6ab5fSopenharmony_ci          "loc": {
49083af6ab5fSopenharmony_ci            "start": {
49093af6ab5fSopenharmony_ci              "line": 61,
49103af6ab5fSopenharmony_ci              "column": 5
49113af6ab5fSopenharmony_ci            },
49123af6ab5fSopenharmony_ci            "end": {
49133af6ab5fSopenharmony_ci              "line": 61,
49143af6ab5fSopenharmony_ci              "column": 6
49153af6ab5fSopenharmony_ci            }
49163af6ab5fSopenharmony_ci          }
49173af6ab5fSopenharmony_ci        }
49183af6ab5fSopenharmony_ci      ],
49193af6ab5fSopenharmony_ci      "kind": "var",
49203af6ab5fSopenharmony_ci      "loc": {
49213af6ab5fSopenharmony_ci        "start": {
49223af6ab5fSopenharmony_ci          "line": 61,
49233af6ab5fSopenharmony_ci          "column": 1
49243af6ab5fSopenharmony_ci        },
49253af6ab5fSopenharmony_ci        "end": {
49263af6ab5fSopenharmony_ci          "line": 61,
49273af6ab5fSopenharmony_ci          "column": 37
49283af6ab5fSopenharmony_ci        }
49293af6ab5fSopenharmony_ci      }
49303af6ab5fSopenharmony_ci    },
49313af6ab5fSopenharmony_ci    {
49323af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
49333af6ab5fSopenharmony_ci      "declarations": [
49343af6ab5fSopenharmony_ci        {
49353af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
49363af6ab5fSopenharmony_ci          "id": {
49373af6ab5fSopenharmony_ci            "type": "Identifier",
49383af6ab5fSopenharmony_ci            "name": "b",
49393af6ab5fSopenharmony_ci            "typeAnnotation": {
49403af6ab5fSopenharmony_ci              "type": "TSFunctionType",
49413af6ab5fSopenharmony_ci              "params": [
49423af6ab5fSopenharmony_ci                {
49433af6ab5fSopenharmony_ci                  "type": "Identifier",
49443af6ab5fSopenharmony_ci                  "name": "a",
49453af6ab5fSopenharmony_ci                  "typeAnnotation": {
49463af6ab5fSopenharmony_ci                    "type": "TSUnionType",
49473af6ab5fSopenharmony_ci                    "types": [
49483af6ab5fSopenharmony_ci                      {
49493af6ab5fSopenharmony_ci                        "type": "TSNumberKeyword",
49503af6ab5fSopenharmony_ci                        "loc": {
49513af6ab5fSopenharmony_ci                          "start": {
49523af6ab5fSopenharmony_ci                            "line": 62,
49533af6ab5fSopenharmony_ci                            "column": 32
49543af6ab5fSopenharmony_ci                          },
49553af6ab5fSopenharmony_ci                          "end": {
49563af6ab5fSopenharmony_ci                            "line": 62,
49573af6ab5fSopenharmony_ci                            "column": 38
49583af6ab5fSopenharmony_ci                          }
49593af6ab5fSopenharmony_ci                        }
49603af6ab5fSopenharmony_ci                      },
49613af6ab5fSopenharmony_ci                      {
49623af6ab5fSopenharmony_ci                        "type": "TSStringKeyword",
49633af6ab5fSopenharmony_ci                        "loc": {
49643af6ab5fSopenharmony_ci                          "start": {
49653af6ab5fSopenharmony_ci                            "line": 62,
49663af6ab5fSopenharmony_ci                            "column": 41
49673af6ab5fSopenharmony_ci                          },
49683af6ab5fSopenharmony_ci                          "end": {
49693af6ab5fSopenharmony_ci                            "line": 62,
49703af6ab5fSopenharmony_ci                            "column": 47
49713af6ab5fSopenharmony_ci                          }
49723af6ab5fSopenharmony_ci                        }
49733af6ab5fSopenharmony_ci                      }
49743af6ab5fSopenharmony_ci                    ],
49753af6ab5fSopenharmony_ci                    "loc": {
49763af6ab5fSopenharmony_ci                      "start": {
49773af6ab5fSopenharmony_ci                        "line": 62,
49783af6ab5fSopenharmony_ci                        "column": 32
49793af6ab5fSopenharmony_ci                      },
49803af6ab5fSopenharmony_ci                      "end": {
49813af6ab5fSopenharmony_ci                        "line": 62,
49823af6ab5fSopenharmony_ci                        "column": 47
49833af6ab5fSopenharmony_ci                      }
49843af6ab5fSopenharmony_ci                    }
49853af6ab5fSopenharmony_ci                  },
49863af6ab5fSopenharmony_ci                  "loc": {
49873af6ab5fSopenharmony_ci                    "start": {
49883af6ab5fSopenharmony_ci                      "line": 62,
49893af6ab5fSopenharmony_ci                      "column": 29
49903af6ab5fSopenharmony_ci                    },
49913af6ab5fSopenharmony_ci                    "end": {
49923af6ab5fSopenharmony_ci                      "line": 62,
49933af6ab5fSopenharmony_ci                      "column": 30
49943af6ab5fSopenharmony_ci                    }
49953af6ab5fSopenharmony_ci                  }
49963af6ab5fSopenharmony_ci                }
49973af6ab5fSopenharmony_ci              ],
49983af6ab5fSopenharmony_ci              "typeParameters": {
49993af6ab5fSopenharmony_ci                "type": "TSTypeParameterDeclaration",
50003af6ab5fSopenharmony_ci                "params": [
50013af6ab5fSopenharmony_ci                  {
50023af6ab5fSopenharmony_ci                    "type": "TSTypeParameter",
50033af6ab5fSopenharmony_ci                    "name": {
50043af6ab5fSopenharmony_ci                      "type": "Identifier",
50053af6ab5fSopenharmony_ci                      "name": "A",
50063af6ab5fSopenharmony_ci                      "loc": {
50073af6ab5fSopenharmony_ci                        "start": {
50083af6ab5fSopenharmony_ci                          "line": 62,
50093af6ab5fSopenharmony_ci                          "column": 9
50103af6ab5fSopenharmony_ci                        },
50113af6ab5fSopenharmony_ci                        "end": {
50123af6ab5fSopenharmony_ci                          "line": 62,
50133af6ab5fSopenharmony_ci                          "column": 10
50143af6ab5fSopenharmony_ci                        }
50153af6ab5fSopenharmony_ci                      }
50163af6ab5fSopenharmony_ci                    },
50173af6ab5fSopenharmony_ci                    "constraint": {
50183af6ab5fSopenharmony_ci                      "type": "TSTypeReference",
50193af6ab5fSopenharmony_ci                      "typeName": {
50203af6ab5fSopenharmony_ci                        "type": "Identifier",
50213af6ab5fSopenharmony_ci                        "name": "T",
50223af6ab5fSopenharmony_ci                        "loc": {
50233af6ab5fSopenharmony_ci                          "start": {
50243af6ab5fSopenharmony_ci                            "line": 62,
50253af6ab5fSopenharmony_ci                            "column": 19
50263af6ab5fSopenharmony_ci                          },
50273af6ab5fSopenharmony_ci                          "end": {
50283af6ab5fSopenharmony_ci                            "line": 62,
50293af6ab5fSopenharmony_ci                            "column": 20
50303af6ab5fSopenharmony_ci                          }
50313af6ab5fSopenharmony_ci                        }
50323af6ab5fSopenharmony_ci                      },
50333af6ab5fSopenharmony_ci                      "loc": {
50343af6ab5fSopenharmony_ci                        "start": {
50353af6ab5fSopenharmony_ci                          "line": 62,
50363af6ab5fSopenharmony_ci                          "column": 19
50373af6ab5fSopenharmony_ci                        },
50383af6ab5fSopenharmony_ci                        "end": {
50393af6ab5fSopenharmony_ci                          "line": 62,
50403af6ab5fSopenharmony_ci                          "column": 20
50413af6ab5fSopenharmony_ci                        }
50423af6ab5fSopenharmony_ci                      }
50433af6ab5fSopenharmony_ci                    },
50443af6ab5fSopenharmony_ci                    "in": false,
50453af6ab5fSopenharmony_ci                    "out": false,
50463af6ab5fSopenharmony_ci                    "loc": {
50473af6ab5fSopenharmony_ci                      "start": {
50483af6ab5fSopenharmony_ci                        "line": 62,
50493af6ab5fSopenharmony_ci                        "column": 9
50503af6ab5fSopenharmony_ci                      },
50513af6ab5fSopenharmony_ci                      "end": {
50523af6ab5fSopenharmony_ci                        "line": 62,
50533af6ab5fSopenharmony_ci                        "column": 21
50543af6ab5fSopenharmony_ci                      }
50553af6ab5fSopenharmony_ci                    }
50563af6ab5fSopenharmony_ci                  },
50573af6ab5fSopenharmony_ci                  {
50583af6ab5fSopenharmony_ci                    "type": "TSTypeParameter",
50593af6ab5fSopenharmony_ci                    "name": {
50603af6ab5fSopenharmony_ci                      "type": "Identifier",
50613af6ab5fSopenharmony_ci                      "name": "U",
50623af6ab5fSopenharmony_ci                      "loc": {
50633af6ab5fSopenharmony_ci                        "start": {
50643af6ab5fSopenharmony_ci                          "line": 62,
50653af6ab5fSopenharmony_ci                          "column": 22
50663af6ab5fSopenharmony_ci                        },
50673af6ab5fSopenharmony_ci                        "end": {
50683af6ab5fSopenharmony_ci                          "line": 62,
50693af6ab5fSopenharmony_ci                          "column": 23
50703af6ab5fSopenharmony_ci                        }
50713af6ab5fSopenharmony_ci                      }
50723af6ab5fSopenharmony_ci                    },
50733af6ab5fSopenharmony_ci                    "default": {
50743af6ab5fSopenharmony_ci                      "type": "TSLiteralType",
50753af6ab5fSopenharmony_ci                      "literal": {
50763af6ab5fSopenharmony_ci                        "type": "NumberLiteral",
50773af6ab5fSopenharmony_ci                        "value": 5,
50783af6ab5fSopenharmony_ci                        "loc": {
50793af6ab5fSopenharmony_ci                          "start": {
50803af6ab5fSopenharmony_ci                            "line": 62,
50813af6ab5fSopenharmony_ci                            "column": 26
50823af6ab5fSopenharmony_ci                          },
50833af6ab5fSopenharmony_ci                          "end": {
50843af6ab5fSopenharmony_ci                            "line": 62,
50853af6ab5fSopenharmony_ci                            "column": 27
50863af6ab5fSopenharmony_ci                          }
50873af6ab5fSopenharmony_ci                        }
50883af6ab5fSopenharmony_ci                      },
50893af6ab5fSopenharmony_ci                      "loc": {
50903af6ab5fSopenharmony_ci                        "start": {
50913af6ab5fSopenharmony_ci                          "line": 62,
50923af6ab5fSopenharmony_ci                          "column": 26
50933af6ab5fSopenharmony_ci                        },
50943af6ab5fSopenharmony_ci                        "end": {
50953af6ab5fSopenharmony_ci                          "line": 62,
50963af6ab5fSopenharmony_ci                          "column": 27
50973af6ab5fSopenharmony_ci                        }
50983af6ab5fSopenharmony_ci                      }
50993af6ab5fSopenharmony_ci                    },
51003af6ab5fSopenharmony_ci                    "in": false,
51013af6ab5fSopenharmony_ci                    "out": false,
51023af6ab5fSopenharmony_ci                    "loc": {
51033af6ab5fSopenharmony_ci                      "start": {
51043af6ab5fSopenharmony_ci                        "line": 62,
51053af6ab5fSopenharmony_ci                        "column": 22
51063af6ab5fSopenharmony_ci                      },
51073af6ab5fSopenharmony_ci                      "end": {
51083af6ab5fSopenharmony_ci                        "line": 62,
51093af6ab5fSopenharmony_ci                        "column": 28
51103af6ab5fSopenharmony_ci                      }
51113af6ab5fSopenharmony_ci                    }
51123af6ab5fSopenharmony_ci                  }
51133af6ab5fSopenharmony_ci                ],
51143af6ab5fSopenharmony_ci                "loc": {
51153af6ab5fSopenharmony_ci                  "start": {
51163af6ab5fSopenharmony_ci                    "line": 62,
51173af6ab5fSopenharmony_ci                    "column": 8
51183af6ab5fSopenharmony_ci                  },
51193af6ab5fSopenharmony_ci                  "end": {
51203af6ab5fSopenharmony_ci                    "line": 62,
51213af6ab5fSopenharmony_ci                    "column": 28
51223af6ab5fSopenharmony_ci                  }
51233af6ab5fSopenharmony_ci                }
51243af6ab5fSopenharmony_ci              },
51253af6ab5fSopenharmony_ci              "returnType": {
51263af6ab5fSopenharmony_ci                "type": "TSTypeLiteral",
51273af6ab5fSopenharmony_ci                "members": [
51283af6ab5fSopenharmony_ci                  {
51293af6ab5fSopenharmony_ci                    "type": "TSPropertySignature",
51303af6ab5fSopenharmony_ci                    "computed": false,
51313af6ab5fSopenharmony_ci                    "optional": false,
51323af6ab5fSopenharmony_ci                    "readonly": false,
51333af6ab5fSopenharmony_ci                    "key": {
51343af6ab5fSopenharmony_ci                      "type": "Identifier",
51353af6ab5fSopenharmony_ci                      "name": "a",
51363af6ab5fSopenharmony_ci                      "loc": {
51373af6ab5fSopenharmony_ci                        "start": {
51383af6ab5fSopenharmony_ci                          "line": 62,
51393af6ab5fSopenharmony_ci                          "column": 54
51403af6ab5fSopenharmony_ci                        },
51413af6ab5fSopenharmony_ci                        "end": {
51423af6ab5fSopenharmony_ci                          "line": 62,
51433af6ab5fSopenharmony_ci                          "column": 55
51443af6ab5fSopenharmony_ci                        }
51453af6ab5fSopenharmony_ci                      }
51463af6ab5fSopenharmony_ci                    },
51473af6ab5fSopenharmony_ci                    "typeAnnotation": {
51483af6ab5fSopenharmony_ci                      "type": "TSNumberKeyword",
51493af6ab5fSopenharmony_ci                      "loc": {
51503af6ab5fSopenharmony_ci                        "start": {
51513af6ab5fSopenharmony_ci                          "line": 62,
51523af6ab5fSopenharmony_ci                          "column": 57
51533af6ab5fSopenharmony_ci                        },
51543af6ab5fSopenharmony_ci                        "end": {
51553af6ab5fSopenharmony_ci                          "line": 62,
51563af6ab5fSopenharmony_ci                          "column": 63
51573af6ab5fSopenharmony_ci                        }
51583af6ab5fSopenharmony_ci                      }
51593af6ab5fSopenharmony_ci                    },
51603af6ab5fSopenharmony_ci                    "loc": {
51613af6ab5fSopenharmony_ci                      "start": {
51623af6ab5fSopenharmony_ci                        "line": 62,
51633af6ab5fSopenharmony_ci                        "column": 54
51643af6ab5fSopenharmony_ci                      },
51653af6ab5fSopenharmony_ci                      "end": {
51663af6ab5fSopenharmony_ci                        "line": 62,
51673af6ab5fSopenharmony_ci                        "column": 65
51683af6ab5fSopenharmony_ci                      }
51693af6ab5fSopenharmony_ci                    }
51703af6ab5fSopenharmony_ci                  }
51713af6ab5fSopenharmony_ci                ],
51723af6ab5fSopenharmony_ci                "loc": {
51733af6ab5fSopenharmony_ci                  "start": {
51743af6ab5fSopenharmony_ci                    "line": 62,
51753af6ab5fSopenharmony_ci                    "column": 52
51763af6ab5fSopenharmony_ci                  },
51773af6ab5fSopenharmony_ci                  "end": {
51783af6ab5fSopenharmony_ci                    "line": 62,
51793af6ab5fSopenharmony_ci                    "column": 65
51803af6ab5fSopenharmony_ci                  }
51813af6ab5fSopenharmony_ci                }
51823af6ab5fSopenharmony_ci              },
51833af6ab5fSopenharmony_ci              "loc": {
51843af6ab5fSopenharmony_ci                "start": {
51853af6ab5fSopenharmony_ci                  "line": 62,
51863af6ab5fSopenharmony_ci                  "column": 8
51873af6ab5fSopenharmony_ci                },
51883af6ab5fSopenharmony_ci                "end": {
51893af6ab5fSopenharmony_ci                  "line": 62,
51903af6ab5fSopenharmony_ci                  "column": 65
51913af6ab5fSopenharmony_ci                }
51923af6ab5fSopenharmony_ci              }
51933af6ab5fSopenharmony_ci            },
51943af6ab5fSopenharmony_ci            "loc": {
51953af6ab5fSopenharmony_ci              "start": {
51963af6ab5fSopenharmony_ci                "line": 62,
51973af6ab5fSopenharmony_ci                "column": 5
51983af6ab5fSopenharmony_ci              },
51993af6ab5fSopenharmony_ci              "end": {
52003af6ab5fSopenharmony_ci                "line": 62,
52013af6ab5fSopenharmony_ci                "column": 6
52023af6ab5fSopenharmony_ci              }
52033af6ab5fSopenharmony_ci            }
52043af6ab5fSopenharmony_ci          },
52053af6ab5fSopenharmony_ci          "init": null,
52063af6ab5fSopenharmony_ci          "loc": {
52073af6ab5fSopenharmony_ci            "start": {
52083af6ab5fSopenharmony_ci              "line": 62,
52093af6ab5fSopenharmony_ci              "column": 5
52103af6ab5fSopenharmony_ci            },
52113af6ab5fSopenharmony_ci            "end": {
52123af6ab5fSopenharmony_ci              "line": 62,
52133af6ab5fSopenharmony_ci              "column": 6
52143af6ab5fSopenharmony_ci            }
52153af6ab5fSopenharmony_ci          }
52163af6ab5fSopenharmony_ci        }
52173af6ab5fSopenharmony_ci      ],
52183af6ab5fSopenharmony_ci      "kind": "var",
52193af6ab5fSopenharmony_ci      "loc": {
52203af6ab5fSopenharmony_ci        "start": {
52213af6ab5fSopenharmony_ci          "line": 62,
52223af6ab5fSopenharmony_ci          "column": 1
52233af6ab5fSopenharmony_ci        },
52243af6ab5fSopenharmony_ci        "end": {
52253af6ab5fSopenharmony_ci          "line": 62,
52263af6ab5fSopenharmony_ci          "column": 66
52273af6ab5fSopenharmony_ci        }
52283af6ab5fSopenharmony_ci      }
52293af6ab5fSopenharmony_ci    },
52303af6ab5fSopenharmony_ci    {
52313af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
52323af6ab5fSopenharmony_ci      "declarations": [
52333af6ab5fSopenharmony_ci        {
52343af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
52353af6ab5fSopenharmony_ci          "id": {
52363af6ab5fSopenharmony_ci            "type": "Identifier",
52373af6ab5fSopenharmony_ci            "name": "c",
52383af6ab5fSopenharmony_ci            "typeAnnotation": {
52393af6ab5fSopenharmony_ci              "type": "TSIndexedAccessType",
52403af6ab5fSopenharmony_ci              "objectType": {
52413af6ab5fSopenharmony_ci                "type": "TSTypeReference",
52423af6ab5fSopenharmony_ci                "typeName": {
52433af6ab5fSopenharmony_ci                  "type": "TSQualifiedName",
52443af6ab5fSopenharmony_ci                  "left": {
52453af6ab5fSopenharmony_ci                    "type": "Identifier",
52463af6ab5fSopenharmony_ci                    "name": "B",
52473af6ab5fSopenharmony_ci                    "loc": {
52483af6ab5fSopenharmony_ci                      "start": {
52493af6ab5fSopenharmony_ci                        "line": 64,
52503af6ab5fSopenharmony_ci                        "column": 8
52513af6ab5fSopenharmony_ci                      },
52523af6ab5fSopenharmony_ci                      "end": {
52533af6ab5fSopenharmony_ci                        "line": 64,
52543af6ab5fSopenharmony_ci                        "column": 9
52553af6ab5fSopenharmony_ci                      }
52563af6ab5fSopenharmony_ci                    }
52573af6ab5fSopenharmony_ci                  },
52583af6ab5fSopenharmony_ci                  "right": {
52593af6ab5fSopenharmony_ci                    "type": "Identifier",
52603af6ab5fSopenharmony_ci                    "name": "T",
52613af6ab5fSopenharmony_ci                    "loc": {
52623af6ab5fSopenharmony_ci                      "start": {
52633af6ab5fSopenharmony_ci                        "line": 64,
52643af6ab5fSopenharmony_ci                        "column": 10
52653af6ab5fSopenharmony_ci                      },
52663af6ab5fSopenharmony_ci                      "end": {
52673af6ab5fSopenharmony_ci                        "line": 64,
52683af6ab5fSopenharmony_ci                        "column": 11
52693af6ab5fSopenharmony_ci                      }
52703af6ab5fSopenharmony_ci                    }
52713af6ab5fSopenharmony_ci                  },
52723af6ab5fSopenharmony_ci                  "loc": {
52733af6ab5fSopenharmony_ci                    "start": {
52743af6ab5fSopenharmony_ci                      "line": 64,
52753af6ab5fSopenharmony_ci                      "column": 8
52763af6ab5fSopenharmony_ci                    },
52773af6ab5fSopenharmony_ci                    "end": {
52783af6ab5fSopenharmony_ci                      "line": 64,
52793af6ab5fSopenharmony_ci                      "column": 12
52803af6ab5fSopenharmony_ci                    }
52813af6ab5fSopenharmony_ci                  }
52823af6ab5fSopenharmony_ci                },
52833af6ab5fSopenharmony_ci                "typeParameters": {
52843af6ab5fSopenharmony_ci                  "type": "TSTypeParameterInstantiation",
52853af6ab5fSopenharmony_ci                  "params": [
52863af6ab5fSopenharmony_ci                    {
52873af6ab5fSopenharmony_ci                      "type": "TSTypeReference",
52883af6ab5fSopenharmony_ci                      "typeName": {
52893af6ab5fSopenharmony_ci                        "type": "Identifier",
52903af6ab5fSopenharmony_ci                        "name": "A",
52913af6ab5fSopenharmony_ci                        "loc": {
52923af6ab5fSopenharmony_ci                          "start": {
52933af6ab5fSopenharmony_ci                            "line": 64,
52943af6ab5fSopenharmony_ci                            "column": 12
52953af6ab5fSopenharmony_ci                          },
52963af6ab5fSopenharmony_ci                          "end": {
52973af6ab5fSopenharmony_ci                            "line": 64,
52983af6ab5fSopenharmony_ci                            "column": 13
52993af6ab5fSopenharmony_ci                          }
53003af6ab5fSopenharmony_ci                        }
53013af6ab5fSopenharmony_ci                      },
53023af6ab5fSopenharmony_ci                      "typeParameters": {
53033af6ab5fSopenharmony_ci                        "type": "TSTypeParameterInstantiation",
53043af6ab5fSopenharmony_ci                        "params": [
53053af6ab5fSopenharmony_ci                          {
53063af6ab5fSopenharmony_ci                            "type": "TSTypeReference",
53073af6ab5fSopenharmony_ci                            "typeName": {
53083af6ab5fSopenharmony_ci                              "type": "Identifier",
53093af6ab5fSopenharmony_ci                              "name": "C",
53103af6ab5fSopenharmony_ci                              "loc": {
53113af6ab5fSopenharmony_ci                                "start": {
53123af6ab5fSopenharmony_ci                                  "line": 64,
53133af6ab5fSopenharmony_ci                                  "column": 14
53143af6ab5fSopenharmony_ci                                },
53153af6ab5fSopenharmony_ci                                "end": {
53163af6ab5fSopenharmony_ci                                  "line": 64,
53173af6ab5fSopenharmony_ci                                  "column": 15
53183af6ab5fSopenharmony_ci                                }
53193af6ab5fSopenharmony_ci                              }
53203af6ab5fSopenharmony_ci                            },
53213af6ab5fSopenharmony_ci                            "typeParameters": {
53223af6ab5fSopenharmony_ci                              "type": "TSTypeParameterInstantiation",
53233af6ab5fSopenharmony_ci                              "params": [
53243af6ab5fSopenharmony_ci                                {
53253af6ab5fSopenharmony_ci                                  "type": "TSNumberKeyword",
53263af6ab5fSopenharmony_ci                                  "loc": {
53273af6ab5fSopenharmony_ci                                    "start": {
53283af6ab5fSopenharmony_ci                                      "line": 64,
53293af6ab5fSopenharmony_ci                                      "column": 16
53303af6ab5fSopenharmony_ci                                    },
53313af6ab5fSopenharmony_ci                                    "end": {
53323af6ab5fSopenharmony_ci                                      "line": 64,
53333af6ab5fSopenharmony_ci                                      "column": 22
53343af6ab5fSopenharmony_ci                                    }
53353af6ab5fSopenharmony_ci                                  }
53363af6ab5fSopenharmony_ci                                }
53373af6ab5fSopenharmony_ci                              ],
53383af6ab5fSopenharmony_ci                              "loc": {
53393af6ab5fSopenharmony_ci                                "start": {
53403af6ab5fSopenharmony_ci                                  "line": 64,
53413af6ab5fSopenharmony_ci                                  "column": 15
53423af6ab5fSopenharmony_ci                                },
53433af6ab5fSopenharmony_ci                                "end": {
53443af6ab5fSopenharmony_ci                                  "line": 64,
53453af6ab5fSopenharmony_ci                                  "column": 25
53463af6ab5fSopenharmony_ci                                }
53473af6ab5fSopenharmony_ci                              }
53483af6ab5fSopenharmony_ci                            },
53493af6ab5fSopenharmony_ci                            "loc": {
53503af6ab5fSopenharmony_ci                              "start": {
53513af6ab5fSopenharmony_ci                                "line": 64,
53523af6ab5fSopenharmony_ci                                "column": 14
53533af6ab5fSopenharmony_ci                              },
53543af6ab5fSopenharmony_ci                              "end": {
53553af6ab5fSopenharmony_ci                                "line": 64,
53563af6ab5fSopenharmony_ci                                "column": 15
53573af6ab5fSopenharmony_ci                              }
53583af6ab5fSopenharmony_ci                            }
53593af6ab5fSopenharmony_ci                          }
53603af6ab5fSopenharmony_ci                        ],
53613af6ab5fSopenharmony_ci                        "loc": {
53623af6ab5fSopenharmony_ci                          "start": {
53633af6ab5fSopenharmony_ci                            "line": 64,
53643af6ab5fSopenharmony_ci                            "column": 13
53653af6ab5fSopenharmony_ci                          },
53663af6ab5fSopenharmony_ci                          "end": {
53673af6ab5fSopenharmony_ci                            "line": 64,
53683af6ab5fSopenharmony_ci                            "column": 25
53693af6ab5fSopenharmony_ci                          }
53703af6ab5fSopenharmony_ci                        }
53713af6ab5fSopenharmony_ci                      },
53723af6ab5fSopenharmony_ci                      "loc": {
53733af6ab5fSopenharmony_ci                        "start": {
53743af6ab5fSopenharmony_ci                          "line": 64,
53753af6ab5fSopenharmony_ci                          "column": 12
53763af6ab5fSopenharmony_ci                        },
53773af6ab5fSopenharmony_ci                        "end": {
53783af6ab5fSopenharmony_ci                          "line": 64,
53793af6ab5fSopenharmony_ci                          "column": 13
53803af6ab5fSopenharmony_ci                        }
53813af6ab5fSopenharmony_ci                      }
53823af6ab5fSopenharmony_ci                    }
53833af6ab5fSopenharmony_ci                  ],
53843af6ab5fSopenharmony_ci                  "loc": {
53853af6ab5fSopenharmony_ci                    "start": {
53863af6ab5fSopenharmony_ci                      "line": 64,
53873af6ab5fSopenharmony_ci                      "column": 11
53883af6ab5fSopenharmony_ci                    },
53893af6ab5fSopenharmony_ci                    "end": {
53903af6ab5fSopenharmony_ci                      "line": 64,
53913af6ab5fSopenharmony_ci                      "column": 25
53923af6ab5fSopenharmony_ci                    }
53933af6ab5fSopenharmony_ci                  }
53943af6ab5fSopenharmony_ci                },
53953af6ab5fSopenharmony_ci                "loc": {
53963af6ab5fSopenharmony_ci                  "start": {
53973af6ab5fSopenharmony_ci                    "line": 64,
53983af6ab5fSopenharmony_ci                    "column": 8
53993af6ab5fSopenharmony_ci                  },
54003af6ab5fSopenharmony_ci                  "end": {
54013af6ab5fSopenharmony_ci                    "line": 64,
54023af6ab5fSopenharmony_ci                    "column": 26
54033af6ab5fSopenharmony_ci                  }
54043af6ab5fSopenharmony_ci                }
54053af6ab5fSopenharmony_ci              },
54063af6ab5fSopenharmony_ci              "indexType": {
54073af6ab5fSopenharmony_ci                "type": "TSLiteralType",
54083af6ab5fSopenharmony_ci                "literal": {
54093af6ab5fSopenharmony_ci                  "type": "NumberLiteral",
54103af6ab5fSopenharmony_ci                  "value": 0,
54113af6ab5fSopenharmony_ci                  "loc": {
54123af6ab5fSopenharmony_ci                    "start": {
54133af6ab5fSopenharmony_ci                      "line": 64,
54143af6ab5fSopenharmony_ci                      "column": 26
54153af6ab5fSopenharmony_ci                    },
54163af6ab5fSopenharmony_ci                    "end": {
54173af6ab5fSopenharmony_ci                      "line": 64,
54183af6ab5fSopenharmony_ci                      "column": 27
54193af6ab5fSopenharmony_ci                    }
54203af6ab5fSopenharmony_ci                  }
54213af6ab5fSopenharmony_ci                },
54223af6ab5fSopenharmony_ci                "loc": {
54233af6ab5fSopenharmony_ci                  "start": {
54243af6ab5fSopenharmony_ci                    "line": 64,
54253af6ab5fSopenharmony_ci                    "column": 26
54263af6ab5fSopenharmony_ci                  },
54273af6ab5fSopenharmony_ci                  "end": {
54283af6ab5fSopenharmony_ci                    "line": 64,
54293af6ab5fSopenharmony_ci                    "column": 27
54303af6ab5fSopenharmony_ci                  }
54313af6ab5fSopenharmony_ci                }
54323af6ab5fSopenharmony_ci              },
54333af6ab5fSopenharmony_ci              "loc": {
54343af6ab5fSopenharmony_ci                "start": {
54353af6ab5fSopenharmony_ci                  "line": 64,
54363af6ab5fSopenharmony_ci                  "column": 8
54373af6ab5fSopenharmony_ci                },
54383af6ab5fSopenharmony_ci                "end": {
54393af6ab5fSopenharmony_ci                  "line": 64,
54403af6ab5fSopenharmony_ci                  "column": 29
54413af6ab5fSopenharmony_ci                }
54423af6ab5fSopenharmony_ci              }
54433af6ab5fSopenharmony_ci            },
54443af6ab5fSopenharmony_ci            "loc": {
54453af6ab5fSopenharmony_ci              "start": {
54463af6ab5fSopenharmony_ci                "line": 64,
54473af6ab5fSopenharmony_ci                "column": 5
54483af6ab5fSopenharmony_ci              },
54493af6ab5fSopenharmony_ci              "end": {
54503af6ab5fSopenharmony_ci                "line": 64,
54513af6ab5fSopenharmony_ci                "column": 6
54523af6ab5fSopenharmony_ci              }
54533af6ab5fSopenharmony_ci            }
54543af6ab5fSopenharmony_ci          },
54553af6ab5fSopenharmony_ci          "init": null,
54563af6ab5fSopenharmony_ci          "loc": {
54573af6ab5fSopenharmony_ci            "start": {
54583af6ab5fSopenharmony_ci              "line": 64,
54593af6ab5fSopenharmony_ci              "column": 5
54603af6ab5fSopenharmony_ci            },
54613af6ab5fSopenharmony_ci            "end": {
54623af6ab5fSopenharmony_ci              "line": 64,
54633af6ab5fSopenharmony_ci              "column": 6
54643af6ab5fSopenharmony_ci            }
54653af6ab5fSopenharmony_ci          }
54663af6ab5fSopenharmony_ci        }
54673af6ab5fSopenharmony_ci      ],
54683af6ab5fSopenharmony_ci      "kind": "var",
54693af6ab5fSopenharmony_ci      "loc": {
54703af6ab5fSopenharmony_ci        "start": {
54713af6ab5fSopenharmony_ci          "line": 64,
54723af6ab5fSopenharmony_ci          "column": 1
54733af6ab5fSopenharmony_ci        },
54743af6ab5fSopenharmony_ci        "end": {
54753af6ab5fSopenharmony_ci          "line": 64,
54763af6ab5fSopenharmony_ci          "column": 29
54773af6ab5fSopenharmony_ci        }
54783af6ab5fSopenharmony_ci      }
54793af6ab5fSopenharmony_ci    },
54803af6ab5fSopenharmony_ci    {
54813af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
54823af6ab5fSopenharmony_ci      "declarations": [
54833af6ab5fSopenharmony_ci        {
54843af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
54853af6ab5fSopenharmony_ci          "id": {
54863af6ab5fSopenharmony_ci            "type": "Identifier",
54873af6ab5fSopenharmony_ci            "name": "d",
54883af6ab5fSopenharmony_ci            "typeAnnotation": {
54893af6ab5fSopenharmony_ci              "type": "TSTypeReference",
54903af6ab5fSopenharmony_ci              "typeName": {
54913af6ab5fSopenharmony_ci                "type": "Identifier",
54923af6ab5fSopenharmony_ci                "name": "A",
54933af6ab5fSopenharmony_ci                "loc": {
54943af6ab5fSopenharmony_ci                  "start": {
54953af6ab5fSopenharmony_ci                    "line": 65,
54963af6ab5fSopenharmony_ci                    "column": 8
54973af6ab5fSopenharmony_ci                  },
54983af6ab5fSopenharmony_ci                  "end": {
54993af6ab5fSopenharmony_ci                    "line": 65,
55003af6ab5fSopenharmony_ci                    "column": 9
55013af6ab5fSopenharmony_ci                  }
55023af6ab5fSopenharmony_ci                }
55033af6ab5fSopenharmony_ci              },
55043af6ab5fSopenharmony_ci              "typeParameters": {
55053af6ab5fSopenharmony_ci                "type": "TSTypeParameterInstantiation",
55063af6ab5fSopenharmony_ci                "params": [
55073af6ab5fSopenharmony_ci                  {
55083af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
55093af6ab5fSopenharmony_ci                    "loc": {
55103af6ab5fSopenharmony_ci                      "start": {
55113af6ab5fSopenharmony_ci                        "line": 65,
55123af6ab5fSopenharmony_ci                        "column": 10
55133af6ab5fSopenharmony_ci                      },
55143af6ab5fSopenharmony_ci                      "end": {
55153af6ab5fSopenharmony_ci                        "line": 65,
55163af6ab5fSopenharmony_ci                        "column": 16
55173af6ab5fSopenharmony_ci                      }
55183af6ab5fSopenharmony_ci                    }
55193af6ab5fSopenharmony_ci                  },
55203af6ab5fSopenharmony_ci                  {
55213af6ab5fSopenharmony_ci                    "type": "TSTypeLiteral",
55223af6ab5fSopenharmony_ci                    "members": [
55233af6ab5fSopenharmony_ci                      {
55243af6ab5fSopenharmony_ci                        "type": "TSPropertySignature",
55253af6ab5fSopenharmony_ci                        "computed": false,
55263af6ab5fSopenharmony_ci                        "optional": false,
55273af6ab5fSopenharmony_ci                        "readonly": false,
55283af6ab5fSopenharmony_ci                        "key": {
55293af6ab5fSopenharmony_ci                          "type": "Identifier",
55303af6ab5fSopenharmony_ci                          "name": "a",
55313af6ab5fSopenharmony_ci                          "loc": {
55323af6ab5fSopenharmony_ci                            "start": {
55333af6ab5fSopenharmony_ci                              "line": 65,
55343af6ab5fSopenharmony_ci                              "column": 20
55353af6ab5fSopenharmony_ci                            },
55363af6ab5fSopenharmony_ci                            "end": {
55373af6ab5fSopenharmony_ci                              "line": 65,
55383af6ab5fSopenharmony_ci                              "column": 21
55393af6ab5fSopenharmony_ci                            }
55403af6ab5fSopenharmony_ci                          }
55413af6ab5fSopenharmony_ci                        },
55423af6ab5fSopenharmony_ci                        "typeAnnotation": {
55433af6ab5fSopenharmony_ci                          "type": "TSNumberKeyword",
55443af6ab5fSopenharmony_ci                          "loc": {
55453af6ab5fSopenharmony_ci                            "start": {
55463af6ab5fSopenharmony_ci                              "line": 65,
55473af6ab5fSopenharmony_ci                              "column": 23
55483af6ab5fSopenharmony_ci                            },
55493af6ab5fSopenharmony_ci                            "end": {
55503af6ab5fSopenharmony_ci                              "line": 65,
55513af6ab5fSopenharmony_ci                              "column": 29
55523af6ab5fSopenharmony_ci                            }
55533af6ab5fSopenharmony_ci                          }
55543af6ab5fSopenharmony_ci                        },
55553af6ab5fSopenharmony_ci                        "loc": {
55563af6ab5fSopenharmony_ci                          "start": {
55573af6ab5fSopenharmony_ci                            "line": 65,
55583af6ab5fSopenharmony_ci                            "column": 20
55593af6ab5fSopenharmony_ci                          },
55603af6ab5fSopenharmony_ci                          "end": {
55613af6ab5fSopenharmony_ci                            "line": 65,
55623af6ab5fSopenharmony_ci                            "column": 30
55633af6ab5fSopenharmony_ci                          }
55643af6ab5fSopenharmony_ci                        }
55653af6ab5fSopenharmony_ci                      },
55663af6ab5fSopenharmony_ci                      {
55673af6ab5fSopenharmony_ci                        "type": "TSPropertySignature",
55683af6ab5fSopenharmony_ci                        "computed": false,
55693af6ab5fSopenharmony_ci                        "optional": false,
55703af6ab5fSopenharmony_ci                        "readonly": false,
55713af6ab5fSopenharmony_ci                        "key": {
55723af6ab5fSopenharmony_ci                          "type": "Identifier",
55733af6ab5fSopenharmony_ci                          "name": "b",
55743af6ab5fSopenharmony_ci                          "loc": {
55753af6ab5fSopenharmony_ci                            "start": {
55763af6ab5fSopenharmony_ci                              "line": 65,
55773af6ab5fSopenharmony_ci                              "column": 31
55783af6ab5fSopenharmony_ci                            },
55793af6ab5fSopenharmony_ci                            "end": {
55803af6ab5fSopenharmony_ci                              "line": 65,
55813af6ab5fSopenharmony_ci                              "column": 32
55823af6ab5fSopenharmony_ci                            }
55833af6ab5fSopenharmony_ci                          }
55843af6ab5fSopenharmony_ci                        },
55853af6ab5fSopenharmony_ci                        "typeAnnotation": {
55863af6ab5fSopenharmony_ci                          "type": "TSStringKeyword",
55873af6ab5fSopenharmony_ci                          "loc": {
55883af6ab5fSopenharmony_ci                            "start": {
55893af6ab5fSopenharmony_ci                              "line": 65,
55903af6ab5fSopenharmony_ci                              "column": 34
55913af6ab5fSopenharmony_ci                            },
55923af6ab5fSopenharmony_ci                            "end": {
55933af6ab5fSopenharmony_ci                              "line": 65,
55943af6ab5fSopenharmony_ci                              "column": 40
55953af6ab5fSopenharmony_ci                            }
55963af6ab5fSopenharmony_ci                          }
55973af6ab5fSopenharmony_ci                        },
55983af6ab5fSopenharmony_ci                        "loc": {
55993af6ab5fSopenharmony_ci                          "start": {
56003af6ab5fSopenharmony_ci                            "line": 65,
56013af6ab5fSopenharmony_ci                            "column": 31
56023af6ab5fSopenharmony_ci                          },
56033af6ab5fSopenharmony_ci                          "end": {
56043af6ab5fSopenharmony_ci                            "line": 65,
56053af6ab5fSopenharmony_ci                            "column": 42
56063af6ab5fSopenharmony_ci                          }
56073af6ab5fSopenharmony_ci                        }
56083af6ab5fSopenharmony_ci                      }
56093af6ab5fSopenharmony_ci                    ],
56103af6ab5fSopenharmony_ci                    "loc": {
56113af6ab5fSopenharmony_ci                      "start": {
56123af6ab5fSopenharmony_ci                        "line": 65,
56133af6ab5fSopenharmony_ci                        "column": 18
56143af6ab5fSopenharmony_ci                      },
56153af6ab5fSopenharmony_ci                      "end": {
56163af6ab5fSopenharmony_ci                        "line": 65,
56173af6ab5fSopenharmony_ci                        "column": 42
56183af6ab5fSopenharmony_ci                      }
56193af6ab5fSopenharmony_ci                    }
56203af6ab5fSopenharmony_ci                  },
56213af6ab5fSopenharmony_ci                  {
56223af6ab5fSopenharmony_ci                    "type": "TSTupleType",
56233af6ab5fSopenharmony_ci                    "elementTypes": [
56243af6ab5fSopenharmony_ci                      {
56253af6ab5fSopenharmony_ci                        "type": "TSNumberKeyword",
56263af6ab5fSopenharmony_ci                        "loc": {
56273af6ab5fSopenharmony_ci                          "start": {
56283af6ab5fSopenharmony_ci                            "line": 65,
56293af6ab5fSopenharmony_ci                            "column": 45
56303af6ab5fSopenharmony_ci                          },
56313af6ab5fSopenharmony_ci                          "end": {
56323af6ab5fSopenharmony_ci                            "line": 65,
56333af6ab5fSopenharmony_ci                            "column": 51
56343af6ab5fSopenharmony_ci                          }
56353af6ab5fSopenharmony_ci                        }
56363af6ab5fSopenharmony_ci                      },
56373af6ab5fSopenharmony_ci                      {
56383af6ab5fSopenharmony_ci                        "type": "TSStringKeyword",
56393af6ab5fSopenharmony_ci                        "loc": {
56403af6ab5fSopenharmony_ci                          "start": {
56413af6ab5fSopenharmony_ci                            "line": 65,
56423af6ab5fSopenharmony_ci                            "column": 53
56433af6ab5fSopenharmony_ci                          },
56443af6ab5fSopenharmony_ci                          "end": {
56453af6ab5fSopenharmony_ci                            "line": 65,
56463af6ab5fSopenharmony_ci                            "column": 59
56473af6ab5fSopenharmony_ci                          }
56483af6ab5fSopenharmony_ci                        }
56493af6ab5fSopenharmony_ci                      }
56503af6ab5fSopenharmony_ci                    ],
56513af6ab5fSopenharmony_ci                    "loc": {
56523af6ab5fSopenharmony_ci                      "start": {
56533af6ab5fSopenharmony_ci                        "line": 65,
56543af6ab5fSopenharmony_ci                        "column": 44
56553af6ab5fSopenharmony_ci                      },
56563af6ab5fSopenharmony_ci                      "end": {
56573af6ab5fSopenharmony_ci                        "line": 65,
56583af6ab5fSopenharmony_ci                        "column": 60
56593af6ab5fSopenharmony_ci                      }
56603af6ab5fSopenharmony_ci                    }
56613af6ab5fSopenharmony_ci                  }
56623af6ab5fSopenharmony_ci                ],
56633af6ab5fSopenharmony_ci                "loc": {
56643af6ab5fSopenharmony_ci                  "start": {
56653af6ab5fSopenharmony_ci                    "line": 65,
56663af6ab5fSopenharmony_ci                    "column": 9
56673af6ab5fSopenharmony_ci                  },
56683af6ab5fSopenharmony_ci                  "end": {
56693af6ab5fSopenharmony_ci                    "line": 65,
56703af6ab5fSopenharmony_ci                    "column": 61
56713af6ab5fSopenharmony_ci                  }
56723af6ab5fSopenharmony_ci                }
56733af6ab5fSopenharmony_ci              },
56743af6ab5fSopenharmony_ci              "loc": {
56753af6ab5fSopenharmony_ci                "start": {
56763af6ab5fSopenharmony_ci                  "line": 65,
56773af6ab5fSopenharmony_ci                  "column": 8
56783af6ab5fSopenharmony_ci                },
56793af6ab5fSopenharmony_ci                "end": {
56803af6ab5fSopenharmony_ci                  "line": 65,
56813af6ab5fSopenharmony_ci                  "column": 9
56823af6ab5fSopenharmony_ci                }
56833af6ab5fSopenharmony_ci              }
56843af6ab5fSopenharmony_ci            },
56853af6ab5fSopenharmony_ci            "loc": {
56863af6ab5fSopenharmony_ci              "start": {
56873af6ab5fSopenharmony_ci                "line": 65,
56883af6ab5fSopenharmony_ci                "column": 5
56893af6ab5fSopenharmony_ci              },
56903af6ab5fSopenharmony_ci              "end": {
56913af6ab5fSopenharmony_ci                "line": 65,
56923af6ab5fSopenharmony_ci                "column": 6
56933af6ab5fSopenharmony_ci              }
56943af6ab5fSopenharmony_ci            }
56953af6ab5fSopenharmony_ci          },
56963af6ab5fSopenharmony_ci          "init": null,
56973af6ab5fSopenharmony_ci          "loc": {
56983af6ab5fSopenharmony_ci            "start": {
56993af6ab5fSopenharmony_ci              "line": 65,
57003af6ab5fSopenharmony_ci              "column": 5
57013af6ab5fSopenharmony_ci            },
57023af6ab5fSopenharmony_ci            "end": {
57033af6ab5fSopenharmony_ci              "line": 65,
57043af6ab5fSopenharmony_ci              "column": 6
57053af6ab5fSopenharmony_ci            }
57063af6ab5fSopenharmony_ci          }
57073af6ab5fSopenharmony_ci        }
57083af6ab5fSopenharmony_ci      ],
57093af6ab5fSopenharmony_ci      "kind": "var",
57103af6ab5fSopenharmony_ci      "loc": {
57113af6ab5fSopenharmony_ci        "start": {
57123af6ab5fSopenharmony_ci          "line": 65,
57133af6ab5fSopenharmony_ci          "column": 1
57143af6ab5fSopenharmony_ci        },
57153af6ab5fSopenharmony_ci        "end": {
57163af6ab5fSopenharmony_ci          "line": 65,
57173af6ab5fSopenharmony_ci          "column": 62
57183af6ab5fSopenharmony_ci        }
57193af6ab5fSopenharmony_ci      }
57203af6ab5fSopenharmony_ci    },
57213af6ab5fSopenharmony_ci    {
57223af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
57233af6ab5fSopenharmony_ci      "declarations": [
57243af6ab5fSopenharmony_ci        {
57253af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
57263af6ab5fSopenharmony_ci          "id": {
57273af6ab5fSopenharmony_ci            "type": "Identifier",
57283af6ab5fSopenharmony_ci            "name": "e",
57293af6ab5fSopenharmony_ci            "typeAnnotation": {
57303af6ab5fSopenharmony_ci              "type": "TSTypeReference",
57313af6ab5fSopenharmony_ci              "typeName": {
57323af6ab5fSopenharmony_ci                "type": "Identifier",
57333af6ab5fSopenharmony_ci                "name": "T",
57343af6ab5fSopenharmony_ci                "loc": {
57353af6ab5fSopenharmony_ci                  "start": {
57363af6ab5fSopenharmony_ci                    "line": 66,
57373af6ab5fSopenharmony_ci                    "column": 8
57383af6ab5fSopenharmony_ci                  },
57393af6ab5fSopenharmony_ci                  "end": {
57403af6ab5fSopenharmony_ci                    "line": 66,
57413af6ab5fSopenharmony_ci                    "column": 9
57423af6ab5fSopenharmony_ci                  }
57433af6ab5fSopenharmony_ci                }
57443af6ab5fSopenharmony_ci              },
57453af6ab5fSopenharmony_ci              "typeParameters": {
57463af6ab5fSopenharmony_ci                "type": "TSTypeParameterInstantiation",
57473af6ab5fSopenharmony_ci                "params": [
57483af6ab5fSopenharmony_ci                  {
57493af6ab5fSopenharmony_ci                    "type": "TSFunctionType",
57503af6ab5fSopenharmony_ci                    "params": [],
57513af6ab5fSopenharmony_ci                    "typeParameters": {
57523af6ab5fSopenharmony_ci                      "type": "TSTypeParameterDeclaration",
57533af6ab5fSopenharmony_ci                      "params": [
57543af6ab5fSopenharmony_ci                        {
57553af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
57563af6ab5fSopenharmony_ci                          "name": {
57573af6ab5fSopenharmony_ci                            "type": "Identifier",
57583af6ab5fSopenharmony_ci                            "name": "A",
57593af6ab5fSopenharmony_ci                            "loc": {
57603af6ab5fSopenharmony_ci                              "start": {
57613af6ab5fSopenharmony_ci                                "line": 66,
57623af6ab5fSopenharmony_ci                                "column": 11
57633af6ab5fSopenharmony_ci                              },
57643af6ab5fSopenharmony_ci                              "end": {
57653af6ab5fSopenharmony_ci                                "line": 66,
57663af6ab5fSopenharmony_ci                                "column": 12
57673af6ab5fSopenharmony_ci                              }
57683af6ab5fSopenharmony_ci                            }
57693af6ab5fSopenharmony_ci                          },
57703af6ab5fSopenharmony_ci                          "in": false,
57713af6ab5fSopenharmony_ci                          "out": false,
57723af6ab5fSopenharmony_ci                          "loc": {
57733af6ab5fSopenharmony_ci                            "start": {
57743af6ab5fSopenharmony_ci                              "line": 66,
57753af6ab5fSopenharmony_ci                              "column": 11
57763af6ab5fSopenharmony_ci                            },
57773af6ab5fSopenharmony_ci                            "end": {
57783af6ab5fSopenharmony_ci                              "line": 66,
57793af6ab5fSopenharmony_ci                              "column": 13
57803af6ab5fSopenharmony_ci                            }
57813af6ab5fSopenharmony_ci                          }
57823af6ab5fSopenharmony_ci                        }
57833af6ab5fSopenharmony_ci                      ],
57843af6ab5fSopenharmony_ci                      "loc": {
57853af6ab5fSopenharmony_ci                        "start": {
57863af6ab5fSopenharmony_ci                          "line": 66,
57873af6ab5fSopenharmony_ci                          "column": 10
57883af6ab5fSopenharmony_ci                        },
57893af6ab5fSopenharmony_ci                        "end": {
57903af6ab5fSopenharmony_ci                          "line": 66,
57913af6ab5fSopenharmony_ci                          "column": 13
57923af6ab5fSopenharmony_ci                        }
57933af6ab5fSopenharmony_ci                      }
57943af6ab5fSopenharmony_ci                    },
57953af6ab5fSopenharmony_ci                    "returnType": {
57963af6ab5fSopenharmony_ci                      "type": "TSTypeLiteral",
57973af6ab5fSopenharmony_ci                      "members": [],
57983af6ab5fSopenharmony_ci                      "loc": {
57993af6ab5fSopenharmony_ci                        "start": {
58003af6ab5fSopenharmony_ci                          "line": 66,
58013af6ab5fSopenharmony_ci                          "column": 19
58023af6ab5fSopenharmony_ci                        },
58033af6ab5fSopenharmony_ci                        "end": {
58043af6ab5fSopenharmony_ci                          "line": 66,
58053af6ab5fSopenharmony_ci                          "column": 21
58063af6ab5fSopenharmony_ci                        }
58073af6ab5fSopenharmony_ci                      }
58083af6ab5fSopenharmony_ci                    },
58093af6ab5fSopenharmony_ci                    "loc": {
58103af6ab5fSopenharmony_ci                      "start": {
58113af6ab5fSopenharmony_ci                        "line": 66,
58123af6ab5fSopenharmony_ci                        "column": 10
58133af6ab5fSopenharmony_ci                      },
58143af6ab5fSopenharmony_ci                      "end": {
58153af6ab5fSopenharmony_ci                        "line": 66,
58163af6ab5fSopenharmony_ci                        "column": 21
58173af6ab5fSopenharmony_ci                      }
58183af6ab5fSopenharmony_ci                    }
58193af6ab5fSopenharmony_ci                  }
58203af6ab5fSopenharmony_ci                ],
58213af6ab5fSopenharmony_ci                "loc": {
58223af6ab5fSopenharmony_ci                  "start": {
58233af6ab5fSopenharmony_ci                    "line": 66,
58243af6ab5fSopenharmony_ci                    "column": 9
58253af6ab5fSopenharmony_ci                  },
58263af6ab5fSopenharmony_ci                  "end": {
58273af6ab5fSopenharmony_ci                    "line": 66,
58283af6ab5fSopenharmony_ci                    "column": 22
58293af6ab5fSopenharmony_ci                  }
58303af6ab5fSopenharmony_ci                }
58313af6ab5fSopenharmony_ci              },
58323af6ab5fSopenharmony_ci              "loc": {
58333af6ab5fSopenharmony_ci                "start": {
58343af6ab5fSopenharmony_ci                  "line": 66,
58353af6ab5fSopenharmony_ci                  "column": 8
58363af6ab5fSopenharmony_ci                },
58373af6ab5fSopenharmony_ci                "end": {
58383af6ab5fSopenharmony_ci                  "line": 66,
58393af6ab5fSopenharmony_ci                  "column": 9
58403af6ab5fSopenharmony_ci                }
58413af6ab5fSopenharmony_ci              }
58423af6ab5fSopenharmony_ci            },
58433af6ab5fSopenharmony_ci            "loc": {
58443af6ab5fSopenharmony_ci              "start": {
58453af6ab5fSopenharmony_ci                "line": 66,
58463af6ab5fSopenharmony_ci                "column": 5
58473af6ab5fSopenharmony_ci              },
58483af6ab5fSopenharmony_ci              "end": {
58493af6ab5fSopenharmony_ci                "line": 66,
58503af6ab5fSopenharmony_ci                "column": 6
58513af6ab5fSopenharmony_ci              }
58523af6ab5fSopenharmony_ci            }
58533af6ab5fSopenharmony_ci          },
58543af6ab5fSopenharmony_ci          "init": null,
58553af6ab5fSopenharmony_ci          "loc": {
58563af6ab5fSopenharmony_ci            "start": {
58573af6ab5fSopenharmony_ci              "line": 66,
58583af6ab5fSopenharmony_ci              "column": 5
58593af6ab5fSopenharmony_ci            },
58603af6ab5fSopenharmony_ci            "end": {
58613af6ab5fSopenharmony_ci              "line": 66,
58623af6ab5fSopenharmony_ci              "column": 6
58633af6ab5fSopenharmony_ci            }
58643af6ab5fSopenharmony_ci          }
58653af6ab5fSopenharmony_ci        }
58663af6ab5fSopenharmony_ci      ],
58673af6ab5fSopenharmony_ci      "kind": "var",
58683af6ab5fSopenharmony_ci      "loc": {
58693af6ab5fSopenharmony_ci        "start": {
58703af6ab5fSopenharmony_ci          "line": 66,
58713af6ab5fSopenharmony_ci          "column": 1
58723af6ab5fSopenharmony_ci        },
58733af6ab5fSopenharmony_ci        "end": {
58743af6ab5fSopenharmony_ci          "line": 66,
58753af6ab5fSopenharmony_ci          "column": 23
58763af6ab5fSopenharmony_ci        }
58773af6ab5fSopenharmony_ci      }
58783af6ab5fSopenharmony_ci    },
58793af6ab5fSopenharmony_ci    {
58803af6ab5fSopenharmony_ci      "type": "TSTypeAliasDeclaration",
58813af6ab5fSopenharmony_ci      "id": {
58823af6ab5fSopenharmony_ci        "type": "Identifier",
58833af6ab5fSopenharmony_ci        "name": "E",
58843af6ab5fSopenharmony_ci        "loc": {
58853af6ab5fSopenharmony_ci          "start": {
58863af6ab5fSopenharmony_ci            "line": 68,
58873af6ab5fSopenharmony_ci            "column": 6
58883af6ab5fSopenharmony_ci          },
58893af6ab5fSopenharmony_ci          "end": {
58903af6ab5fSopenharmony_ci            "line": 68,
58913af6ab5fSopenharmony_ci            "column": 7
58923af6ab5fSopenharmony_ci          }
58933af6ab5fSopenharmony_ci        }
58943af6ab5fSopenharmony_ci      },
58953af6ab5fSopenharmony_ci      "typeAnnotation": {
58963af6ab5fSopenharmony_ci        "type": "TSUnionType",
58973af6ab5fSopenharmony_ci        "types": [
58983af6ab5fSopenharmony_ci          {
58993af6ab5fSopenharmony_ci            "type": "TSNumberKeyword",
59003af6ab5fSopenharmony_ci            "loc": {
59013af6ab5fSopenharmony_ci              "start": {
59023af6ab5fSopenharmony_ci                "line": 68,
59033af6ab5fSopenharmony_ci                "column": 38
59043af6ab5fSopenharmony_ci              },
59053af6ab5fSopenharmony_ci              "end": {
59063af6ab5fSopenharmony_ci                "line": 68,
59073af6ab5fSopenharmony_ci                "column": 44
59083af6ab5fSopenharmony_ci              }
59093af6ab5fSopenharmony_ci            }
59103af6ab5fSopenharmony_ci          },
59113af6ab5fSopenharmony_ci          {
59123af6ab5fSopenharmony_ci            "type": "TSTypeReference",
59133af6ab5fSopenharmony_ci            "typeName": {
59143af6ab5fSopenharmony_ci              "type": "Identifier",
59153af6ab5fSopenharmony_ci              "name": "T",
59163af6ab5fSopenharmony_ci              "loc": {
59173af6ab5fSopenharmony_ci                "start": {
59183af6ab5fSopenharmony_ci                  "line": 68,
59193af6ab5fSopenharmony_ci                  "column": 47
59203af6ab5fSopenharmony_ci                },
59213af6ab5fSopenharmony_ci                "end": {
59223af6ab5fSopenharmony_ci                  "line": 68,
59233af6ab5fSopenharmony_ci                  "column": 48
59243af6ab5fSopenharmony_ci                }
59253af6ab5fSopenharmony_ci              }
59263af6ab5fSopenharmony_ci            },
59273af6ab5fSopenharmony_ci            "loc": {
59283af6ab5fSopenharmony_ci              "start": {
59293af6ab5fSopenharmony_ci                "line": 68,
59303af6ab5fSopenharmony_ci                "column": 47
59313af6ab5fSopenharmony_ci              },
59323af6ab5fSopenharmony_ci              "end": {
59333af6ab5fSopenharmony_ci                "line": 68,
59343af6ab5fSopenharmony_ci                "column": 48
59353af6ab5fSopenharmony_ci              }
59363af6ab5fSopenharmony_ci            }
59373af6ab5fSopenharmony_ci          },
59383af6ab5fSopenharmony_ci          {
59393af6ab5fSopenharmony_ci            "type": "TSStringKeyword",
59403af6ab5fSopenharmony_ci            "loc": {
59413af6ab5fSopenharmony_ci              "start": {
59423af6ab5fSopenharmony_ci                "line": 68,
59433af6ab5fSopenharmony_ci                "column": 51
59443af6ab5fSopenharmony_ci              },
59453af6ab5fSopenharmony_ci              "end": {
59463af6ab5fSopenharmony_ci                "line": 68,
59473af6ab5fSopenharmony_ci                "column": 57
59483af6ab5fSopenharmony_ci              }
59493af6ab5fSopenharmony_ci            }
59503af6ab5fSopenharmony_ci          }
59513af6ab5fSopenharmony_ci        ],
59523af6ab5fSopenharmony_ci        "loc": {
59533af6ab5fSopenharmony_ci          "start": {
59543af6ab5fSopenharmony_ci            "line": 68,
59553af6ab5fSopenharmony_ci            "column": 38
59563af6ab5fSopenharmony_ci          },
59573af6ab5fSopenharmony_ci          "end": {
59583af6ab5fSopenharmony_ci            "line": 68,
59593af6ab5fSopenharmony_ci            "column": 57
59603af6ab5fSopenharmony_ci          }
59613af6ab5fSopenharmony_ci        }
59623af6ab5fSopenharmony_ci      },
59633af6ab5fSopenharmony_ci      "typeParameters": {
59643af6ab5fSopenharmony_ci        "type": "TSTypeParameterDeclaration",
59653af6ab5fSopenharmony_ci        "params": [
59663af6ab5fSopenharmony_ci          {
59673af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
59683af6ab5fSopenharmony_ci            "name": {
59693af6ab5fSopenharmony_ci              "type": "Identifier",
59703af6ab5fSopenharmony_ci              "name": "R",
59713af6ab5fSopenharmony_ci              "loc": {
59723af6ab5fSopenharmony_ci                "start": {
59733af6ab5fSopenharmony_ci                  "line": 68,
59743af6ab5fSopenharmony_ci                  "column": 8
59753af6ab5fSopenharmony_ci                },
59763af6ab5fSopenharmony_ci                "end": {
59773af6ab5fSopenharmony_ci                  "line": 68,
59783af6ab5fSopenharmony_ci                  "column": 9
59793af6ab5fSopenharmony_ci                }
59803af6ab5fSopenharmony_ci              }
59813af6ab5fSopenharmony_ci            },
59823af6ab5fSopenharmony_ci            "constraint": {
59833af6ab5fSopenharmony_ci              "type": "TSTypeReference",
59843af6ab5fSopenharmony_ci              "typeName": {
59853af6ab5fSopenharmony_ci                "type": "Identifier",
59863af6ab5fSopenharmony_ci                "name": "B",
59873af6ab5fSopenharmony_ci                "loc": {
59883af6ab5fSopenharmony_ci                  "start": {
59893af6ab5fSopenharmony_ci                    "line": 68,
59903af6ab5fSopenharmony_ci                    "column": 18
59913af6ab5fSopenharmony_ci                  },
59923af6ab5fSopenharmony_ci                  "end": {
59933af6ab5fSopenharmony_ci                    "line": 68,
59943af6ab5fSopenharmony_ci                    "column": 19
59953af6ab5fSopenharmony_ci                  }
59963af6ab5fSopenharmony_ci                }
59973af6ab5fSopenharmony_ci              },
59983af6ab5fSopenharmony_ci              "loc": {
59993af6ab5fSopenharmony_ci                "start": {
60003af6ab5fSopenharmony_ci                  "line": 68,
60013af6ab5fSopenharmony_ci                  "column": 18
60023af6ab5fSopenharmony_ci                },
60033af6ab5fSopenharmony_ci                "end": {
60043af6ab5fSopenharmony_ci                  "line": 68,
60053af6ab5fSopenharmony_ci                  "column": 19
60063af6ab5fSopenharmony_ci                }
60073af6ab5fSopenharmony_ci              }
60083af6ab5fSopenharmony_ci            },
60093af6ab5fSopenharmony_ci            "in": false,
60103af6ab5fSopenharmony_ci            "out": false,
60113af6ab5fSopenharmony_ci            "loc": {
60123af6ab5fSopenharmony_ci              "start": {
60133af6ab5fSopenharmony_ci                "line": 68,
60143af6ab5fSopenharmony_ci                "column": 8
60153af6ab5fSopenharmony_ci              },
60163af6ab5fSopenharmony_ci              "end": {
60173af6ab5fSopenharmony_ci                "line": 68,
60183af6ab5fSopenharmony_ci                "column": 20
60193af6ab5fSopenharmony_ci              }
60203af6ab5fSopenharmony_ci            }
60213af6ab5fSopenharmony_ci          },
60223af6ab5fSopenharmony_ci          {
60233af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
60243af6ab5fSopenharmony_ci            "name": {
60253af6ab5fSopenharmony_ci              "type": "Identifier",
60263af6ab5fSopenharmony_ci              "name": "C",
60273af6ab5fSopenharmony_ci              "loc": {
60283af6ab5fSopenharmony_ci                "start": {
60293af6ab5fSopenharmony_ci                  "line": 68,
60303af6ab5fSopenharmony_ci                  "column": 21
60313af6ab5fSopenharmony_ci                },
60323af6ab5fSopenharmony_ci                "end": {
60333af6ab5fSopenharmony_ci                  "line": 68,
60343af6ab5fSopenharmony_ci                  "column": 22
60353af6ab5fSopenharmony_ci                }
60363af6ab5fSopenharmony_ci              }
60373af6ab5fSopenharmony_ci            },
60383af6ab5fSopenharmony_ci            "in": false,
60393af6ab5fSopenharmony_ci            "out": false,
60403af6ab5fSopenharmony_ci            "loc": {
60413af6ab5fSopenharmony_ci              "start": {
60423af6ab5fSopenharmony_ci                "line": 68,
60433af6ab5fSopenharmony_ci                "column": 21
60443af6ab5fSopenharmony_ci              },
60453af6ab5fSopenharmony_ci              "end": {
60463af6ab5fSopenharmony_ci                "line": 68,
60473af6ab5fSopenharmony_ci                "column": 23
60483af6ab5fSopenharmony_ci              }
60493af6ab5fSopenharmony_ci            }
60503af6ab5fSopenharmony_ci          },
60513af6ab5fSopenharmony_ci          {
60523af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
60533af6ab5fSopenharmony_ci            "name": {
60543af6ab5fSopenharmony_ci              "type": "Identifier",
60553af6ab5fSopenharmony_ci              "name": "T",
60563af6ab5fSopenharmony_ci              "loc": {
60573af6ab5fSopenharmony_ci                "start": {
60583af6ab5fSopenharmony_ci                  "line": 68,
60593af6ab5fSopenharmony_ci                  "column": 24
60603af6ab5fSopenharmony_ci                },
60613af6ab5fSopenharmony_ci                "end": {
60623af6ab5fSopenharmony_ci                  "line": 68,
60633af6ab5fSopenharmony_ci                  "column": 25
60643af6ab5fSopenharmony_ci                }
60653af6ab5fSopenharmony_ci              }
60663af6ab5fSopenharmony_ci            },
60673af6ab5fSopenharmony_ci            "default": {
60683af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
60693af6ab5fSopenharmony_ci              "loc": {
60703af6ab5fSopenharmony_ci                "start": {
60713af6ab5fSopenharmony_ci                  "line": 68,
60723af6ab5fSopenharmony_ci                  "column": 28
60733af6ab5fSopenharmony_ci                },
60743af6ab5fSopenharmony_ci                "end": {
60753af6ab5fSopenharmony_ci                  "line": 68,
60763af6ab5fSopenharmony_ci                  "column": 34
60773af6ab5fSopenharmony_ci                }
60783af6ab5fSopenharmony_ci              }
60793af6ab5fSopenharmony_ci            },
60803af6ab5fSopenharmony_ci            "in": false,
60813af6ab5fSopenharmony_ci            "out": false,
60823af6ab5fSopenharmony_ci            "loc": {
60833af6ab5fSopenharmony_ci              "start": {
60843af6ab5fSopenharmony_ci                "line": 68,
60853af6ab5fSopenharmony_ci                "column": 24
60863af6ab5fSopenharmony_ci              },
60873af6ab5fSopenharmony_ci              "end": {
60883af6ab5fSopenharmony_ci                "line": 68,
60893af6ab5fSopenharmony_ci                "column": 35
60903af6ab5fSopenharmony_ci              }
60913af6ab5fSopenharmony_ci            }
60923af6ab5fSopenharmony_ci          }
60933af6ab5fSopenharmony_ci        ],
60943af6ab5fSopenharmony_ci        "loc": {
60953af6ab5fSopenharmony_ci          "start": {
60963af6ab5fSopenharmony_ci            "line": 68,
60973af6ab5fSopenharmony_ci            "column": 7
60983af6ab5fSopenharmony_ci          },
60993af6ab5fSopenharmony_ci          "end": {
61003af6ab5fSopenharmony_ci            "line": 68,
61013af6ab5fSopenharmony_ci            "column": 35
61023af6ab5fSopenharmony_ci          }
61033af6ab5fSopenharmony_ci        }
61043af6ab5fSopenharmony_ci      },
61053af6ab5fSopenharmony_ci      "loc": {
61063af6ab5fSopenharmony_ci        "start": {
61073af6ab5fSopenharmony_ci          "line": 68,
61083af6ab5fSopenharmony_ci          "column": 1
61093af6ab5fSopenharmony_ci        },
61103af6ab5fSopenharmony_ci        "end": {
61113af6ab5fSopenharmony_ci          "line": 68,
61123af6ab5fSopenharmony_ci          "column": 58
61133af6ab5fSopenharmony_ci        }
61143af6ab5fSopenharmony_ci      }
61153af6ab5fSopenharmony_ci    },
61163af6ab5fSopenharmony_ci    {
61173af6ab5fSopenharmony_ci      "type": "TSTypeAliasDeclaration",
61183af6ab5fSopenharmony_ci      "id": {
61193af6ab5fSopenharmony_ci        "type": "Identifier",
61203af6ab5fSopenharmony_ci        "name": "P",
61213af6ab5fSopenharmony_ci        "loc": {
61223af6ab5fSopenharmony_ci          "start": {
61233af6ab5fSopenharmony_ci            "line": 69,
61243af6ab5fSopenharmony_ci            "column": 6
61253af6ab5fSopenharmony_ci          },
61263af6ab5fSopenharmony_ci          "end": {
61273af6ab5fSopenharmony_ci            "line": 69,
61283af6ab5fSopenharmony_ci            "column": 7
61293af6ab5fSopenharmony_ci          }
61303af6ab5fSopenharmony_ci        }
61313af6ab5fSopenharmony_ci      },
61323af6ab5fSopenharmony_ci      "typeAnnotation": {
61333af6ab5fSopenharmony_ci        "type": "TSTypeLiteral",
61343af6ab5fSopenharmony_ci        "members": [
61353af6ab5fSopenharmony_ci          {
61363af6ab5fSopenharmony_ci            "type": "TSPropertySignature",
61373af6ab5fSopenharmony_ci            "computed": false,
61383af6ab5fSopenharmony_ci            "optional": false,
61393af6ab5fSopenharmony_ci            "readonly": false,
61403af6ab5fSopenharmony_ci            "key": {
61413af6ab5fSopenharmony_ci              "type": "Identifier",
61423af6ab5fSopenharmony_ci              "name": "a",
61433af6ab5fSopenharmony_ci              "loc": {
61443af6ab5fSopenharmony_ci                "start": {
61453af6ab5fSopenharmony_ci                  "line": 69,
61463af6ab5fSopenharmony_ci                  "column": 52
61473af6ab5fSopenharmony_ci                },
61483af6ab5fSopenharmony_ci                "end": {
61493af6ab5fSopenharmony_ci                  "line": 69,
61503af6ab5fSopenharmony_ci                  "column": 53
61513af6ab5fSopenharmony_ci                }
61523af6ab5fSopenharmony_ci              }
61533af6ab5fSopenharmony_ci            },
61543af6ab5fSopenharmony_ci            "typeAnnotation": {
61553af6ab5fSopenharmony_ci              "type": "TSTypeReference",
61563af6ab5fSopenharmony_ci              "typeName": {
61573af6ab5fSopenharmony_ci                "type": "Identifier",
61583af6ab5fSopenharmony_ci                "name": "K",
61593af6ab5fSopenharmony_ci                "loc": {
61603af6ab5fSopenharmony_ci                  "start": {
61613af6ab5fSopenharmony_ci                    "line": 69,
61623af6ab5fSopenharmony_ci                    "column": 54
61633af6ab5fSopenharmony_ci                  },
61643af6ab5fSopenharmony_ci                  "end": {
61653af6ab5fSopenharmony_ci                    "line": 69,
61663af6ab5fSopenharmony_ci                    "column": 55
61673af6ab5fSopenharmony_ci                  }
61683af6ab5fSopenharmony_ci                }
61693af6ab5fSopenharmony_ci              },
61703af6ab5fSopenharmony_ci              "loc": {
61713af6ab5fSopenharmony_ci                "start": {
61723af6ab5fSopenharmony_ci                  "line": 69,
61733af6ab5fSopenharmony_ci                  "column": 54
61743af6ab5fSopenharmony_ci                },
61753af6ab5fSopenharmony_ci                "end": {
61763af6ab5fSopenharmony_ci                  "line": 69,
61773af6ab5fSopenharmony_ci                  "column": 55
61783af6ab5fSopenharmony_ci                }
61793af6ab5fSopenharmony_ci              }
61803af6ab5fSopenharmony_ci            },
61813af6ab5fSopenharmony_ci            "loc": {
61823af6ab5fSopenharmony_ci              "start": {
61833af6ab5fSopenharmony_ci                "line": 69,
61843af6ab5fSopenharmony_ci                "column": 52
61853af6ab5fSopenharmony_ci              },
61863af6ab5fSopenharmony_ci              "end": {
61873af6ab5fSopenharmony_ci                "line": 69,
61883af6ab5fSopenharmony_ci                "column": 56
61893af6ab5fSopenharmony_ci              }
61903af6ab5fSopenharmony_ci            }
61913af6ab5fSopenharmony_ci          },
61923af6ab5fSopenharmony_ci          {
61933af6ab5fSopenharmony_ci            "type": "TSPropertySignature",
61943af6ab5fSopenharmony_ci            "computed": false,
61953af6ab5fSopenharmony_ci            "optional": false,
61963af6ab5fSopenharmony_ci            "readonly": false,
61973af6ab5fSopenharmony_ci            "key": {
61983af6ab5fSopenharmony_ci              "type": "Identifier",
61993af6ab5fSopenharmony_ci              "name": "b",
62003af6ab5fSopenharmony_ci              "loc": {
62013af6ab5fSopenharmony_ci                "start": {
62023af6ab5fSopenharmony_ci                  "line": 69,
62033af6ab5fSopenharmony_ci                  "column": 57
62043af6ab5fSopenharmony_ci                },
62053af6ab5fSopenharmony_ci                "end": {
62063af6ab5fSopenharmony_ci                  "line": 69,
62073af6ab5fSopenharmony_ci                  "column": 58
62083af6ab5fSopenharmony_ci                }
62093af6ab5fSopenharmony_ci              }
62103af6ab5fSopenharmony_ci            },
62113af6ab5fSopenharmony_ci            "typeAnnotation": {
62123af6ab5fSopenharmony_ci              "type": "TSTypeReference",
62133af6ab5fSopenharmony_ci              "typeName": {
62143af6ab5fSopenharmony_ci                "type": "Identifier",
62153af6ab5fSopenharmony_ci                "name": "Q",
62163af6ab5fSopenharmony_ci                "loc": {
62173af6ab5fSopenharmony_ci                  "start": {
62183af6ab5fSopenharmony_ci                    "line": 69,
62193af6ab5fSopenharmony_ci                    "column": 59
62203af6ab5fSopenharmony_ci                  },
62213af6ab5fSopenharmony_ci                  "end": {
62223af6ab5fSopenharmony_ci                    "line": 69,
62233af6ab5fSopenharmony_ci                    "column": 60
62243af6ab5fSopenharmony_ci                  }
62253af6ab5fSopenharmony_ci                }
62263af6ab5fSopenharmony_ci              },
62273af6ab5fSopenharmony_ci              "loc": {
62283af6ab5fSopenharmony_ci                "start": {
62293af6ab5fSopenharmony_ci                  "line": 69,
62303af6ab5fSopenharmony_ci                  "column": 59
62313af6ab5fSopenharmony_ci                },
62323af6ab5fSopenharmony_ci                "end": {
62333af6ab5fSopenharmony_ci                  "line": 69,
62343af6ab5fSopenharmony_ci                  "column": 60
62353af6ab5fSopenharmony_ci                }
62363af6ab5fSopenharmony_ci              }
62373af6ab5fSopenharmony_ci            },
62383af6ab5fSopenharmony_ci            "loc": {
62393af6ab5fSopenharmony_ci              "start": {
62403af6ab5fSopenharmony_ci                "line": 69,
62413af6ab5fSopenharmony_ci                "column": 57
62423af6ab5fSopenharmony_ci              },
62433af6ab5fSopenharmony_ci              "end": {
62443af6ab5fSopenharmony_ci                "line": 69,
62453af6ab5fSopenharmony_ci                "column": 61
62463af6ab5fSopenharmony_ci              }
62473af6ab5fSopenharmony_ci            }
62483af6ab5fSopenharmony_ci          }
62493af6ab5fSopenharmony_ci        ],
62503af6ab5fSopenharmony_ci        "loc": {
62513af6ab5fSopenharmony_ci          "start": {
62523af6ab5fSopenharmony_ci            "line": 69,
62533af6ab5fSopenharmony_ci            "column": 51
62543af6ab5fSopenharmony_ci          },
62553af6ab5fSopenharmony_ci          "end": {
62563af6ab5fSopenharmony_ci            "line": 69,
62573af6ab5fSopenharmony_ci            "column": 61
62583af6ab5fSopenharmony_ci          }
62593af6ab5fSopenharmony_ci        }
62603af6ab5fSopenharmony_ci      },
62613af6ab5fSopenharmony_ci      "typeParameters": {
62623af6ab5fSopenharmony_ci        "type": "TSTypeParameterDeclaration",
62633af6ab5fSopenharmony_ci        "params": [
62643af6ab5fSopenharmony_ci          {
62653af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
62663af6ab5fSopenharmony_ci            "name": {
62673af6ab5fSopenharmony_ci              "type": "Identifier",
62683af6ab5fSopenharmony_ci              "name": "K",
62693af6ab5fSopenharmony_ci              "loc": {
62703af6ab5fSopenharmony_ci                "start": {
62713af6ab5fSopenharmony_ci                  "line": 69,
62723af6ab5fSopenharmony_ci                  "column": 8
62733af6ab5fSopenharmony_ci                },
62743af6ab5fSopenharmony_ci                "end": {
62753af6ab5fSopenharmony_ci                  "line": 69,
62763af6ab5fSopenharmony_ci                  "column": 9
62773af6ab5fSopenharmony_ci                }
62783af6ab5fSopenharmony_ci              }
62793af6ab5fSopenharmony_ci            },
62803af6ab5fSopenharmony_ci            "in": false,
62813af6ab5fSopenharmony_ci            "out": false,
62823af6ab5fSopenharmony_ci            "loc": {
62833af6ab5fSopenharmony_ci              "start": {
62843af6ab5fSopenharmony_ci                "line": 69,
62853af6ab5fSopenharmony_ci                "column": 8
62863af6ab5fSopenharmony_ci              },
62873af6ab5fSopenharmony_ci              "end": {
62883af6ab5fSopenharmony_ci                "line": 69,
62893af6ab5fSopenharmony_ci                "column": 10
62903af6ab5fSopenharmony_ci              }
62913af6ab5fSopenharmony_ci            }
62923af6ab5fSopenharmony_ci          },
62933af6ab5fSopenharmony_ci          {
62943af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
62953af6ab5fSopenharmony_ci            "name": {
62963af6ab5fSopenharmony_ci              "type": "Identifier",
62973af6ab5fSopenharmony_ci              "name": "Q",
62983af6ab5fSopenharmony_ci              "loc": {
62993af6ab5fSopenharmony_ci                "start": {
63003af6ab5fSopenharmony_ci                  "line": 69,
63013af6ab5fSopenharmony_ci                  "column": 11
63023af6ab5fSopenharmony_ci                },
63033af6ab5fSopenharmony_ci                "end": {
63043af6ab5fSopenharmony_ci                  "line": 69,
63053af6ab5fSopenharmony_ci                  "column": 12
63063af6ab5fSopenharmony_ci                }
63073af6ab5fSopenharmony_ci              }
63083af6ab5fSopenharmony_ci            },
63093af6ab5fSopenharmony_ci            "default": {
63103af6ab5fSopenharmony_ci              "type": "TSUnionType",
63113af6ab5fSopenharmony_ci              "types": [
63123af6ab5fSopenharmony_ci                {
63133af6ab5fSopenharmony_ci                  "type": "TSTupleType",
63143af6ab5fSopenharmony_ci                  "elementTypes": [
63153af6ab5fSopenharmony_ci                    {
63163af6ab5fSopenharmony_ci                      "type": "TSNumberKeyword",
63173af6ab5fSopenharmony_ci                      "loc": {
63183af6ab5fSopenharmony_ci                        "start": {
63193af6ab5fSopenharmony_ci                          "line": 69,
63203af6ab5fSopenharmony_ci                          "column": 16
63213af6ab5fSopenharmony_ci                        },
63223af6ab5fSopenharmony_ci                        "end": {
63233af6ab5fSopenharmony_ci                          "line": 69,
63243af6ab5fSopenharmony_ci                          "column": 22
63253af6ab5fSopenharmony_ci                        }
63263af6ab5fSopenharmony_ci                      }
63273af6ab5fSopenharmony_ci                    },
63283af6ab5fSopenharmony_ci                    {
63293af6ab5fSopenharmony_ci                      "type": "TSNumberKeyword",
63303af6ab5fSopenharmony_ci                      "loc": {
63313af6ab5fSopenharmony_ci                        "start": {
63323af6ab5fSopenharmony_ci                          "line": 69,
63333af6ab5fSopenharmony_ci                          "column": 24
63343af6ab5fSopenharmony_ci                        },
63353af6ab5fSopenharmony_ci                        "end": {
63363af6ab5fSopenharmony_ci                          "line": 69,
63373af6ab5fSopenharmony_ci                          "column": 30
63383af6ab5fSopenharmony_ci                        }
63393af6ab5fSopenharmony_ci                      }
63403af6ab5fSopenharmony_ci                    },
63413af6ab5fSopenharmony_ci                    {
63423af6ab5fSopenharmony_ci                      "type": "TSStringKeyword",
63433af6ab5fSopenharmony_ci                      "loc": {
63443af6ab5fSopenharmony_ci                        "start": {
63453af6ab5fSopenharmony_ci                          "line": 69,
63463af6ab5fSopenharmony_ci                          "column": 32
63473af6ab5fSopenharmony_ci                        },
63483af6ab5fSopenharmony_ci                        "end": {
63493af6ab5fSopenharmony_ci                          "line": 69,
63503af6ab5fSopenharmony_ci                          "column": 38
63513af6ab5fSopenharmony_ci                        }
63523af6ab5fSopenharmony_ci                      }
63533af6ab5fSopenharmony_ci                    }
63543af6ab5fSopenharmony_ci                  ],
63553af6ab5fSopenharmony_ci                  "loc": {
63563af6ab5fSopenharmony_ci                    "start": {
63573af6ab5fSopenharmony_ci                      "line": 69,
63583af6ab5fSopenharmony_ci                      "column": 15
63593af6ab5fSopenharmony_ci                    },
63603af6ab5fSopenharmony_ci                    "end": {
63613af6ab5fSopenharmony_ci                      "line": 69,
63623af6ab5fSopenharmony_ci                      "column": 39
63633af6ab5fSopenharmony_ci                    }
63643af6ab5fSopenharmony_ci                  }
63653af6ab5fSopenharmony_ci                },
63663af6ab5fSopenharmony_ci                {
63673af6ab5fSopenharmony_ci                  "type": "TSArrayType",
63683af6ab5fSopenharmony_ci                  "elementType": {
63693af6ab5fSopenharmony_ci                    "type": "TSAnyKeyword",
63703af6ab5fSopenharmony_ci                    "loc": {
63713af6ab5fSopenharmony_ci                      "start": {
63723af6ab5fSopenharmony_ci                        "line": 69,
63733af6ab5fSopenharmony_ci                        "column": 42
63743af6ab5fSopenharmony_ci                      },
63753af6ab5fSopenharmony_ci                      "end": {
63763af6ab5fSopenharmony_ci                        "line": 69,
63773af6ab5fSopenharmony_ci                        "column": 45
63783af6ab5fSopenharmony_ci                      }
63793af6ab5fSopenharmony_ci                    }
63803af6ab5fSopenharmony_ci                  },
63813af6ab5fSopenharmony_ci                  "loc": {
63823af6ab5fSopenharmony_ci                    "start": {
63833af6ab5fSopenharmony_ci                      "line": 69,
63843af6ab5fSopenharmony_ci                      "column": 42
63853af6ab5fSopenharmony_ci                    },
63863af6ab5fSopenharmony_ci                    "end": {
63873af6ab5fSopenharmony_ci                      "line": 69,
63883af6ab5fSopenharmony_ci                      "column": 47
63893af6ab5fSopenharmony_ci                    }
63903af6ab5fSopenharmony_ci                  }
63913af6ab5fSopenharmony_ci                }
63923af6ab5fSopenharmony_ci              ],
63933af6ab5fSopenharmony_ci              "loc": {
63943af6ab5fSopenharmony_ci                "start": {
63953af6ab5fSopenharmony_ci                  "line": 69,
63963af6ab5fSopenharmony_ci                  "column": 15
63973af6ab5fSopenharmony_ci                },
63983af6ab5fSopenharmony_ci                "end": {
63993af6ab5fSopenharmony_ci                  "line": 69,
64003af6ab5fSopenharmony_ci                  "column": 47
64013af6ab5fSopenharmony_ci                }
64023af6ab5fSopenharmony_ci              }
64033af6ab5fSopenharmony_ci            },
64043af6ab5fSopenharmony_ci            "in": false,
64053af6ab5fSopenharmony_ci            "out": false,
64063af6ab5fSopenharmony_ci            "loc": {
64073af6ab5fSopenharmony_ci              "start": {
64083af6ab5fSopenharmony_ci                "line": 69,
64093af6ab5fSopenharmony_ci                "column": 11
64103af6ab5fSopenharmony_ci              },
64113af6ab5fSopenharmony_ci              "end": {
64123af6ab5fSopenharmony_ci                "line": 69,
64133af6ab5fSopenharmony_ci                "column": 48
64143af6ab5fSopenharmony_ci              }
64153af6ab5fSopenharmony_ci            }
64163af6ab5fSopenharmony_ci          }
64173af6ab5fSopenharmony_ci        ],
64183af6ab5fSopenharmony_ci        "loc": {
64193af6ab5fSopenharmony_ci          "start": {
64203af6ab5fSopenharmony_ci            "line": 69,
64213af6ab5fSopenharmony_ci            "column": 7
64223af6ab5fSopenharmony_ci          },
64233af6ab5fSopenharmony_ci          "end": {
64243af6ab5fSopenharmony_ci            "line": 69,
64253af6ab5fSopenharmony_ci            "column": 48
64263af6ab5fSopenharmony_ci          }
64273af6ab5fSopenharmony_ci        }
64283af6ab5fSopenharmony_ci      },
64293af6ab5fSopenharmony_ci      "loc": {
64303af6ab5fSopenharmony_ci        "start": {
64313af6ab5fSopenharmony_ci          "line": 69,
64323af6ab5fSopenharmony_ci          "column": 1
64333af6ab5fSopenharmony_ci        },
64343af6ab5fSopenharmony_ci        "end": {
64353af6ab5fSopenharmony_ci          "line": 69,
64363af6ab5fSopenharmony_ci          "column": 62
64373af6ab5fSopenharmony_ci        }
64383af6ab5fSopenharmony_ci      }
64393af6ab5fSopenharmony_ci    },
64403af6ab5fSopenharmony_ci    {
64413af6ab5fSopenharmony_ci      "type": "ExpressionStatement",
64423af6ab5fSopenharmony_ci      "expression": {
64433af6ab5fSopenharmony_ci        "type": "CallExpression",
64443af6ab5fSopenharmony_ci        "callee": {
64453af6ab5fSopenharmony_ci          "type": "Identifier",
64463af6ab5fSopenharmony_ci          "name": "async",
64473af6ab5fSopenharmony_ci          "loc": {
64483af6ab5fSopenharmony_ci            "start": {
64493af6ab5fSopenharmony_ci              "line": 71,
64503af6ab5fSopenharmony_ci              "column": 1
64513af6ab5fSopenharmony_ci            },
64523af6ab5fSopenharmony_ci            "end": {
64533af6ab5fSopenharmony_ci              "line": 71,
64543af6ab5fSopenharmony_ci              "column": 6
64553af6ab5fSopenharmony_ci            }
64563af6ab5fSopenharmony_ci          }
64573af6ab5fSopenharmony_ci        },
64583af6ab5fSopenharmony_ci        "arguments": [],
64593af6ab5fSopenharmony_ci        "optional": false,
64603af6ab5fSopenharmony_ci        "typeParameters": {
64613af6ab5fSopenharmony_ci          "type": "TSTypeParameterInstantiation",
64623af6ab5fSopenharmony_ci          "params": [
64633af6ab5fSopenharmony_ci            {
64643af6ab5fSopenharmony_ci              "type": "TSFunctionType",
64653af6ab5fSopenharmony_ci              "params": [],
64663af6ab5fSopenharmony_ci              "typeParameters": {
64673af6ab5fSopenharmony_ci                "type": "TSTypeParameterDeclaration",
64683af6ab5fSopenharmony_ci                "params": [
64693af6ab5fSopenharmony_ci                  {
64703af6ab5fSopenharmony_ci                    "type": "TSTypeParameter",
64713af6ab5fSopenharmony_ci                    "name": {
64723af6ab5fSopenharmony_ci                      "type": "Identifier",
64733af6ab5fSopenharmony_ci                      "name": "A",
64743af6ab5fSopenharmony_ci                      "loc": {
64753af6ab5fSopenharmony_ci                        "start": {
64763af6ab5fSopenharmony_ci                          "line": 71,
64773af6ab5fSopenharmony_ci                          "column": 8
64783af6ab5fSopenharmony_ci                        },
64793af6ab5fSopenharmony_ci                        "end": {
64803af6ab5fSopenharmony_ci                          "line": 71,
64813af6ab5fSopenharmony_ci                          "column": 9
64823af6ab5fSopenharmony_ci                        }
64833af6ab5fSopenharmony_ci                      }
64843af6ab5fSopenharmony_ci                    },
64853af6ab5fSopenharmony_ci                    "in": false,
64863af6ab5fSopenharmony_ci                    "out": false,
64873af6ab5fSopenharmony_ci                    "loc": {
64883af6ab5fSopenharmony_ci                      "start": {
64893af6ab5fSopenharmony_ci                        "line": 71,
64903af6ab5fSopenharmony_ci                        "column": 8
64913af6ab5fSopenharmony_ci                      },
64923af6ab5fSopenharmony_ci                      "end": {
64933af6ab5fSopenharmony_ci                        "line": 71,
64943af6ab5fSopenharmony_ci                        "column": 10
64953af6ab5fSopenharmony_ci                      }
64963af6ab5fSopenharmony_ci                    }
64973af6ab5fSopenharmony_ci                  }
64983af6ab5fSopenharmony_ci                ],
64993af6ab5fSopenharmony_ci                "loc": {
65003af6ab5fSopenharmony_ci                  "start": {
65013af6ab5fSopenharmony_ci                    "line": 71,
65023af6ab5fSopenharmony_ci                    "column": 7
65033af6ab5fSopenharmony_ci                  },
65043af6ab5fSopenharmony_ci                  "end": {
65053af6ab5fSopenharmony_ci                    "line": 71,
65063af6ab5fSopenharmony_ci                    "column": 10
65073af6ab5fSopenharmony_ci                  }
65083af6ab5fSopenharmony_ci                }
65093af6ab5fSopenharmony_ci              },
65103af6ab5fSopenharmony_ci              "returnType": {
65113af6ab5fSopenharmony_ci                "type": "TSTypeLiteral",
65123af6ab5fSopenharmony_ci                "members": [],
65133af6ab5fSopenharmony_ci                "loc": {
65143af6ab5fSopenharmony_ci                  "start": {
65153af6ab5fSopenharmony_ci                    "line": 71,
65163af6ab5fSopenharmony_ci                    "column": 16
65173af6ab5fSopenharmony_ci                  },
65183af6ab5fSopenharmony_ci                  "end": {
65193af6ab5fSopenharmony_ci                    "line": 71,
65203af6ab5fSopenharmony_ci                    "column": 18
65213af6ab5fSopenharmony_ci                  }
65223af6ab5fSopenharmony_ci                }
65233af6ab5fSopenharmony_ci              },
65243af6ab5fSopenharmony_ci              "loc": {
65253af6ab5fSopenharmony_ci                "start": {
65263af6ab5fSopenharmony_ci                  "line": 71,
65273af6ab5fSopenharmony_ci                  "column": 7
65283af6ab5fSopenharmony_ci                },
65293af6ab5fSopenharmony_ci                "end": {
65303af6ab5fSopenharmony_ci                  "line": 71,
65313af6ab5fSopenharmony_ci                  "column": 18
65323af6ab5fSopenharmony_ci                }
65333af6ab5fSopenharmony_ci              }
65343af6ab5fSopenharmony_ci            }
65353af6ab5fSopenharmony_ci          ],
65363af6ab5fSopenharmony_ci          "loc": {
65373af6ab5fSopenharmony_ci            "start": {
65383af6ab5fSopenharmony_ci              "line": 71,
65393af6ab5fSopenharmony_ci              "column": 6
65403af6ab5fSopenharmony_ci            },
65413af6ab5fSopenharmony_ci            "end": {
65423af6ab5fSopenharmony_ci              "line": 71,
65433af6ab5fSopenharmony_ci              "column": 19
65443af6ab5fSopenharmony_ci            }
65453af6ab5fSopenharmony_ci          }
65463af6ab5fSopenharmony_ci        },
65473af6ab5fSopenharmony_ci        "loc": {
65483af6ab5fSopenharmony_ci          "start": {
65493af6ab5fSopenharmony_ci            "line": 71,
65503af6ab5fSopenharmony_ci            "column": 1
65513af6ab5fSopenharmony_ci          },
65523af6ab5fSopenharmony_ci          "end": {
65533af6ab5fSopenharmony_ci            "line": 71,
65543af6ab5fSopenharmony_ci            "column": 21
65553af6ab5fSopenharmony_ci          }
65563af6ab5fSopenharmony_ci        }
65573af6ab5fSopenharmony_ci      },
65583af6ab5fSopenharmony_ci      "loc": {
65593af6ab5fSopenharmony_ci        "start": {
65603af6ab5fSopenharmony_ci          "line": 71,
65613af6ab5fSopenharmony_ci          "column": 1
65623af6ab5fSopenharmony_ci        },
65633af6ab5fSopenharmony_ci        "end": {
65643af6ab5fSopenharmony_ci          "line": 71,
65653af6ab5fSopenharmony_ci          "column": 22
65663af6ab5fSopenharmony_ci        }
65673af6ab5fSopenharmony_ci      }
65683af6ab5fSopenharmony_ci    },
65693af6ab5fSopenharmony_ci    {
65703af6ab5fSopenharmony_ci      "type": "ExpressionStatement",
65713af6ab5fSopenharmony_ci      "expression": {
65723af6ab5fSopenharmony_ci        "type": "CallExpression",
65733af6ab5fSopenharmony_ci        "callee": {
65743af6ab5fSopenharmony_ci          "type": "Identifier",
65753af6ab5fSopenharmony_ci          "name": "async",
65763af6ab5fSopenharmony_ci          "loc": {
65773af6ab5fSopenharmony_ci            "start": {
65783af6ab5fSopenharmony_ci              "line": 72,
65793af6ab5fSopenharmony_ci              "column": 1
65803af6ab5fSopenharmony_ci            },
65813af6ab5fSopenharmony_ci            "end": {
65823af6ab5fSopenharmony_ci              "line": 72,
65833af6ab5fSopenharmony_ci              "column": 6
65843af6ab5fSopenharmony_ci            }
65853af6ab5fSopenharmony_ci          }
65863af6ab5fSopenharmony_ci        },
65873af6ab5fSopenharmony_ci        "arguments": [],
65883af6ab5fSopenharmony_ci        "optional": false,
65893af6ab5fSopenharmony_ci        "typeParameters": {
65903af6ab5fSopenharmony_ci          "type": "TSTypeParameterInstantiation",
65913af6ab5fSopenharmony_ci          "params": [
65923af6ab5fSopenharmony_ci            {
65933af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
65943af6ab5fSopenharmony_ci              "loc": {
65953af6ab5fSopenharmony_ci                "start": {
65963af6ab5fSopenharmony_ci                  "line": 72,
65973af6ab5fSopenharmony_ci                  "column": 7
65983af6ab5fSopenharmony_ci                },
65993af6ab5fSopenharmony_ci                "end": {
66003af6ab5fSopenharmony_ci                  "line": 72,
66013af6ab5fSopenharmony_ci                  "column": 13
66023af6ab5fSopenharmony_ci                }
66033af6ab5fSopenharmony_ci              }
66043af6ab5fSopenharmony_ci            }
66053af6ab5fSopenharmony_ci          ],
66063af6ab5fSopenharmony_ci          "loc": {
66073af6ab5fSopenharmony_ci            "start": {
66083af6ab5fSopenharmony_ci              "line": 72,
66093af6ab5fSopenharmony_ci              "column": 6
66103af6ab5fSopenharmony_ci            },
66113af6ab5fSopenharmony_ci            "end": {
66123af6ab5fSopenharmony_ci              "line": 72,
66133af6ab5fSopenharmony_ci              "column": 14
66143af6ab5fSopenharmony_ci            }
66153af6ab5fSopenharmony_ci          }
66163af6ab5fSopenharmony_ci        },
66173af6ab5fSopenharmony_ci        "loc": {
66183af6ab5fSopenharmony_ci          "start": {
66193af6ab5fSopenharmony_ci            "line": 72,
66203af6ab5fSopenharmony_ci            "column": 1
66213af6ab5fSopenharmony_ci          },
66223af6ab5fSopenharmony_ci          "end": {
66233af6ab5fSopenharmony_ci            "line": 72,
66243af6ab5fSopenharmony_ci            "column": 16
66253af6ab5fSopenharmony_ci          }
66263af6ab5fSopenharmony_ci        }
66273af6ab5fSopenharmony_ci      },
66283af6ab5fSopenharmony_ci      "loc": {
66293af6ab5fSopenharmony_ci        "start": {
66303af6ab5fSopenharmony_ci          "line": 72,
66313af6ab5fSopenharmony_ci          "column": 1
66323af6ab5fSopenharmony_ci        },
66333af6ab5fSopenharmony_ci        "end": {
66343af6ab5fSopenharmony_ci          "line": 72,
66353af6ab5fSopenharmony_ci          "column": 17
66363af6ab5fSopenharmony_ci        }
66373af6ab5fSopenharmony_ci      }
66383af6ab5fSopenharmony_ci    },
66393af6ab5fSopenharmony_ci    {
66403af6ab5fSopenharmony_ci      "type": "ExpressionStatement",
66413af6ab5fSopenharmony_ci      "expression": {
66423af6ab5fSopenharmony_ci        "type": "ArrowFunctionExpression",
66433af6ab5fSopenharmony_ci        "function": {
66443af6ab5fSopenharmony_ci          "type": "ScriptFunction",
66453af6ab5fSopenharmony_ci          "id": null,
66463af6ab5fSopenharmony_ci          "generator": false,
66473af6ab5fSopenharmony_ci          "async": false,
66483af6ab5fSopenharmony_ci          "expression": true,
66493af6ab5fSopenharmony_ci          "params": [],
66503af6ab5fSopenharmony_ci          "returnType": {
66513af6ab5fSopenharmony_ci            "type": "TSNumberKeyword",
66523af6ab5fSopenharmony_ci            "loc": {
66533af6ab5fSopenharmony_ci              "start": {
66543af6ab5fSopenharmony_ci                "line": 73,
66553af6ab5fSopenharmony_ci                "column": 17
66563af6ab5fSopenharmony_ci              },
66573af6ab5fSopenharmony_ci              "end": {
66583af6ab5fSopenharmony_ci                "line": 73,
66593af6ab5fSopenharmony_ci                "column": 23
66603af6ab5fSopenharmony_ci              }
66613af6ab5fSopenharmony_ci            }
66623af6ab5fSopenharmony_ci          },
66633af6ab5fSopenharmony_ci          "typeParameters": {
66643af6ab5fSopenharmony_ci            "type": "TSTypeParameterDeclaration",
66653af6ab5fSopenharmony_ci            "params": [
66663af6ab5fSopenharmony_ci              {
66673af6ab5fSopenharmony_ci                "type": "TSTypeParameter",
66683af6ab5fSopenharmony_ci                "name": {
66693af6ab5fSopenharmony_ci                  "type": "Identifier",
66703af6ab5fSopenharmony_ci                  "name": "A",
66713af6ab5fSopenharmony_ci                  "loc": {
66723af6ab5fSopenharmony_ci                    "start": {
66733af6ab5fSopenharmony_ci                      "line": 73,
66743af6ab5fSopenharmony_ci                      "column": 2
66753af6ab5fSopenharmony_ci                    },
66763af6ab5fSopenharmony_ci                    "end": {
66773af6ab5fSopenharmony_ci                      "line": 73,
66783af6ab5fSopenharmony_ci                      "column": 3
66793af6ab5fSopenharmony_ci                    }
66803af6ab5fSopenharmony_ci                  }
66813af6ab5fSopenharmony_ci                },
66823af6ab5fSopenharmony_ci                "constraint": {
66833af6ab5fSopenharmony_ci                  "type": "TSTypeReference",
66843af6ab5fSopenharmony_ci                  "typeName": {
66853af6ab5fSopenharmony_ci                    "type": "Identifier",
66863af6ab5fSopenharmony_ci                    "name": "B",
66873af6ab5fSopenharmony_ci                    "loc": {
66883af6ab5fSopenharmony_ci                      "start": {
66893af6ab5fSopenharmony_ci                        "line": 73,
66903af6ab5fSopenharmony_ci                        "column": 12
66913af6ab5fSopenharmony_ci                      },
66923af6ab5fSopenharmony_ci                      "end": {
66933af6ab5fSopenharmony_ci                        "line": 73,
66943af6ab5fSopenharmony_ci                        "column": 13
66953af6ab5fSopenharmony_ci                      }
66963af6ab5fSopenharmony_ci                    }
66973af6ab5fSopenharmony_ci                  },
66983af6ab5fSopenharmony_ci                  "loc": {
66993af6ab5fSopenharmony_ci                    "start": {
67003af6ab5fSopenharmony_ci                      "line": 73,
67013af6ab5fSopenharmony_ci                      "column": 12
67023af6ab5fSopenharmony_ci                    },
67033af6ab5fSopenharmony_ci                    "end": {
67043af6ab5fSopenharmony_ci                      "line": 73,
67053af6ab5fSopenharmony_ci                      "column": 13
67063af6ab5fSopenharmony_ci                    }
67073af6ab5fSopenharmony_ci                  }
67083af6ab5fSopenharmony_ci                },
67093af6ab5fSopenharmony_ci                "in": false,
67103af6ab5fSopenharmony_ci                "out": false,
67113af6ab5fSopenharmony_ci                "loc": {
67123af6ab5fSopenharmony_ci                  "start": {
67133af6ab5fSopenharmony_ci                    "line": 73,
67143af6ab5fSopenharmony_ci                    "column": 2
67153af6ab5fSopenharmony_ci                  },
67163af6ab5fSopenharmony_ci                  "end": {
67173af6ab5fSopenharmony_ci                    "line": 73,
67183af6ab5fSopenharmony_ci                    "column": 14
67193af6ab5fSopenharmony_ci                  }
67203af6ab5fSopenharmony_ci                }
67213af6ab5fSopenharmony_ci              }
67223af6ab5fSopenharmony_ci            ],
67233af6ab5fSopenharmony_ci            "loc": {
67243af6ab5fSopenharmony_ci              "start": {
67253af6ab5fSopenharmony_ci                "line": 73,
67263af6ab5fSopenharmony_ci                "column": 1
67273af6ab5fSopenharmony_ci              },
67283af6ab5fSopenharmony_ci              "end": {
67293af6ab5fSopenharmony_ci                "line": 73,
67303af6ab5fSopenharmony_ci                "column": 14
67313af6ab5fSopenharmony_ci              }
67323af6ab5fSopenharmony_ci            }
67333af6ab5fSopenharmony_ci          },
67343af6ab5fSopenharmony_ci          "body": {
67353af6ab5fSopenharmony_ci            "type": "BooleanLiteral",
67363af6ab5fSopenharmony_ci            "value": true,
67373af6ab5fSopenharmony_ci            "loc": {
67383af6ab5fSopenharmony_ci              "start": {
67393af6ab5fSopenharmony_ci                "line": 73,
67403af6ab5fSopenharmony_ci                "column": 27
67413af6ab5fSopenharmony_ci              },
67423af6ab5fSopenharmony_ci              "end": {
67433af6ab5fSopenharmony_ci                "line": 73,
67443af6ab5fSopenharmony_ci                "column": 31
67453af6ab5fSopenharmony_ci              }
67463af6ab5fSopenharmony_ci            }
67473af6ab5fSopenharmony_ci          },
67483af6ab5fSopenharmony_ci          "loc": {
67493af6ab5fSopenharmony_ci            "start": {
67503af6ab5fSopenharmony_ci              "line": 73,
67513af6ab5fSopenharmony_ci              "column": 1
67523af6ab5fSopenharmony_ci            },
67533af6ab5fSopenharmony_ci            "end": {
67543af6ab5fSopenharmony_ci              "line": 73,
67553af6ab5fSopenharmony_ci              "column": 31
67563af6ab5fSopenharmony_ci            }
67573af6ab5fSopenharmony_ci          }
67583af6ab5fSopenharmony_ci        },
67593af6ab5fSopenharmony_ci        "loc": {
67603af6ab5fSopenharmony_ci          "start": {
67613af6ab5fSopenharmony_ci            "line": 73,
67623af6ab5fSopenharmony_ci            "column": 1
67633af6ab5fSopenharmony_ci          },
67643af6ab5fSopenharmony_ci          "end": {
67653af6ab5fSopenharmony_ci            "line": 73,
67663af6ab5fSopenharmony_ci            "column": 31
67673af6ab5fSopenharmony_ci          }
67683af6ab5fSopenharmony_ci        }
67693af6ab5fSopenharmony_ci      },
67703af6ab5fSopenharmony_ci      "loc": {
67713af6ab5fSopenharmony_ci        "start": {
67723af6ab5fSopenharmony_ci          "line": 73,
67733af6ab5fSopenharmony_ci          "column": 1
67743af6ab5fSopenharmony_ci        },
67753af6ab5fSopenharmony_ci        "end": {
67763af6ab5fSopenharmony_ci          "line": 73,
67773af6ab5fSopenharmony_ci          "column": 32
67783af6ab5fSopenharmony_ci        }
67793af6ab5fSopenharmony_ci      }
67803af6ab5fSopenharmony_ci    },
67813af6ab5fSopenharmony_ci    {
67823af6ab5fSopenharmony_ci      "type": "ExpressionStatement",
67833af6ab5fSopenharmony_ci      "expression": {
67843af6ab5fSopenharmony_ci        "type": "ArrowFunctionExpression",
67853af6ab5fSopenharmony_ci        "function": {
67863af6ab5fSopenharmony_ci          "type": "ScriptFunction",
67873af6ab5fSopenharmony_ci          "id": null,
67883af6ab5fSopenharmony_ci          "generator": false,
67893af6ab5fSopenharmony_ci          "async": true,
67903af6ab5fSopenharmony_ci          "expression": false,
67913af6ab5fSopenharmony_ci          "params": [],
67923af6ab5fSopenharmony_ci          "typeParameters": {
67933af6ab5fSopenharmony_ci            "type": "TSTypeParameterDeclaration",
67943af6ab5fSopenharmony_ci            "params": [
67953af6ab5fSopenharmony_ci              {
67963af6ab5fSopenharmony_ci                "type": "TSTypeParameter",
67973af6ab5fSopenharmony_ci                "name": {
67983af6ab5fSopenharmony_ci                  "type": "Identifier",
67993af6ab5fSopenharmony_ci                  "name": "A",
68003af6ab5fSopenharmony_ci                  "loc": {
68013af6ab5fSopenharmony_ci                    "start": {
68023af6ab5fSopenharmony_ci                      "line": 74,
68033af6ab5fSopenharmony_ci                      "column": 7
68043af6ab5fSopenharmony_ci                    },
68053af6ab5fSopenharmony_ci                    "end": {
68063af6ab5fSopenharmony_ci                      "line": 74,
68073af6ab5fSopenharmony_ci                      "column": 8
68083af6ab5fSopenharmony_ci                    }
68093af6ab5fSopenharmony_ci                  }
68103af6ab5fSopenharmony_ci                },
68113af6ab5fSopenharmony_ci                "constraint": {
68123af6ab5fSopenharmony_ci                  "type": "TSTypeOperator",
68133af6ab5fSopenharmony_ci                  "operator": "readonly",
68143af6ab5fSopenharmony_ci                  "typeAnnotation": {
68153af6ab5fSopenharmony_ci                    "type": "TSTupleType",
68163af6ab5fSopenharmony_ci                    "elementTypes": [
68173af6ab5fSopenharmony_ci                      {
68183af6ab5fSopenharmony_ci                        "type": "TSNumberKeyword",
68193af6ab5fSopenharmony_ci                        "loc": {
68203af6ab5fSopenharmony_ci                          "start": {
68213af6ab5fSopenharmony_ci                            "line": 74,
68223af6ab5fSopenharmony_ci                            "column": 27
68233af6ab5fSopenharmony_ci                          },
68243af6ab5fSopenharmony_ci                          "end": {
68253af6ab5fSopenharmony_ci                            "line": 74,
68263af6ab5fSopenharmony_ci                            "column": 33
68273af6ab5fSopenharmony_ci                          }
68283af6ab5fSopenharmony_ci                        }
68293af6ab5fSopenharmony_ci                      },
68303af6ab5fSopenharmony_ci                      {
68313af6ab5fSopenharmony_ci                        "type": "TSStringKeyword",
68323af6ab5fSopenharmony_ci                        "loc": {
68333af6ab5fSopenharmony_ci                          "start": {
68343af6ab5fSopenharmony_ci                            "line": 74,
68353af6ab5fSopenharmony_ci                            "column": 35
68363af6ab5fSopenharmony_ci                          },
68373af6ab5fSopenharmony_ci                          "end": {
68383af6ab5fSopenharmony_ci                            "line": 74,
68393af6ab5fSopenharmony_ci                            "column": 41
68403af6ab5fSopenharmony_ci                          }
68413af6ab5fSopenharmony_ci                        }
68423af6ab5fSopenharmony_ci                      }
68433af6ab5fSopenharmony_ci                    ],
68443af6ab5fSopenharmony_ci                    "loc": {
68453af6ab5fSopenharmony_ci                      "start": {
68463af6ab5fSopenharmony_ci                        "line": 74,
68473af6ab5fSopenharmony_ci                        "column": 26
68483af6ab5fSopenharmony_ci                      },
68493af6ab5fSopenharmony_ci                      "end": {
68503af6ab5fSopenharmony_ci                        "line": 74,
68513af6ab5fSopenharmony_ci                        "column": 42
68523af6ab5fSopenharmony_ci                      }
68533af6ab5fSopenharmony_ci                    }
68543af6ab5fSopenharmony_ci                  },
68553af6ab5fSopenharmony_ci                  "loc": {
68563af6ab5fSopenharmony_ci                    "start": {
68573af6ab5fSopenharmony_ci                      "line": 74,
68583af6ab5fSopenharmony_ci                      "column": 17
68593af6ab5fSopenharmony_ci                    },
68603af6ab5fSopenharmony_ci                    "end": {
68613af6ab5fSopenharmony_ci                      "line": 74,
68623af6ab5fSopenharmony_ci                      "column": 42
68633af6ab5fSopenharmony_ci                    }
68643af6ab5fSopenharmony_ci                  }
68653af6ab5fSopenharmony_ci                },
68663af6ab5fSopenharmony_ci                "in": false,
68673af6ab5fSopenharmony_ci                "out": false,
68683af6ab5fSopenharmony_ci                "loc": {
68693af6ab5fSopenharmony_ci                  "start": {
68703af6ab5fSopenharmony_ci                    "line": 74,
68713af6ab5fSopenharmony_ci                    "column": 7
68723af6ab5fSopenharmony_ci                  },
68733af6ab5fSopenharmony_ci                  "end": {
68743af6ab5fSopenharmony_ci                    "line": 74,
68753af6ab5fSopenharmony_ci                    "column": 43
68763af6ab5fSopenharmony_ci                  }
68773af6ab5fSopenharmony_ci                }
68783af6ab5fSopenharmony_ci              }
68793af6ab5fSopenharmony_ci            ],
68803af6ab5fSopenharmony_ci            "loc": {
68813af6ab5fSopenharmony_ci              "start": {
68823af6ab5fSopenharmony_ci                "line": 74,
68833af6ab5fSopenharmony_ci                "column": 6
68843af6ab5fSopenharmony_ci              },
68853af6ab5fSopenharmony_ci              "end": {
68863af6ab5fSopenharmony_ci                "line": 74,
68873af6ab5fSopenharmony_ci                "column": 43
68883af6ab5fSopenharmony_ci              }
68893af6ab5fSopenharmony_ci            }
68903af6ab5fSopenharmony_ci          },
68913af6ab5fSopenharmony_ci          "body": {
68923af6ab5fSopenharmony_ci            "type": "BlockStatement",
68933af6ab5fSopenharmony_ci            "statements": [
68943af6ab5fSopenharmony_ci              {
68953af6ab5fSopenharmony_ci                "type": "ReturnStatement",
68963af6ab5fSopenharmony_ci                "argument": {
68973af6ab5fSopenharmony_ci                  "type": "StringLiteral",
68983af6ab5fSopenharmony_ci                  "value": "foo",
68993af6ab5fSopenharmony_ci                  "loc": {
69003af6ab5fSopenharmony_ci                    "start": {
69013af6ab5fSopenharmony_ci                      "line": 74,
69023af6ab5fSopenharmony_ci                      "column": 57
69033af6ab5fSopenharmony_ci                    },
69043af6ab5fSopenharmony_ci                    "end": {
69053af6ab5fSopenharmony_ci                      "line": 74,
69063af6ab5fSopenharmony_ci                      "column": 62
69073af6ab5fSopenharmony_ci                    }
69083af6ab5fSopenharmony_ci                  }
69093af6ab5fSopenharmony_ci                },
69103af6ab5fSopenharmony_ci                "loc": {
69113af6ab5fSopenharmony_ci                  "start": {
69123af6ab5fSopenharmony_ci                    "line": 74,
69133af6ab5fSopenharmony_ci                    "column": 50
69143af6ab5fSopenharmony_ci                  },
69153af6ab5fSopenharmony_ci                  "end": {
69163af6ab5fSopenharmony_ci                    "line": 74,
69173af6ab5fSopenharmony_ci                    "column": 63
69183af6ab5fSopenharmony_ci                  }
69193af6ab5fSopenharmony_ci                }
69203af6ab5fSopenharmony_ci              }
69213af6ab5fSopenharmony_ci            ],
69223af6ab5fSopenharmony_ci            "loc": {
69233af6ab5fSopenharmony_ci              "start": {
69243af6ab5fSopenharmony_ci                "line": 74,
69253af6ab5fSopenharmony_ci                "column": 49
69263af6ab5fSopenharmony_ci              },
69273af6ab5fSopenharmony_ci              "end": {
69283af6ab5fSopenharmony_ci                "line": 74,
69293af6ab5fSopenharmony_ci                "column": 64
69303af6ab5fSopenharmony_ci              }
69313af6ab5fSopenharmony_ci            }
69323af6ab5fSopenharmony_ci          },
69333af6ab5fSopenharmony_ci          "loc": {
69343af6ab5fSopenharmony_ci            "start": {
69353af6ab5fSopenharmony_ci              "line": 74,
69363af6ab5fSopenharmony_ci              "column": 1
69373af6ab5fSopenharmony_ci            },
69383af6ab5fSopenharmony_ci            "end": {
69393af6ab5fSopenharmony_ci              "line": 74,
69403af6ab5fSopenharmony_ci              "column": 64
69413af6ab5fSopenharmony_ci            }
69423af6ab5fSopenharmony_ci          }
69433af6ab5fSopenharmony_ci        },
69443af6ab5fSopenharmony_ci        "loc": {
69453af6ab5fSopenharmony_ci          "start": {
69463af6ab5fSopenharmony_ci            "line": 74,
69473af6ab5fSopenharmony_ci            "column": 1
69483af6ab5fSopenharmony_ci          },
69493af6ab5fSopenharmony_ci          "end": {
69503af6ab5fSopenharmony_ci            "line": 74,
69513af6ab5fSopenharmony_ci            "column": 64
69523af6ab5fSopenharmony_ci          }
69533af6ab5fSopenharmony_ci        }
69543af6ab5fSopenharmony_ci      },
69553af6ab5fSopenharmony_ci      "loc": {
69563af6ab5fSopenharmony_ci        "start": {
69573af6ab5fSopenharmony_ci          "line": 74,
69583af6ab5fSopenharmony_ci          "column": 1
69593af6ab5fSopenharmony_ci        },
69603af6ab5fSopenharmony_ci        "end": {
69613af6ab5fSopenharmony_ci          "line": 74,
69623af6ab5fSopenharmony_ci          "column": 65
69633af6ab5fSopenharmony_ci        }
69643af6ab5fSopenharmony_ci      }
69653af6ab5fSopenharmony_ci    }
69663af6ab5fSopenharmony_ci  ],
69673af6ab5fSopenharmony_ci  "loc": {
69683af6ab5fSopenharmony_ci    "start": {
69693af6ab5fSopenharmony_ci      "line": 1,
69703af6ab5fSopenharmony_ci      "column": 1
69713af6ab5fSopenharmony_ci    },
69723af6ab5fSopenharmony_ci    "end": {
69733af6ab5fSopenharmony_ci      "line": 74,
69743af6ab5fSopenharmony_ci      "column": 65
69753af6ab5fSopenharmony_ci    }
69763af6ab5fSopenharmony_ci  }
69773af6ab5fSopenharmony_ci}
6978