1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSTypeAliasDeclaration",
6      "id": {
7        "type": "Identifier",
8        "name": "P",
9        "decorators": [],
10        "loc": {
11          "start": {
12            "line": 20,
13            "column": 6
14          },
15          "end": {
16            "line": 20,
17            "column": 7
18          }
19        }
20      },
21      "typeAnnotation": {
22        "type": "ETSUnionType",
23        "types": [
24          {
25            "type": "ETSTypeReference",
26            "part": {
27              "type": "ETSTypeReferencePart",
28              "name": {
29                "type": "Identifier",
30                "name": "Promise",
31                "decorators": [],
32                "loc": {
33                  "start": {
34                    "line": 20,
35                    "column": 10
36                  },
37                  "end": {
38                    "line": 20,
39                    "column": 17
40                  }
41                }
42              },
43              "typeParams": {
44                "type": "TSTypeParameterInstantiation",
45                "params": [
46                  {
47                    "type": "ETSTypeReference",
48                    "part": {
49                      "type": "ETSTypeReferencePart",
50                      "name": {
51                        "type": "Identifier",
52                        "name": "Int",
53                        "decorators": [],
54                        "loc": {
55                          "start": {
56                            "line": 20,
57                            "column": 18
58                          },
59                          "end": {
60                            "line": 20,
61                            "column": 21
62                          }
63                        }
64                      },
65                      "loc": {
66                        "start": {
67                          "line": 20,
68                          "column": 18
69                        },
70                        "end": {
71                          "line": 20,
72                          "column": 22
73                        }
74                      }
75                    },
76                    "loc": {
77                      "start": {
78                        "line": 20,
79                        "column": 18
80                      },
81                      "end": {
82                        "line": 20,
83                        "column": 22
84                      }
85                    }
86                  }
87                ],
88                "loc": {
89                  "start": {
90                    "line": 20,
91                    "column": 17
92                  },
93                  "end": {
94                    "line": 20,
95                    "column": 22
96                  }
97                }
98              },
99              "loc": {
100                "start": {
101                  "line": 20,
102                  "column": 10
103                },
104                "end": {
105                  "line": 20,
106                  "column": 24
107                }
108              }
109            },
110            "loc": {
111              "start": {
112                "line": 20,
113                "column": 10
114              },
115              "end": {
116                "line": 20,
117                "column": 24
118              }
119            }
120          },
121          {
122            "type": "ETSNullType",
123            "loc": {
124              "start": {
125                "line": 20,
126                "column": 25
127              },
128              "end": {
129                "line": 20,
130                "column": 29
131              }
132            }
133          }
134        ],
135        "loc": {
136          "start": {
137            "line": 20,
138            "column": 10
139          },
140          "end": {
141            "line": 20,
142            "column": 29
143          }
144        }
145      },
146      "loc": {
147        "start": {
148          "line": 20,
149          "column": 1
150        },
151        "end": {
152          "line": 21,
153          "column": 9
154        }
155      }
156    },
157    {
158      "type": "ClassDeclaration",
159      "definition": {
160        "id": {
161          "type": "Identifier",
162          "name": "ETSGLOBAL",
163          "decorators": [],
164          "loc": {
165            "start": {
166              "line": 1,
167              "column": 1
168            },
169            "end": {
170              "line": 1,
171              "column": 1
172            }
173          }
174        },
175        "superClass": null,
176        "implements": [],
177        "body": [
178          {
179            "type": "MethodDefinition",
180            "key": {
181              "type": "Identifier",
182              "name": "_$init$_",
183              "decorators": [],
184              "loc": {
185                "start": {
186                  "line": 1,
187                  "column": 1
188                },
189                "end": {
190                  "line": 1,
191                  "column": 1
192                }
193              }
194            },
195            "kind": "method",
196            "accessibility": "public",
197            "static": true,
198            "optional": false,
199            "computed": false,
200            "value": {
201              "type": "FunctionExpression",
202              "function": {
203                "type": "ScriptFunction",
204                "id": {
205                  "type": "Identifier",
206                  "name": "_$init$_",
207                  "decorators": [],
208                  "loc": {
209                    "start": {
210                      "line": 1,
211                      "column": 1
212                    },
213                    "end": {
214                      "line": 1,
215                      "column": 1
216                    }
217                  }
218                },
219                "generator": false,
220                "async": false,
221                "expression": false,
222                "params": [],
223                "body": {
224                  "type": "BlockStatement",
225                  "statements": [
226                    {
227                      "type": "ExpressionStatement",
228                      "expression": {
229                        "type": "AssignmentExpression",
230                        "operator": "=",
231                        "left": {
232                          "type": "Identifier",
233                          "name": "count",
234                          "decorators": [],
235                          "loc": {
236                            "start": {
237                              "line": 16,
238                              "column": 5
239                            },
240                            "end": {
241                              "line": 16,
242                              "column": 10
243                            }
244                          }
245                        },
246                        "right": {
247                          "type": "NumberLiteral",
248                          "value": 2,
249                          "loc": {
250                            "start": {
251                              "line": 16,
252                              "column": 13
253                            },
254                            "end": {
255                              "line": 16,
256                              "column": 14
257                            }
258                          }
259                        },
260                        "loc": {
261                          "start": {
262                            "line": 16,
263                            "column": 5
264                          },
265                          "end": {
266                            "line": 16,
267                            "column": 14
268                          }
269                        }
270                      },
271                      "loc": {
272                        "start": {
273                          "line": 16,
274                          "column": 5
275                        },
276                        "end": {
277                          "line": 16,
278                          "column": 14
279                        }
280                      }
281                    },
282                    {
283                      "type": "ExpressionStatement",
284                      "expression": {
285                        "type": "AssignmentExpression",
286                        "operator": "=",
287                        "left": {
288                          "type": "Identifier",
289                          "name": "n",
290                          "decorators": [],
291                          "loc": {
292                            "start": {
293                              "line": 17,
294                              "column": 5
295                            },
296                            "end": {
297                              "line": 17,
298                              "column": 6
299                            }
300                          }
301                        },
302                        "right": {
303                          "type": "NumberLiteral",
304                          "value": 9,
305                          "loc": {
306                            "start": {
307                              "line": 17,
308                              "column": 9
309                            },
310                            "end": {
311                              "line": 17,
312                              "column": 10
313                            }
314                          }
315                        },
316                        "loc": {
317                          "start": {
318                            "line": 17,
319                            "column": 5
320                          },
321                          "end": {
322                            "line": 17,
323                            "column": 10
324                          }
325                        }
326                      },
327                      "loc": {
328                        "start": {
329                          "line": 17,
330                          "column": 5
331                        },
332                        "end": {
333                          "line": 17,
334                          "column": 10
335                        }
336                      }
337                    },
338                    {
339                      "type": "ExpressionStatement",
340                      "expression": {
341                        "type": "AssignmentExpression",
342                        "operator": "=",
343                        "left": {
344                          "type": "Identifier",
345                          "name": "a",
346                          "decorators": [],
347                          "loc": {
348                            "start": {
349                              "line": 18,
350                              "column": 5
351                            },
352                            "end": {
353                              "line": 18,
354                              "column": 6
355                            }
356                          }
357                        },
358                        "right": {
359                          "type": "ETSNewArrayInstanceExpression",
360                          "typeReference": {
361                            "type": "ETSPrimitiveType",
362                            "loc": {
363                              "start": {
364                                "line": 18,
365                                "column": 20
366                              },
367                              "end": {
368                                "line": 18,
369                                "column": 23
370                              }
371                            }
372                          },
373                          "dimension": {
374                            "type": "Identifier",
375                            "name": "count",
376                            "decorators": [],
377                            "loc": {
378                              "start": {
379                                "line": 18,
380                                "column": 24
381                              },
382                              "end": {
383                                "line": 18,
384                                "column": 29
385                              }
386                            }
387                          },
388                          "loc": {
389                            "start": {
390                              "line": 18,
391                              "column": 16
392                            },
393                            "end": {
394                              "line": 18,
395                              "column": 30
396                            }
397                          }
398                        },
399                        "loc": {
400                          "start": {
401                            "line": 18,
402                            "column": 5
403                          },
404                          "end": {
405                            "line": 18,
406                            "column": 30
407                          }
408                        }
409                      },
410                      "loc": {
411                        "start": {
412                          "line": 18,
413                          "column": 5
414                        },
415                        "end": {
416                          "line": 18,
417                          "column": 30
418                        }
419                      }
420                    },
421                    {
422                      "type": "ExpressionStatement",
423                      "expression": {
424                        "type": "AssignmentExpression",
425                        "operator": "=",
426                        "left": {
427                          "type": "Identifier",
428                          "name": "v",
429                          "decorators": [],
430                          "loc": {
431                            "start": {
432                              "line": 19,
433                              "column": 5
434                            },
435                            "end": {
436                              "line": 19,
437                              "column": 6
438                            }
439                          }
440                        },
441                        "right": {
442                          "type": "ETSNewArrayInstanceExpression",
443                          "typeReference": {
444                            "type": "ETSPrimitiveType",
445                            "loc": {
446                              "start": {
447                                "line": 19,
448                                "column": 20
449                              },
450                              "end": {
451                                "line": 19,
452                                "column": 23
453                              }
454                            }
455                          },
456                          "dimension": {
457                            "type": "Identifier",
458                            "name": "count",
459                            "decorators": [],
460                            "loc": {
461                              "start": {
462                                "line": 19,
463                                "column": 24
464                              },
465                              "end": {
466                                "line": 19,
467                                "column": 29
468                              }
469                            }
470                          },
471                          "loc": {
472                            "start": {
473                              "line": 19,
474                              "column": 16
475                            },
476                            "end": {
477                              "line": 19,
478                              "column": 30
479                            }
480                          }
481                        },
482                        "loc": {
483                          "start": {
484                            "line": 19,
485                            "column": 5
486                          },
487                          "end": {
488                            "line": 19,
489                            "column": 30
490                          }
491                        }
492                      },
493                      "loc": {
494                        "start": {
495                          "line": 19,
496                          "column": 5
497                        },
498                        "end": {
499                          "line": 19,
500                          "column": 30
501                        }
502                      }
503                    }
504                  ],
505                  "loc": {
506                    "start": {
507                      "line": 1,
508                      "column": 1
509                    },
510                    "end": {
511                      "line": 1,
512                      "column": 1
513                    }
514                  }
515                },
516                "loc": {
517                  "start": {
518                    "line": 1,
519                    "column": 1
520                  },
521                  "end": {
522                    "line": 1,
523                    "column": 1
524                  }
525                }
526              },
527              "loc": {
528                "start": {
529                  "line": 1,
530                  "column": 1
531                },
532                "end": {
533                  "line": 1,
534                  "column": 1
535                }
536              }
537            },
538            "overloads": [],
539            "decorators": [],
540            "loc": {
541              "start": {
542                "line": 1,
543                "column": 1
544              },
545              "end": {
546                "line": 1,
547                "column": 1
548              }
549            }
550          },
551          {
552            "type": "ClassProperty",
553            "key": {
554              "type": "Identifier",
555              "name": "count",
556              "decorators": [],
557              "loc": {
558                "start": {
559                  "line": 16,
560                  "column": 5
561                },
562                "end": {
563                  "line": 16,
564                  "column": 10
565                }
566              }
567            },
568            "value": {
569              "type": "NumberLiteral",
570              "value": 2,
571              "loc": {
572                "start": {
573                  "line": 16,
574                  "column": 13
575                },
576                "end": {
577                  "line": 16,
578                  "column": 14
579                }
580              }
581            },
582            "accessibility": "public",
583            "static": true,
584            "readonly": false,
585            "declare": false,
586            "optional": false,
587            "computed": false,
588            "definite": false,
589            "decorators": [],
590            "loc": {
591              "start": {
592                "line": 16,
593                "column": 5
594              },
595              "end": {
596                "line": 16,
597                "column": 14
598              }
599            }
600          },
601          {
602            "type": "ClassProperty",
603            "key": {
604              "type": "Identifier",
605              "name": "n",
606              "decorators": [],
607              "loc": {
608                "start": {
609                  "line": 17,
610                  "column": 5
611                },
612                "end": {
613                  "line": 17,
614                  "column": 6
615                }
616              }
617            },
618            "value": {
619              "type": "NumberLiteral",
620              "value": 9,
621              "loc": {
622                "start": {
623                  "line": 17,
624                  "column": 9
625                },
626                "end": {
627                  "line": 17,
628                  "column": 10
629                }
630              }
631            },
632            "accessibility": "public",
633            "static": true,
634            "readonly": false,
635            "declare": false,
636            "optional": false,
637            "computed": false,
638            "definite": false,
639            "decorators": [],
640            "loc": {
641              "start": {
642                "line": 17,
643                "column": 5
644              },
645              "end": {
646                "line": 17,
647                "column": 10
648              }
649            }
650          },
651          {
652            "type": "ClassProperty",
653            "key": {
654              "type": "Identifier",
655              "name": "a",
656              "decorators": [],
657              "loc": {
658                "start": {
659                  "line": 18,
660                  "column": 5
661                },
662                "end": {
663                  "line": 18,
664                  "column": 6
665                }
666              }
667            },
668            "accessibility": "public",
669            "static": true,
670            "readonly": false,
671            "declare": false,
672            "optional": false,
673            "computed": false,
674            "typeAnnotation": {
675              "type": "TSArrayType",
676              "elementType": {
677                "type": "ETSPrimitiveType",
678                "loc": {
679                  "start": {
680                    "line": 18,
681                    "column": 8
682                  },
683                  "end": {
684                    "line": 18,
685                    "column": 11
686                  }
687                }
688              },
689              "loc": {
690                "start": {
691                  "line": 18,
692                  "column": 14
693                },
694                "end": {
695                  "line": 18,
696                  "column": 15
697                }
698              }
699            },
700            "definite": false,
701            "decorators": [],
702            "loc": {
703              "start": {
704                "line": 18,
705                "column": 5
706              },
707              "end": {
708                "line": 18,
709                "column": 30
710              }
711            }
712          },
713          {
714            "type": "ClassProperty",
715            "key": {
716              "type": "Identifier",
717              "name": "v",
718              "decorators": [],
719              "loc": {
720                "start": {
721                  "line": 19,
722                  "column": 5
723                },
724                "end": {
725                  "line": 19,
726                  "column": 6
727                }
728              }
729            },
730            "accessibility": "public",
731            "static": true,
732            "readonly": false,
733            "declare": false,
734            "optional": false,
735            "computed": false,
736            "typeAnnotation": {
737              "type": "TSArrayType",
738              "elementType": {
739                "type": "ETSPrimitiveType",
740                "loc": {
741                  "start": {
742                    "line": 19,
743                    "column": 8
744                  },
745                  "end": {
746                    "line": 19,
747                    "column": 11
748                  }
749                }
750              },
751              "loc": {
752                "start": {
753                  "line": 19,
754                  "column": 14
755                },
756                "end": {
757                  "line": 19,
758                  "column": 15
759                }
760              }
761            },
762            "definite": false,
763            "decorators": [],
764            "loc": {
765              "start": {
766                "line": 19,
767                "column": 5
768              },
769              "end": {
770                "line": 19,
771                "column": 30
772              }
773            }
774          },
775          {
776            "type": "MethodDefinition",
777            "key": {
778              "type": "Identifier",
779              "name": "assert_eq",
780              "decorators": [],
781              "loc": {
782                "start": {
783                  "line": 21,
784                  "column": 10
785                },
786                "end": {
787                  "line": 21,
788                  "column": 19
789                }
790              }
791            },
792            "kind": "method",
793            "accessibility": "public",
794            "static": true,
795            "optional": false,
796            "computed": false,
797            "value": {
798              "type": "FunctionExpression",
799              "function": {
800                "type": "ScriptFunction",
801                "id": {
802                  "type": "Identifier",
803                  "name": "assert_eq",
804                  "decorators": [],
805                  "loc": {
806                    "start": {
807                      "line": 21,
808                      "column": 10
809                    },
810                    "end": {
811                      "line": 21,
812                      "column": 19
813                    }
814                  }
815                },
816                "generator": false,
817                "async": false,
818                "expression": false,
819                "params": [
820                  {
821                    "type": "ETSParameterExpression",
822                    "name": {
823                      "type": "Identifier",
824                      "name": "value1",
825                      "typeAnnotation": {
826                        "type": "ETSPrimitiveType",
827                        "loc": {
828                          "start": {
829                            "line": 21,
830                            "column": 28
831                          },
832                          "end": {
833                            "line": 21,
834                            "column": 31
835                          }
836                        }
837                      },
838                      "decorators": [],
839                      "loc": {
840                        "start": {
841                          "line": 21,
842                          "column": 20
843                        },
844                        "end": {
845                          "line": 21,
846                          "column": 31
847                        }
848                      }
849                    },
850                    "loc": {
851                      "start": {
852                        "line": 21,
853                        "column": 20
854                      },
855                      "end": {
856                        "line": 21,
857                        "column": 31
858                      }
859                    }
860                  },
861                  {
862                    "type": "ETSParameterExpression",
863                    "name": {
864                      "type": "Identifier",
865                      "name": "value2",
866                      "typeAnnotation": {
867                        "type": "ETSPrimitiveType",
868                        "loc": {
869                          "start": {
870                            "line": 21,
871                            "column": 41
872                          },
873                          "end": {
874                            "line": 21,
875                            "column": 44
876                          }
877                        }
878                      },
879                      "decorators": [],
880                      "loc": {
881                        "start": {
882                          "line": 21,
883                          "column": 33
884                        },
885                        "end": {
886                          "line": 21,
887                          "column": 44
888                        }
889                      }
890                    },
891                    "loc": {
892                      "start": {
893                        "line": 21,
894                        "column": 33
895                      },
896                      "end": {
897                        "line": 21,
898                        "column": 44
899                      }
900                    }
901                  }
902                ],
903                "returnType": {
904                  "type": "ETSPrimitiveType",
905                  "loc": {
906                    "start": {
907                      "line": 21,
908                      "column": 47
909                    },
910                    "end": {
911                      "line": 21,
912                      "column": 51
913                    }
914                  }
915                },
916                "body": {
917                  "type": "BlockStatement",
918                  "statements": [
919                    {
920                      "type": "IfStatement",
921                      "test": {
922                        "type": "BinaryExpression",
923                        "operator": "==",
924                        "left": {
925                          "type": "Identifier",
926                          "name": "value1",
927                          "decorators": [],
928                          "loc": {
929                            "start": {
930                              "line": 22,
931                              "column": 9
932                            },
933                            "end": {
934                              "line": 22,
935                              "column": 15
936                            }
937                          }
938                        },
939                        "right": {
940                          "type": "Identifier",
941                          "name": "value2",
942                          "decorators": [],
943                          "loc": {
944                            "start": {
945                              "line": 22,
946                              "column": 19
947                            },
948                            "end": {
949                              "line": 22,
950                              "column": 25
951                            }
952                          }
953                        },
954                        "loc": {
955                          "start": {
956                            "line": 22,
957                            "column": 9
958                          },
959                          "end": {
960                            "line": 22,
961                            "column": 25
962                          }
963                        }
964                      },
965                      "consequent": {
966                        "type": "BlockStatement",
967                        "statements": [
968                          {
969                            "type": "ReturnStatement",
970                            "argument": null,
971                            "loc": {
972                              "start": {
973                                "line": 23,
974                                "column": 9
975                              },
976                              "end": {
977                                "line": 23,
978                                "column": 16
979                              }
980                            }
981                          }
982                        ],
983                        "loc": {
984                          "start": {
985                            "line": 22,
986                            "column": 27
987                          },
988                          "end": {
989                            "line": 24,
990                            "column": 6
991                          }
992                        }
993                      },
994                      "alternate": null,
995                      "loc": {
996                        "start": {
997                          "line": 22,
998                          "column": 5
999                        },
1000                        "end": {
1001                          "line": 24,
1002                          "column": 6
1003                        }
1004                      }
1005                    },
1006                    {
1007                      "type": "ExpressionStatement",
1008                      "expression": {
1009                        "type": "CallExpression",
1010                        "callee": {
1011                          "type": "MemberExpression",
1012                          "object": {
1013                            "type": "Identifier",
1014                            "name": "console",
1015                            "decorators": [],
1016                            "loc": {
1017                              "start": {
1018                                "line": 25,
1019                                "column": 5
1020                              },
1021                              "end": {
1022                                "line": 25,
1023                                "column": 12
1024                              }
1025                            }
1026                          },
1027                          "property": {
1028                            "type": "Identifier",
1029                            "name": "println",
1030                            "decorators": [],
1031                            "loc": {
1032                              "start": {
1033                                "line": 25,
1034                                "column": 13
1035                              },
1036                              "end": {
1037                                "line": 25,
1038                                "column": 20
1039                              }
1040                            }
1041                          },
1042                          "computed": false,
1043                          "optional": false,
1044                          "loc": {
1045                            "start": {
1046                              "line": 25,
1047                              "column": 5
1048                            },
1049                            "end": {
1050                              "line": 25,
1051                              "column": 20
1052                            }
1053                          }
1054                        },
1055                        "arguments": [
1056                          {
1057                            "type": "BinaryExpression",
1058                            "operator": "+",
1059                            "left": {
1060                              "type": "BinaryExpression",
1061                              "operator": "+",
1062                              "left": {
1063                                "type": "BinaryExpression",
1064                                "operator": "+",
1065                                "left": {
1066                                  "type": "StringLiteral",
1067                                  "value": "Values of type int are not equal: ",
1068                                  "loc": {
1069                                    "start": {
1070                                      "line": 25,
1071                                      "column": 21
1072                                    },
1073                                    "end": {
1074                                      "line": 25,
1075                                      "column": 57
1076                                    }
1077                                  }
1078                                },
1079                                "right": {
1080                                  "type": "Identifier",
1081                                  "name": "value1",
1082                                  "decorators": [],
1083                                  "loc": {
1084                                    "start": {
1085                                      "line": 25,
1086                                      "column": 60
1087                                    },
1088                                    "end": {
1089                                      "line": 25,
1090                                      "column": 66
1091                                    }
1092                                  }
1093                                },
1094                                "loc": {
1095                                  "start": {
1096                                    "line": 25,
1097                                    "column": 21
1098                                  },
1099                                  "end": {
1100                                    "line": 25,
1101                                    "column": 66
1102                                  }
1103                                }
1104                              },
1105                              "right": {
1106                                "type": "StringLiteral",
1107                                "value": " != ",
1108                                "loc": {
1109                                  "start": {
1110                                    "line": 25,
1111                                    "column": 69
1112                                  },
1113                                  "end": {
1114                                    "line": 25,
1115                                    "column": 75
1116                                  }
1117                                }
1118                              },
1119                              "loc": {
1120                                "start": {
1121                                  "line": 25,
1122                                  "column": 21
1123                                },
1124                                "end": {
1125                                  "line": 25,
1126                                  "column": 75
1127                                }
1128                              }
1129                            },
1130                            "right": {
1131                              "type": "Identifier",
1132                              "name": "value2",
1133                              "decorators": [],
1134                              "loc": {
1135                                "start": {
1136                                  "line": 25,
1137                                  "column": 78
1138                                },
1139                                "end": {
1140                                  "line": 25,
1141                                  "column": 84
1142                                }
1143                              }
1144                            },
1145                            "loc": {
1146                              "start": {
1147                                "line": 25,
1148                                "column": 21
1149                              },
1150                              "end": {
1151                                "line": 25,
1152                                "column": 84
1153                              }
1154                            }
1155                          }
1156                        ],
1157                        "optional": false,
1158                        "loc": {
1159                          "start": {
1160                            "line": 25,
1161                            "column": 5
1162                          },
1163                          "end": {
1164                            "line": 25,
1165                            "column": 85
1166                          }
1167                        }
1168                      },
1169                      "loc": {
1170                        "start": {
1171                          "line": 25,
1172                          "column": 5
1173                        },
1174                        "end": {
1175                          "line": 25,
1176                          "column": 86
1177                        }
1178                      }
1179                    },
1180                    {
1181                      "type": "ThrowStatement",
1182                      "argument": {
1183                        "type": "ETSNewClassInstanceExpression",
1184                        "typeReference": {
1185                          "type": "ETSTypeReference",
1186                          "part": {
1187                            "type": "ETSTypeReferencePart",
1188                            "name": {
1189                              "type": "Identifier",
1190                              "name": "Error",
1191                              "decorators": [],
1192                              "loc": {
1193                                "start": {
1194                                  "line": 26,
1195                                  "column": 15
1196                                },
1197                                "end": {
1198                                  "line": 26,
1199                                  "column": 20
1200                                }
1201                              }
1202                            },
1203                            "loc": {
1204                              "start": {
1205                                "line": 26,
1206                                "column": 15
1207                              },
1208                              "end": {
1209                                "line": 26,
1210                                "column": 21
1211                              }
1212                            }
1213                          },
1214                          "loc": {
1215                            "start": {
1216                              "line": 26,
1217                              "column": 15
1218                            },
1219                            "end": {
1220                              "line": 26,
1221                              "column": 21
1222                            }
1223                          }
1224                        },
1225                        "arguments": [],
1226                        "loc": {
1227                          "start": {
1228                            "line": 26,
1229                            "column": 11
1230                          },
1231                          "end": {
1232                            "line": 26,
1233                            "column": 23
1234                          }
1235                        }
1236                      },
1237                      "loc": {
1238                        "start": {
1239                          "line": 26,
1240                          "column": 5
1241                        },
1242                        "end": {
1243                          "line": 26,
1244                          "column": 23
1245                        }
1246                      }
1247                    }
1248                  ],
1249                  "loc": {
1250                    "start": {
1251                      "line": 21,
1252                      "column": 52
1253                    },
1254                    "end": {
1255                      "line": 27,
1256                      "column": 2
1257                    }
1258                  }
1259                },
1260                "loc": {
1261                  "start": {
1262                    "line": 21,
1263                    "column": 19
1264                  },
1265                  "end": {
1266                    "line": 27,
1267                    "column": 2
1268                  }
1269                }
1270              },
1271              "loc": {
1272                "start": {
1273                  "line": 21,
1274                  "column": 19
1275                },
1276                "end": {
1277                  "line": 27,
1278                  "column": 2
1279                }
1280              }
1281            },
1282            "overloads": [],
1283            "decorators": [],
1284            "loc": {
1285              "start": {
1286                "line": 21,
1287                "column": 1
1288              },
1289              "end": {
1290                "line": 27,
1291                "column": 2
1292              }
1293            }
1294          },
1295          {
1296            "type": "MethodDefinition",
1297            "key": {
1298              "type": "Identifier",
1299              "name": "ufib",
1300              "decorators": [],
1301              "loc": {
1302                "start": {
1303                  "line": 28,
1304                  "column": 10
1305                },
1306                "end": {
1307                  "line": 28,
1308                  "column": 14
1309                }
1310              }
1311            },
1312            "kind": "method",
1313            "accessibility": "public",
1314            "static": true,
1315            "optional": false,
1316            "computed": false,
1317            "value": {
1318              "type": "FunctionExpression",
1319              "function": {
1320                "type": "ScriptFunction",
1321                "id": {
1322                  "type": "Identifier",
1323                  "name": "ufib",
1324                  "decorators": [],
1325                  "loc": {
1326                    "start": {
1327                      "line": 28,
1328                      "column": 10
1329                    },
1330                    "end": {
1331                      "line": 28,
1332                      "column": 14
1333                    }
1334                  }
1335                },
1336                "generator": false,
1337                "async": false,
1338                "expression": false,
1339                "params": [
1340                  {
1341                    "type": "ETSParameterExpression",
1342                    "name": {
1343                      "type": "Identifier",
1344                      "name": "n",
1345                      "typeAnnotation": {
1346                        "type": "ETSPrimitiveType",
1347                        "loc": {
1348                          "start": {
1349                            "line": 28,
1350                            "column": 18
1351                          },
1352                          "end": {
1353                            "line": 28,
1354                            "column": 21
1355                          }
1356                        }
1357                      },
1358                      "decorators": [],
1359                      "loc": {
1360                        "start": {
1361                          "line": 28,
1362                          "column": 15
1363                        },
1364                        "end": {
1365                          "line": 28,
1366                          "column": 21
1367                        }
1368                      }
1369                    },
1370                    "loc": {
1371                      "start": {
1372                        "line": 28,
1373                        "column": 15
1374                      },
1375                      "end": {
1376                        "line": 28,
1377                        "column": 21
1378                      }
1379                    }
1380                  }
1381                ],
1382                "returnType": {
1383                  "type": "ETSTypeReference",
1384                  "part": {
1385                    "type": "ETSTypeReferencePart",
1386                    "name": {
1387                      "type": "Identifier",
1388                      "name": "Int",
1389                      "decorators": [],
1390                      "loc": {
1391                        "start": {
1392                          "line": 28,
1393                          "column": 25
1394                        },
1395                        "end": {
1396                          "line": 28,
1397                          "column": 28
1398                        }
1399                      }
1400                    },
1401                    "loc": {
1402                      "start": {
1403                        "line": 28,
1404                        "column": 25
1405                      },
1406                      "end": {
1407                        "line": 28,
1408                        "column": 30
1409                      }
1410                    }
1411                  },
1412                  "loc": {
1413                    "start": {
1414                      "line": 28,
1415                      "column": 25
1416                    },
1417                    "end": {
1418                      "line": 28,
1419                      "column": 30
1420                    }
1421                  }
1422                },
1423                "body": {
1424                  "type": "BlockStatement",
1425                  "statements": [
1426                    {
1427                      "type": "IfStatement",
1428                      "test": {
1429                        "type": "LogicalExpression",
1430                        "operator": "&&",
1431                        "left": {
1432                          "type": "BinaryExpression",
1433                          "operator": ">=",
1434                          "left": {
1435                            "type": "Identifier",
1436                            "name": "n",
1437                            "decorators": [],
1438                            "loc": {
1439                              "start": {
1440                                "line": 29,
1441                                "column": 9
1442                              },
1443                              "end": {
1444                                "line": 29,
1445                                "column": 10
1446                              }
1447                            }
1448                          },
1449                          "right": {
1450                            "type": "NumberLiteral",
1451                            "value": 0,
1452                            "loc": {
1453                              "start": {
1454                                "line": 29,
1455                                "column": 14
1456                              },
1457                              "end": {
1458                                "line": 29,
1459                                "column": 15
1460                              }
1461                            }
1462                          },
1463                          "loc": {
1464                            "start": {
1465                              "line": 29,
1466                              "column": 9
1467                            },
1468                            "end": {
1469                              "line": 29,
1470                              "column": 15
1471                            }
1472                          }
1473                        },
1474                        "right": {
1475                          "type": "BinaryExpression",
1476                          "operator": "<",
1477                          "left": {
1478                            "type": "Identifier",
1479                            "name": "n",
1480                            "decorators": [],
1481                            "loc": {
1482                              "start": {
1483                                "line": 29,
1484                                "column": 19
1485                              },
1486                              "end": {
1487                                "line": 29,
1488                                "column": 20
1489                              }
1490                            }
1491                          },
1492                          "right": {
1493                            "type": "Identifier",
1494                            "name": "count",
1495                            "decorators": [],
1496                            "loc": {
1497                              "start": {
1498                                "line": 29,
1499                                "column": 23
1500                              },
1501                              "end": {
1502                                "line": 29,
1503                                "column": 28
1504                              }
1505                            }
1506                          },
1507                          "loc": {
1508                            "start": {
1509                              "line": 29,
1510                              "column": 19
1511                            },
1512                            "end": {
1513                              "line": 29,
1514                              "column": 28
1515                            }
1516                          }
1517                        },
1518                        "loc": {
1519                          "start": {
1520                            "line": 29,
1521                            "column": 9
1522                          },
1523                          "end": {
1524                            "line": 29,
1525                            "column": 28
1526                          }
1527                        }
1528                      },
1529                      "consequent": {
1530                        "type": "BlockStatement",
1531                        "statements": [
1532                          {
1533                            "type": "ReturnStatement",
1534                            "argument": {
1535                              "type": "MemberExpression",
1536                              "object": {
1537                                "type": "Identifier",
1538                                "name": "v",
1539                                "decorators": [],
1540                                "loc": {
1541                                  "start": {
1542                                    "line": 30,
1543                                    "column": 16
1544                                  },
1545                                  "end": {
1546                                    "line": 30,
1547                                    "column": 17
1548                                  }
1549                                }
1550                              },
1551                              "property": {
1552                                "type": "Identifier",
1553                                "name": "n",
1554                                "decorators": [],
1555                                "loc": {
1556                                  "start": {
1557                                    "line": 30,
1558                                    "column": 18
1559                                  },
1560                                  "end": {
1561                                    "line": 30,
1562                                    "column": 19
1563                                  }
1564                                }
1565                              },
1566                              "computed": true,
1567                              "optional": false,
1568                              "loc": {
1569                                "start": {
1570                                  "line": 30,
1571                                  "column": 16
1572                                },
1573                                "end": {
1574                                  "line": 30,
1575                                  "column": 20
1576                                }
1577                              }
1578                            },
1579                            "loc": {
1580                              "start": {
1581                                "line": 30,
1582                                "column": 9
1583                              },
1584                              "end": {
1585                                "line": 30,
1586                                "column": 21
1587                              }
1588                            }
1589                          }
1590                        ],
1591                        "loc": {
1592                          "start": {
1593                            "line": 29,
1594                            "column": 30
1595                          },
1596                          "end": {
1597                            "line": 31,
1598                            "column": 6
1599                          }
1600                        }
1601                      },
1602                      "alternate": null,
1603                      "loc": {
1604                        "start": {
1605                          "line": 29,
1606                          "column": 5
1607                        },
1608                        "end": {
1609                          "line": 31,
1610                          "column": 6
1611                        }
1612                      }
1613                    },
1614                    {
1615                      "type": "VariableDeclaration",
1616                      "declarations": [
1617                        {
1618                          "type": "VariableDeclarator",
1619                          "id": {
1620                            "type": "Identifier",
1621                            "name": "p",
1622                            "typeAnnotation": {
1623                              "type": "TSArrayType",
1624                              "elementType": {
1625                                "type": "ETSTypeReference",
1626                                "part": {
1627                                  "type": "ETSTypeReferencePart",
1628                                  "name": {
1629                                    "type": "Identifier",
1630                                    "name": "P",
1631                                    "decorators": [],
1632                                    "loc": {
1633                                      "start": {
1634                                        "line": 32,
1635                                        "column": 12
1636                                      },
1637                                      "end": {
1638                                        "line": 32,
1639                                        "column": 13
1640                                      }
1641                                    }
1642                                  },
1643                                  "loc": {
1644                                    "start": {
1645                                      "line": 32,
1646                                      "column": 12
1647                                    },
1648                                    "end": {
1649                                      "line": 32,
1650                                      "column": 14
1651                                    }
1652                                  }
1653                                },
1654                                "loc": {
1655                                  "start": {
1656                                    "line": 32,
1657                                    "column": 12
1658                                  },
1659                                  "end": {
1660                                    "line": 32,
1661                                    "column": 14
1662                                  }
1663                                }
1664                              },
1665                              "loc": {
1666                                "start": {
1667                                  "line": 32,
1668                                  "column": 16
1669                                },
1670                                "end": {
1671                                  "line": 32,
1672                                  "column": 17
1673                                }
1674                              }
1675                            },
1676                            "decorators": [],
1677                            "loc": {
1678                              "start": {
1679                                "line": 32,
1680                                "column": 9
1681                              },
1682                              "end": {
1683                                "line": 32,
1684                                "column": 10
1685                              }
1686                            }
1687                          },
1688                          "init": {
1689                            "type": "ETSNewArrayInstanceExpression",
1690                            "typeReference": {
1691                              "type": "ETSTypeReference",
1692                              "part": {
1693                                "type": "ETSTypeReferencePart",
1694                                "name": {
1695                                  "type": "Identifier",
1696                                  "name": "P",
1697                                  "decorators": [],
1698                                  "loc": {
1699                                    "start": {
1700                                      "line": 32,
1701                                      "column": 22
1702                                    },
1703                                    "end": {
1704                                      "line": 32,
1705                                      "column": 23
1706                                    }
1707                                  }
1708                                },
1709                                "loc": {
1710                                  "start": {
1711                                    "line": 32,
1712                                    "column": 22
1713                                  },
1714                                  "end": {
1715                                    "line": 32,
1716                                    "column": 24
1717                                  }
1718                                }
1719                              },
1720                              "loc": {
1721                                "start": {
1722                                  "line": 32,
1723                                  "column": 22
1724                                },
1725                                "end": {
1726                                  "line": 32,
1727                                  "column": 24
1728                                }
1729                              }
1730                            },
1731                            "dimension": {
1732                              "type": "Identifier",
1733                              "name": "count",
1734                              "decorators": [],
1735                              "loc": {
1736                                "start": {
1737                                  "line": 32,
1738                                  "column": 24
1739                                },
1740                                "end": {
1741                                  "line": 32,
1742                                  "column": 29
1743                                }
1744                              }
1745                            },
1746                            "loc": {
1747                              "start": {
1748                                "line": 32,
1749                                "column": 18
1750                              },
1751                              "end": {
1752                                "line": 32,
1753                                "column": 30
1754                              }
1755                            }
1756                          },
1757                          "loc": {
1758                            "start": {
1759                              "line": 32,
1760                              "column": 9
1761                            },
1762                            "end": {
1763                              "line": 32,
1764                              "column": 30
1765                            }
1766                          }
1767                        }
1768                      ],
1769                      "kind": "let",
1770                      "loc": {
1771                        "start": {
1772                          "line": 32,
1773                          "column": 5
1774                        },
1775                        "end": {
1776                          "line": 32,
1777                          "column": 30
1778                        }
1779                      }
1780                    },
1781                    {
1782                      "type": "ForUpdateStatement",
1783                      "init": {
1784                        "type": "VariableDeclaration",
1785                        "declarations": [
1786                          {
1787                            "type": "VariableDeclarator",
1788                            "id": {
1789                              "type": "Identifier",
1790                              "name": "i",
1791                              "decorators": [],
1792                              "loc": {
1793                                "start": {
1794                                  "line": 33,
1795                                  "column": 14
1796                                },
1797                                "end": {
1798                                  "line": 33,
1799                                  "column": 15
1800                                }
1801                              }
1802                            },
1803                            "init": {
1804                              "type": "NumberLiteral",
1805                              "value": 0,
1806                              "loc": {
1807                                "start": {
1808                                  "line": 33,
1809                                  "column": 18
1810                                },
1811                                "end": {
1812                                  "line": 33,
1813                                  "column": 19
1814                                }
1815                              }
1816                            },
1817                            "loc": {
1818                              "start": {
1819                                "line": 33,
1820                                "column": 14
1821                              },
1822                              "end": {
1823                                "line": 33,
1824                                "column": 19
1825                              }
1826                            }
1827                          }
1828                        ],
1829                        "kind": "let",
1830                        "loc": {
1831                          "start": {
1832                            "line": 33,
1833                            "column": 10
1834                          },
1835                          "end": {
1836                            "line": 33,
1837                            "column": 19
1838                          }
1839                        }
1840                      },
1841                      "test": {
1842                        "type": "BinaryExpression",
1843                        "operator": "<",
1844                        "left": {
1845                          "type": "Identifier",
1846                          "name": "i",
1847                          "decorators": [],
1848                          "loc": {
1849                            "start": {
1850                              "line": 33,
1851                              "column": 21
1852                            },
1853                            "end": {
1854                              "line": 33,
1855                              "column": 22
1856                            }
1857                          }
1858                        },
1859                        "right": {
1860                          "type": "Identifier",
1861                          "name": "count",
1862                          "decorators": [],
1863                          "loc": {
1864                            "start": {
1865                              "line": 33,
1866                              "column": 25
1867                            },
1868                            "end": {
1869                              "line": 33,
1870                              "column": 30
1871                            }
1872                          }
1873                        },
1874                        "loc": {
1875                          "start": {
1876                            "line": 33,
1877                            "column": 21
1878                          },
1879                          "end": {
1880                            "line": 33,
1881                            "column": 30
1882                          }
1883                        }
1884                      },
1885                      "update": {
1886                        "type": "UpdateExpression",
1887                        "operator": "++",
1888                        "prefix": true,
1889                        "argument": {
1890                          "type": "Identifier",
1891                          "name": "i",
1892                          "decorators": [],
1893                          "loc": {
1894                            "start": {
1895                              "line": 33,
1896                              "column": 34
1897                            },
1898                            "end": {
1899                              "line": 33,
1900                              "column": 35
1901                            }
1902                          }
1903                        },
1904                        "loc": {
1905                          "start": {
1906                            "line": 33,
1907                            "column": 32
1908                          },
1909                          "end": {
1910                            "line": 33,
1911                            "column": 35
1912                          }
1913                        }
1914                      },
1915                      "body": {
1916                        "type": "BlockStatement",
1917                        "statements": [
1918                          {
1919                            "type": "ExpressionStatement",
1920                            "expression": {
1921                              "type": "AssignmentExpression",
1922                              "operator": "=",
1923                              "left": {
1924                                "type": "MemberExpression",
1925                                "object": {
1926                                  "type": "Identifier",
1927                                  "name": "p",
1928                                  "decorators": [],
1929                                  "loc": {
1930                                    "start": {
1931                                      "line": 34,
1932                                      "column": 9
1933                                    },
1934                                    "end": {
1935                                      "line": 34,
1936                                      "column": 10
1937                                    }
1938                                  }
1939                                },
1940                                "property": {
1941                                  "type": "Identifier",
1942                                  "name": "i",
1943                                  "decorators": [],
1944                                  "loc": {
1945                                    "start": {
1946                                      "line": 34,
1947                                      "column": 11
1948                                    },
1949                                    "end": {
1950                                      "line": 34,
1951                                      "column": 12
1952                                    }
1953                                  }
1954                                },
1955                                "computed": true,
1956                                "optional": false,
1957                                "loc": {
1958                                  "start": {
1959                                    "line": 34,
1960                                    "column": 9
1961                                  },
1962                                  "end": {
1963                                    "line": 34,
1964                                    "column": 13
1965                                  }
1966                                }
1967                              },
1968                              "right": {
1969                                "type": "ETSLaunchExpression",
1970                                "expr": {
1971                                  "type": "CallExpression",
1972                                  "callee": {
1973                                    "type": "Identifier",
1974                                    "name": "ufib",
1975                                    "decorators": [],
1976                                    "loc": {
1977                                      "start": {
1978                                        "line": 34,
1979                                        "column": 23
1980                                      },
1981                                      "end": {
1982                                        "line": 34,
1983                                        "column": 27
1984                                      }
1985                                    }
1986                                  },
1987                                  "arguments": [
1988                                    {
1989                                      "type": "BinaryExpression",
1990                                      "operator": "-",
1991                                      "left": {
1992                                        "type": "BinaryExpression",
1993                                        "operator": "-",
1994                                        "left": {
1995                                          "type": "Identifier",
1996                                          "name": "n",
1997                                          "decorators": [],
1998                                          "loc": {
1999                                            "start": {
2000                                              "line": 34,
2001                                              "column": 28
2002                                            },
2003                                            "end": {
2004                                              "line": 34,
2005                                              "column": 29
2006                                            }
2007                                          }
2008                                        },
2009                                        "right": {
2010                                          "type": "NumberLiteral",
2011                                          "value": 1,
2012                                          "loc": {
2013                                            "start": {
2014                                              "line": 34,
2015                                              "column": 30
2016                                            },
2017                                            "end": {
2018                                              "line": 34,
2019                                              "column": 31
2020                                            }
2021                                          }
2022                                        },
2023                                        "loc": {
2024                                          "start": {
2025                                            "line": 34,
2026                                            "column": 28
2027                                          },
2028                                          "end": {
2029                                            "line": 34,
2030                                            "column": 31
2031                                          }
2032                                        }
2033                                      },
2034                                      "right": {
2035                                        "type": "Identifier",
2036                                        "name": "i",
2037                                        "decorators": [],
2038                                        "loc": {
2039                                          "start": {
2040                                            "line": 34,
2041                                            "column": 32
2042                                          },
2043                                          "end": {
2044                                            "line": 34,
2045                                            "column": 33
2046                                          }
2047                                        }
2048                                      },
2049                                      "loc": {
2050                                        "start": {
2051                                          "line": 34,
2052                                          "column": 28
2053                                        },
2054                                        "end": {
2055                                          "line": 34,
2056                                          "column": 33
2057                                        }
2058                                      }
2059                                    }
2060                                  ],
2061                                  "optional": false,
2062                                  "loc": {
2063                                    "start": {
2064                                      "line": 34,
2065                                      "column": 23
2066                                    },
2067                                    "end": {
2068                                      "line": 34,
2069                                      "column": 34
2070                                    }
2071                                  }
2072                                },
2073                                "loc": {
2074                                  "start": {
2075                                    "line": 34,
2076                                    "column": 16
2077                                  },
2078                                  "end": {
2079                                    "line": 34,
2080                                    "column": 34
2081                                  }
2082                                }
2083                              },
2084                              "loc": {
2085                                "start": {
2086                                  "line": 34,
2087                                  "column": 9
2088                                },
2089                                "end": {
2090                                  "line": 34,
2091                                  "column": 34
2092                                }
2093                              }
2094                            },
2095                            "loc": {
2096                              "start": {
2097                                "line": 34,
2098                                "column": 9
2099                              },
2100                              "end": {
2101                                "line": 34,
2102                                "column": 35
2103                              }
2104                            }
2105                          }
2106                        ],
2107                        "loc": {
2108                          "start": {
2109                            "line": 33,
2110                            "column": 37
2111                          },
2112                          "end": {
2113                            "line": 35,
2114                            "column": 6
2115                          }
2116                        }
2117                      },
2118                      "loc": {
2119                        "start": {
2120                          "line": 33,
2121                          "column": 5
2122                        },
2123                        "end": {
2124                          "line": 35,
2125                          "column": 6
2126                        }
2127                      }
2128                    },
2129                    {
2130                      "type": "VariableDeclaration",
2131                      "declarations": [
2132                        {
2133                          "type": "VariableDeclarator",
2134                          "id": {
2135                            "type": "Identifier",
2136                            "name": "result",
2137                            "decorators": [],
2138                            "loc": {
2139                              "start": {
2140                                "line": 36,
2141                                "column": 9
2142                              },
2143                              "end": {
2144                                "line": 36,
2145                                "column": 15
2146                              }
2147                            }
2148                          },
2149                          "init": {
2150                            "type": "NumberLiteral",
2151                            "value": 0,
2152                            "loc": {
2153                              "start": {
2154                                "line": 36,
2155                                "column": 18
2156                              },
2157                              "end": {
2158                                "line": 36,
2159                                "column": 19
2160                              }
2161                            }
2162                          },
2163                          "loc": {
2164                            "start": {
2165                              "line": 36,
2166                              "column": 9
2167                            },
2168                            "end": {
2169                              "line": 36,
2170                              "column": 19
2171                            }
2172                          }
2173                        }
2174                      ],
2175                      "kind": "let",
2176                      "loc": {
2177                        "start": {
2178                          "line": 36,
2179                          "column": 5
2180                        },
2181                        "end": {
2182                          "line": 36,
2183                          "column": 19
2184                        }
2185                      }
2186                    },
2187                    {
2188                      "type": "ForUpdateStatement",
2189                      "init": {
2190                        "type": "VariableDeclaration",
2191                        "declarations": [
2192                          {
2193                            "type": "VariableDeclarator",
2194                            "id": {
2195                              "type": "Identifier",
2196                              "name": "i",
2197                              "decorators": [],
2198                              "loc": {
2199                                "start": {
2200                                  "line": 37,
2201                                  "column": 14
2202                                },
2203                                "end": {
2204                                  "line": 37,
2205                                  "column": 15
2206                                }
2207                              }
2208                            },
2209                            "init": {
2210                              "type": "NumberLiteral",
2211                              "value": 0,
2212                              "loc": {
2213                                "start": {
2214                                  "line": 37,
2215                                  "column": 18
2216                                },
2217                                "end": {
2218                                  "line": 37,
2219                                  "column": 19
2220                                }
2221                              }
2222                            },
2223                            "loc": {
2224                              "start": {
2225                                "line": 37,
2226                                "column": 14
2227                              },
2228                              "end": {
2229                                "line": 37,
2230                                "column": 19
2231                              }
2232                            }
2233                          }
2234                        ],
2235                        "kind": "let",
2236                        "loc": {
2237                          "start": {
2238                            "line": 37,
2239                            "column": 10
2240                          },
2241                          "end": {
2242                            "line": 37,
2243                            "column": 19
2244                          }
2245                        }
2246                      },
2247                      "test": {
2248                        "type": "BinaryExpression",
2249                        "operator": "<",
2250                        "left": {
2251                          "type": "Identifier",
2252                          "name": "i",
2253                          "decorators": [],
2254                          "loc": {
2255                            "start": {
2256                              "line": 37,
2257                              "column": 21
2258                            },
2259                            "end": {
2260                              "line": 37,
2261                              "column": 22
2262                            }
2263                          }
2264                        },
2265                        "right": {
2266                          "type": "Identifier",
2267                          "name": "count",
2268                          "decorators": [],
2269                          "loc": {
2270                            "start": {
2271                              "line": 37,
2272                              "column": 25
2273                            },
2274                            "end": {
2275                              "line": 37,
2276                              "column": 30
2277                            }
2278                          }
2279                        },
2280                        "loc": {
2281                          "start": {
2282                            "line": 37,
2283                            "column": 21
2284                          },
2285                          "end": {
2286                            "line": 37,
2287                            "column": 30
2288                          }
2289                        }
2290                      },
2291                      "update": {
2292                        "type": "UpdateExpression",
2293                        "operator": "++",
2294                        "prefix": true,
2295                        "argument": {
2296                          "type": "Identifier",
2297                          "name": "i",
2298                          "decorators": [],
2299                          "loc": {
2300                            "start": {
2301                              "line": 37,
2302                              "column": 34
2303                            },
2304                            "end": {
2305                              "line": 37,
2306                              "column": 35
2307                            }
2308                          }
2309                        },
2310                        "loc": {
2311                          "start": {
2312                            "line": 37,
2313                            "column": 32
2314                          },
2315                          "end": {
2316                            "line": 37,
2317                            "column": 35
2318                          }
2319                        }
2320                      },
2321                      "body": {
2322                        "type": "BlockStatement",
2323                        "statements": [
2324                          {
2325                            "type": "ExpressionStatement",
2326                            "expression": {
2327                              "type": "AssignmentExpression",
2328                              "operator": "=",
2329                              "left": {
2330                                "type": "Identifier",
2331                                "name": "result",
2332                                "decorators": [],
2333                                "loc": {
2334                                  "start": {
2335                                    "line": 38,
2336                                    "column": 9
2337                                  },
2338                                  "end": {
2339                                    "line": 38,
2340                                    "column": 15
2341                                  }
2342                                }
2343                              },
2344                              "right": {
2345                                "type": "BinaryExpression",
2346                                "operator": "+",
2347                                "left": {
2348                                  "type": "Identifier",
2349                                  "name": "result",
2350                                  "decorators": [],
2351                                  "loc": {
2352                                    "start": {
2353                                      "line": 38,
2354                                      "column": 18
2355                                    },
2356                                    "end": {
2357                                      "line": 38,
2358                                      "column": 24
2359                                    }
2360                                  }
2361                                },
2362                                "right": {
2363                                  "type": "BinaryExpression",
2364                                  "operator": "*",
2365                                  "left": {
2366                                    "type": "CallExpression",
2367                                    "callee": {
2368                                      "type": "MemberExpression",
2369                                      "object": {
2370                                        "type": "TSNonNullExpression",
2371                                        "expression": {
2372                                          "type": "MemberExpression",
2373                                          "object": {
2374                                            "type": "Identifier",
2375                                            "name": "p",
2376                                            "decorators": [],
2377                                            "loc": {
2378                                              "start": {
2379                                                "line": 38,
2380                                                "column": 27
2381                                              },
2382                                              "end": {
2383                                                "line": 38,
2384                                                "column": 28
2385                                              }
2386                                            }
2387                                          },
2388                                          "property": {
2389                                            "type": "Identifier",
2390                                            "name": "i",
2391                                            "decorators": [],
2392                                            "loc": {
2393                                              "start": {
2394                                                "line": 38,
2395                                                "column": 29
2396                                              },
2397                                              "end": {
2398                                                "line": 38,
2399                                                "column": 30
2400                                              }
2401                                            }
2402                                          },
2403                                          "computed": true,
2404                                          "optional": false,
2405                                          "loc": {
2406                                            "start": {
2407                                              "line": 38,
2408                                              "column": 27
2409                                            },
2410                                            "end": {
2411                                              "line": 38,
2412                                              "column": 31
2413                                            }
2414                                          }
2415                                        },
2416                                        "loc": {
2417                                          "start": {
2418                                            "line": 38,
2419                                            "column": 27
2420                                          },
2421                                          "end": {
2422                                            "line": 38,
2423                                            "column": 32
2424                                          }
2425                                        }
2426                                      },
2427                                      "property": {
2428                                        "type": "Identifier",
2429                                        "name": "awaitResolution",
2430                                        "decorators": [],
2431                                        "loc": {
2432                                          "start": {
2433                                            "line": 38,
2434                                            "column": 33
2435                                          },
2436                                          "end": {
2437                                            "line": 38,
2438                                            "column": 48
2439                                          }
2440                                        }
2441                                      },
2442                                      "computed": false,
2443                                      "optional": false,
2444                                      "loc": {
2445                                        "start": {
2446                                          "line": 38,
2447                                          "column": 27
2448                                        },
2449                                        "end": {
2450                                          "line": 38,
2451                                          "column": 48
2452                                        }
2453                                      }
2454                                    },
2455                                    "arguments": [],
2456                                    "optional": false,
2457                                    "loc": {
2458                                      "start": {
2459                                        "line": 38,
2460                                        "column": 27
2461                                      },
2462                                      "end": {
2463                                        "line": 38,
2464                                        "column": 50
2465                                      }
2466                                    }
2467                                  },
2468                                  "right": {
2469                                    "type": "MemberExpression",
2470                                    "object": {
2471                                      "type": "Identifier",
2472                                      "name": "a",
2473                                      "decorators": [],
2474                                      "loc": {
2475                                        "start": {
2476                                          "line": 38,
2477                                          "column": 53
2478                                        },
2479                                        "end": {
2480                                          "line": 38,
2481                                          "column": 54
2482                                        }
2483                                      }
2484                                    },
2485                                    "property": {
2486                                      "type": "Identifier",
2487                                      "name": "i",
2488                                      "decorators": [],
2489                                      "loc": {
2490                                        "start": {
2491                                          "line": 38,
2492                                          "column": 55
2493                                        },
2494                                        "end": {
2495                                          "line": 38,
2496                                          "column": 56
2497                                        }
2498                                      }
2499                                    },
2500                                    "computed": true,
2501                                    "optional": false,
2502                                    "loc": {
2503                                      "start": {
2504                                        "line": 38,
2505                                        "column": 53
2506                                      },
2507                                      "end": {
2508                                        "line": 38,
2509                                        "column": 57
2510                                      }
2511                                    }
2512                                  },
2513                                  "loc": {
2514                                    "start": {
2515                                      "line": 38,
2516                                      "column": 27
2517                                    },
2518                                    "end": {
2519                                      "line": 38,
2520                                      "column": 57
2521                                    }
2522                                  }
2523                                },
2524                                "loc": {
2525                                  "start": {
2526                                    "line": 38,
2527                                    "column": 18
2528                                  },
2529                                  "end": {
2530                                    "line": 38,
2531                                    "column": 57
2532                                  }
2533                                }
2534                              },
2535                              "loc": {
2536                                "start": {
2537                                  "line": 38,
2538                                  "column": 9
2539                                },
2540                                "end": {
2541                                  "line": 38,
2542                                  "column": 57
2543                                }
2544                              }
2545                            },
2546                            "loc": {
2547                              "start": {
2548                                "line": 38,
2549                                "column": 9
2550                              },
2551                              "end": {
2552                                "line": 38,
2553                                "column": 58
2554                              }
2555                            }
2556                          }
2557                        ],
2558                        "loc": {
2559                          "start": {
2560                            "line": 37,
2561                            "column": 37
2562                          },
2563                          "end": {
2564                            "line": 39,
2565                            "column": 6
2566                          }
2567                        }
2568                      },
2569                      "loc": {
2570                        "start": {
2571                          "line": 37,
2572                          "column": 5
2573                        },
2574                        "end": {
2575                          "line": 39,
2576                          "column": 6
2577                        }
2578                      }
2579                    },
2580                    {
2581                      "type": "ReturnStatement",
2582                      "argument": {
2583                        "type": "Identifier",
2584                        "name": "result",
2585                        "decorators": [],
2586                        "loc": {
2587                          "start": {
2588                            "line": 40,
2589                            "column": 12
2590                          },
2591                          "end": {
2592                            "line": 40,
2593                            "column": 18
2594                          }
2595                        }
2596                      },
2597                      "loc": {
2598                        "start": {
2599                          "line": 40,
2600                          "column": 5
2601                        },
2602                        "end": {
2603                          "line": 40,
2604                          "column": 19
2605                        }
2606                      }
2607                    }
2608                  ],
2609                  "loc": {
2610                    "start": {
2611                      "line": 28,
2612                      "column": 29
2613                    },
2614                    "end": {
2615                      "line": 41,
2616                      "column": 2
2617                    }
2618                  }
2619                },
2620                "loc": {
2621                  "start": {
2622                    "line": 28,
2623                    "column": 14
2624                  },
2625                  "end": {
2626                    "line": 41,
2627                    "column": 2
2628                  }
2629                }
2630              },
2631              "loc": {
2632                "start": {
2633                  "line": 28,
2634                  "column": 14
2635                },
2636                "end": {
2637                  "line": 41,
2638                  "column": 2
2639                }
2640              }
2641            },
2642            "overloads": [],
2643            "decorators": [],
2644            "loc": {
2645              "start": {
2646                "line": 28,
2647                "column": 1
2648              },
2649              "end": {
2650                "line": 41,
2651                "column": 2
2652              }
2653            }
2654          },
2655          {
2656            "type": "MethodDefinition",
2657            "key": {
2658              "type": "Identifier",
2659              "name": "ufib_seq",
2660              "decorators": [],
2661              "loc": {
2662                "start": {
2663                  "line": 42,
2664                  "column": 10
2665                },
2666                "end": {
2667                  "line": 42,
2668                  "column": 18
2669                }
2670              }
2671            },
2672            "kind": "method",
2673            "accessibility": "public",
2674            "static": true,
2675            "optional": false,
2676            "computed": false,
2677            "value": {
2678              "type": "FunctionExpression",
2679              "function": {
2680                "type": "ScriptFunction",
2681                "id": {
2682                  "type": "Identifier",
2683                  "name": "ufib_seq",
2684                  "decorators": [],
2685                  "loc": {
2686                    "start": {
2687                      "line": 42,
2688                      "column": 10
2689                    },
2690                    "end": {
2691                      "line": 42,
2692                      "column": 18
2693                    }
2694                  }
2695                },
2696                "generator": false,
2697                "async": false,
2698                "expression": false,
2699                "params": [
2700                  {
2701                    "type": "ETSParameterExpression",
2702                    "name": {
2703                      "type": "Identifier",
2704                      "name": "n",
2705                      "typeAnnotation": {
2706                        "type": "ETSPrimitiveType",
2707                        "loc": {
2708                          "start": {
2709                            "line": 42,
2710                            "column": 22
2711                          },
2712                          "end": {
2713                            "line": 42,
2714                            "column": 25
2715                          }
2716                        }
2717                      },
2718                      "decorators": [],
2719                      "loc": {
2720                        "start": {
2721                          "line": 42,
2722                          "column": 19
2723                        },
2724                        "end": {
2725                          "line": 42,
2726                          "column": 25
2727                        }
2728                      }
2729                    },
2730                    "loc": {
2731                      "start": {
2732                        "line": 42,
2733                        "column": 19
2734                      },
2735                      "end": {
2736                        "line": 42,
2737                        "column": 25
2738                      }
2739                    }
2740                  }
2741                ],
2742                "returnType": {
2743                  "type": "ETSPrimitiveType",
2744                  "loc": {
2745                    "start": {
2746                      "line": 42,
2747                      "column": 29
2748                    },
2749                    "end": {
2750                      "line": 42,
2751                      "column": 32
2752                    }
2753                  }
2754                },
2755                "body": {
2756                  "type": "BlockStatement",
2757                  "statements": [
2758                    {
2759                      "type": "IfStatement",
2760                      "test": {
2761                        "type": "LogicalExpression",
2762                        "operator": "&&",
2763                        "left": {
2764                          "type": "BinaryExpression",
2765                          "operator": ">=",
2766                          "left": {
2767                            "type": "Identifier",
2768                            "name": "n",
2769                            "decorators": [],
2770                            "loc": {
2771                              "start": {
2772                                "line": 43,
2773                                "column": 9
2774                              },
2775                              "end": {
2776                                "line": 43,
2777                                "column": 10
2778                              }
2779                            }
2780                          },
2781                          "right": {
2782                            "type": "NumberLiteral",
2783                            "value": 0,
2784                            "loc": {
2785                              "start": {
2786                                "line": 43,
2787                                "column": 14
2788                              },
2789                              "end": {
2790                                "line": 43,
2791                                "column": 15
2792                              }
2793                            }
2794                          },
2795                          "loc": {
2796                            "start": {
2797                              "line": 43,
2798                              "column": 9
2799                            },
2800                            "end": {
2801                              "line": 43,
2802                              "column": 15
2803                            }
2804                          }
2805                        },
2806                        "right": {
2807                          "type": "BinaryExpression",
2808                          "operator": "<",
2809                          "left": {
2810                            "type": "Identifier",
2811                            "name": "n",
2812                            "decorators": [],
2813                            "loc": {
2814                              "start": {
2815                                "line": 43,
2816                                "column": 19
2817                              },
2818                              "end": {
2819                                "line": 43,
2820                                "column": 20
2821                              }
2822                            }
2823                          },
2824                          "right": {
2825                            "type": "Identifier",
2826                            "name": "count",
2827                            "decorators": [],
2828                            "loc": {
2829                              "start": {
2830                                "line": 43,
2831                                "column": 23
2832                              },
2833                              "end": {
2834                                "line": 43,
2835                                "column": 28
2836                              }
2837                            }
2838                          },
2839                          "loc": {
2840                            "start": {
2841                              "line": 43,
2842                              "column": 19
2843                            },
2844                            "end": {
2845                              "line": 43,
2846                              "column": 28
2847                            }
2848                          }
2849                        },
2850                        "loc": {
2851                          "start": {
2852                            "line": 43,
2853                            "column": 9
2854                          },
2855                          "end": {
2856                            "line": 43,
2857                            "column": 28
2858                          }
2859                        }
2860                      },
2861                      "consequent": {
2862                        "type": "BlockStatement",
2863                        "statements": [
2864                          {
2865                            "type": "ReturnStatement",
2866                            "argument": {
2867                              "type": "MemberExpression",
2868                              "object": {
2869                                "type": "Identifier",
2870                                "name": "v",
2871                                "decorators": [],
2872                                "loc": {
2873                                  "start": {
2874                                    "line": 44,
2875                                    "column": 16
2876                                  },
2877                                  "end": {
2878                                    "line": 44,
2879                                    "column": 17
2880                                  }
2881                                }
2882                              },
2883                              "property": {
2884                                "type": "Identifier",
2885                                "name": "n",
2886                                "decorators": [],
2887                                "loc": {
2888                                  "start": {
2889                                    "line": 44,
2890                                    "column": 18
2891                                  },
2892                                  "end": {
2893                                    "line": 44,
2894                                    "column": 19
2895                                  }
2896                                }
2897                              },
2898                              "computed": true,
2899                              "optional": false,
2900                              "loc": {
2901                                "start": {
2902                                  "line": 44,
2903                                  "column": 16
2904                                },
2905                                "end": {
2906                                  "line": 44,
2907                                  "column": 20
2908                                }
2909                              }
2910                            },
2911                            "loc": {
2912                              "start": {
2913                                "line": 44,
2914                                "column": 9
2915                              },
2916                              "end": {
2917                                "line": 44,
2918                                "column": 21
2919                              }
2920                            }
2921                          }
2922                        ],
2923                        "loc": {
2924                          "start": {
2925                            "line": 43,
2926                            "column": 30
2927                          },
2928                          "end": {
2929                            "line": 45,
2930                            "column": 6
2931                          }
2932                        }
2933                      },
2934                      "alternate": null,
2935                      "loc": {
2936                        "start": {
2937                          "line": 43,
2938                          "column": 5
2939                        },
2940                        "end": {
2941                          "line": 45,
2942                          "column": 6
2943                        }
2944                      }
2945                    },
2946                    {
2947                      "type": "VariableDeclaration",
2948                      "declarations": [
2949                        {
2950                          "type": "VariableDeclarator",
2951                          "id": {
2952                            "type": "Identifier",
2953                            "name": "result",
2954                            "decorators": [],
2955                            "loc": {
2956                              "start": {
2957                                "line": 46,
2958                                "column": 9
2959                              },
2960                              "end": {
2961                                "line": 46,
2962                                "column": 15
2963                              }
2964                            }
2965                          },
2966                          "init": {
2967                            "type": "NumberLiteral",
2968                            "value": 0,
2969                            "loc": {
2970                              "start": {
2971                                "line": 46,
2972                                "column": 18
2973                              },
2974                              "end": {
2975                                "line": 46,
2976                                "column": 19
2977                              }
2978                            }
2979                          },
2980                          "loc": {
2981                            "start": {
2982                              "line": 46,
2983                              "column": 9
2984                            },
2985                            "end": {
2986                              "line": 46,
2987                              "column": 19
2988                            }
2989                          }
2990                        }
2991                      ],
2992                      "kind": "let",
2993                      "loc": {
2994                        "start": {
2995                          "line": 46,
2996                          "column": 5
2997                        },
2998                        "end": {
2999                          "line": 46,
3000                          "column": 19
3001                        }
3002                      }
3003                    },
3004                    {
3005                      "type": "ForUpdateStatement",
3006                      "init": {
3007                        "type": "VariableDeclaration",
3008                        "declarations": [
3009                          {
3010                            "type": "VariableDeclarator",
3011                            "id": {
3012                              "type": "Identifier",
3013                              "name": "i",
3014                              "decorators": [],
3015                              "loc": {
3016                                "start": {
3017                                  "line": 47,
3018                                  "column": 14
3019                                },
3020                                "end": {
3021                                  "line": 47,
3022                                  "column": 15
3023                                }
3024                              }
3025                            },
3026                            "init": {
3027                              "type": "NumberLiteral",
3028                              "value": 0,
3029                              "loc": {
3030                                "start": {
3031                                  "line": 47,
3032                                  "column": 18
3033                                },
3034                                "end": {
3035                                  "line": 47,
3036                                  "column": 19
3037                                }
3038                              }
3039                            },
3040                            "loc": {
3041                              "start": {
3042                                "line": 47,
3043                                "column": 14
3044                              },
3045                              "end": {
3046                                "line": 47,
3047                                "column": 19
3048                              }
3049                            }
3050                          }
3051                        ],
3052                        "kind": "let",
3053                        "loc": {
3054                          "start": {
3055                            "line": 47,
3056                            "column": 10
3057                          },
3058                          "end": {
3059                            "line": 47,
3060                            "column": 19
3061                          }
3062                        }
3063                      },
3064                      "test": {
3065                        "type": "BinaryExpression",
3066                        "operator": "<",
3067                        "left": {
3068                          "type": "Identifier",
3069                          "name": "i",
3070                          "decorators": [],
3071                          "loc": {
3072                            "start": {
3073                              "line": 47,
3074                              "column": 21
3075                            },
3076                            "end": {
3077                              "line": 47,
3078                              "column": 22
3079                            }
3080                          }
3081                        },
3082                        "right": {
3083                          "type": "Identifier",
3084                          "name": "count",
3085                          "decorators": [],
3086                          "loc": {
3087                            "start": {
3088                              "line": 47,
3089                              "column": 25
3090                            },
3091                            "end": {
3092                              "line": 47,
3093                              "column": 30
3094                            }
3095                          }
3096                        },
3097                        "loc": {
3098                          "start": {
3099                            "line": 47,
3100                            "column": 21
3101                          },
3102                          "end": {
3103                            "line": 47,
3104                            "column": 30
3105                          }
3106                        }
3107                      },
3108                      "update": {
3109                        "type": "UpdateExpression",
3110                        "operator": "++",
3111                        "prefix": true,
3112                        "argument": {
3113                          "type": "Identifier",
3114                          "name": "i",
3115                          "decorators": [],
3116                          "loc": {
3117                            "start": {
3118                              "line": 47,
3119                              "column": 34
3120                            },
3121                            "end": {
3122                              "line": 47,
3123                              "column": 35
3124                            }
3125                          }
3126                        },
3127                        "loc": {
3128                          "start": {
3129                            "line": 47,
3130                            "column": 32
3131                          },
3132                          "end": {
3133                            "line": 47,
3134                            "column": 35
3135                          }
3136                        }
3137                      },
3138                      "body": {
3139                        "type": "BlockStatement",
3140                        "statements": [
3141                          {
3142                            "type": "ExpressionStatement",
3143                            "expression": {
3144                              "type": "AssignmentExpression",
3145                              "operator": "=",
3146                              "left": {
3147                                "type": "Identifier",
3148                                "name": "result",
3149                                "decorators": [],
3150                                "loc": {
3151                                  "start": {
3152                                    "line": 48,
3153                                    "column": 9
3154                                  },
3155                                  "end": {
3156                                    "line": 48,
3157                                    "column": 15
3158                                  }
3159                                }
3160                              },
3161                              "right": {
3162                                "type": "BinaryExpression",
3163                                "operator": "+",
3164                                "left": {
3165                                  "type": "Identifier",
3166                                  "name": "result",
3167                                  "decorators": [],
3168                                  "loc": {
3169                                    "start": {
3170                                      "line": 48,
3171                                      "column": 18
3172                                    },
3173                                    "end": {
3174                                      "line": 48,
3175                                      "column": 24
3176                                    }
3177                                  }
3178                                },
3179                                "right": {
3180                                  "type": "BinaryExpression",
3181                                  "operator": "*",
3182                                  "left": {
3183                                    "type": "CallExpression",
3184                                    "callee": {
3185                                      "type": "Identifier",
3186                                      "name": "ufib_seq",
3187                                      "decorators": [],
3188                                      "loc": {
3189                                        "start": {
3190                                          "line": 48,
3191                                          "column": 27
3192                                        },
3193                                        "end": {
3194                                          "line": 48,
3195                                          "column": 35
3196                                        }
3197                                      }
3198                                    },
3199                                    "arguments": [
3200                                      {
3201                                        "type": "BinaryExpression",
3202                                        "operator": "-",
3203                                        "left": {
3204                                          "type": "BinaryExpression",
3205                                          "operator": "-",
3206                                          "left": {
3207                                            "type": "Identifier",
3208                                            "name": "n",
3209                                            "decorators": [],
3210                                            "loc": {
3211                                              "start": {
3212                                                "line": 48,
3213                                                "column": 36
3214                                              },
3215                                              "end": {
3216                                                "line": 48,
3217                                                "column": 37
3218                                              }
3219                                            }
3220                                          },
3221                                          "right": {
3222                                            "type": "NumberLiteral",
3223                                            "value": 1,
3224                                            "loc": {
3225                                              "start": {
3226                                                "line": 48,
3227                                                "column": 38
3228                                              },
3229                                              "end": {
3230                                                "line": 48,
3231                                                "column": 39
3232                                              }
3233                                            }
3234                                          },
3235                                          "loc": {
3236                                            "start": {
3237                                              "line": 48,
3238                                              "column": 36
3239                                            },
3240                                            "end": {
3241                                              "line": 48,
3242                                              "column": 39
3243                                            }
3244                                          }
3245                                        },
3246                                        "right": {
3247                                          "type": "Identifier",
3248                                          "name": "i",
3249                                          "decorators": [],
3250                                          "loc": {
3251                                            "start": {
3252                                              "line": 48,
3253                                              "column": 40
3254                                            },
3255                                            "end": {
3256                                              "line": 48,
3257                                              "column": 41
3258                                            }
3259                                          }
3260                                        },
3261                                        "loc": {
3262                                          "start": {
3263                                            "line": 48,
3264                                            "column": 36
3265                                          },
3266                                          "end": {
3267                                            "line": 48,
3268                                            "column": 41
3269                                          }
3270                                        }
3271                                      }
3272                                    ],
3273                                    "optional": false,
3274                                    "loc": {
3275                                      "start": {
3276                                        "line": 48,
3277                                        "column": 27
3278                                      },
3279                                      "end": {
3280                                        "line": 48,
3281                                        "column": 42
3282                                      }
3283                                    }
3284                                  },
3285                                  "right": {
3286                                    "type": "MemberExpression",
3287                                    "object": {
3288                                      "type": "Identifier",
3289                                      "name": "a",
3290                                      "decorators": [],
3291                                      "loc": {
3292                                        "start": {
3293                                          "line": 48,
3294                                          "column": 45
3295                                        },
3296                                        "end": {
3297                                          "line": 48,
3298                                          "column": 46
3299                                        }
3300                                      }
3301                                    },
3302                                    "property": {
3303                                      "type": "Identifier",
3304                                      "name": "i",
3305                                      "decorators": [],
3306                                      "loc": {
3307                                        "start": {
3308                                          "line": 48,
3309                                          "column": 47
3310                                        },
3311                                        "end": {
3312                                          "line": 48,
3313                                          "column": 48
3314                                        }
3315                                      }
3316                                    },
3317                                    "computed": true,
3318                                    "optional": false,
3319                                    "loc": {
3320                                      "start": {
3321                                        "line": 48,
3322                                        "column": 45
3323                                      },
3324                                      "end": {
3325                                        "line": 48,
3326                                        "column": 49
3327                                      }
3328                                    }
3329                                  },
3330                                  "loc": {
3331                                    "start": {
3332                                      "line": 48,
3333                                      "column": 27
3334                                    },
3335                                    "end": {
3336                                      "line": 48,
3337                                      "column": 49
3338                                    }
3339                                  }
3340                                },
3341                                "loc": {
3342                                  "start": {
3343                                    "line": 48,
3344                                    "column": 18
3345                                  },
3346                                  "end": {
3347                                    "line": 48,
3348                                    "column": 49
3349                                  }
3350                                }
3351                              },
3352                              "loc": {
3353                                "start": {
3354                                  "line": 48,
3355                                  "column": 9
3356                                },
3357                                "end": {
3358                                  "line": 48,
3359                                  "column": 49
3360                                }
3361                              }
3362                            },
3363                            "loc": {
3364                              "start": {
3365                                "line": 48,
3366                                "column": 9
3367                              },
3368                              "end": {
3369                                "line": 48,
3370                                "column": 50
3371                              }
3372                            }
3373                          }
3374                        ],
3375                        "loc": {
3376                          "start": {
3377                            "line": 47,
3378                            "column": 37
3379                          },
3380                          "end": {
3381                            "line": 49,
3382                            "column": 6
3383                          }
3384                        }
3385                      },
3386                      "loc": {
3387                        "start": {
3388                          "line": 47,
3389                          "column": 5
3390                        },
3391                        "end": {
3392                          "line": 49,
3393                          "column": 6
3394                        }
3395                      }
3396                    },
3397                    {
3398                      "type": "ReturnStatement",
3399                      "argument": {
3400                        "type": "Identifier",
3401                        "name": "result",
3402                        "decorators": [],
3403                        "loc": {
3404                          "start": {
3405                            "line": 50,
3406                            "column": 12
3407                          },
3408                          "end": {
3409                            "line": 50,
3410                            "column": 18
3411                          }
3412                        }
3413                      },
3414                      "loc": {
3415                        "start": {
3416                          "line": 50,
3417                          "column": 5
3418                        },
3419                        "end": {
3420                          "line": 50,
3421                          "column": 19
3422                        }
3423                      }
3424                    }
3425                  ],
3426                  "loc": {
3427                    "start": {
3428                      "line": 42,
3429                      "column": 33
3430                    },
3431                    "end": {
3432                      "line": 51,
3433                      "column": 2
3434                    }
3435                  }
3436                },
3437                "loc": {
3438                  "start": {
3439                    "line": 42,
3440                    "column": 18
3441                  },
3442                  "end": {
3443                    "line": 51,
3444                    "column": 2
3445                  }
3446                }
3447              },
3448              "loc": {
3449                "start": {
3450                  "line": 42,
3451                  "column": 18
3452                },
3453                "end": {
3454                  "line": 51,
3455                  "column": 2
3456                }
3457              }
3458            },
3459            "overloads": [],
3460            "decorators": [],
3461            "loc": {
3462              "start": {
3463                "line": 42,
3464                "column": 1
3465              },
3466              "end": {
3467                "line": 51,
3468                "column": 2
3469              }
3470            }
3471          },
3472          {
3473            "type": "MethodDefinition",
3474            "key": {
3475              "type": "Identifier",
3476              "name": "main",
3477              "decorators": [],
3478              "loc": {
3479                "start": {
3480                  "line": 52,
3481                  "column": 17
3482                },
3483                "end": {
3484                  "line": 52,
3485                  "column": 21
3486                }
3487              }
3488            },
3489            "kind": "method",
3490            "accessibility": "public",
3491            "static": true,
3492            "optional": false,
3493            "computed": false,
3494            "value": {
3495              "type": "FunctionExpression",
3496              "function": {
3497                "type": "ScriptFunction",
3498                "id": {
3499                  "type": "Identifier",
3500                  "name": "main",
3501                  "decorators": [],
3502                  "loc": {
3503                    "start": {
3504                      "line": 52,
3505                      "column": 17
3506                    },
3507                    "end": {
3508                      "line": 52,
3509                      "column": 21
3510                    }
3511                  }
3512                },
3513                "generator": false,
3514                "async": false,
3515                "expression": false,
3516                "params": [],
3517                "returnType": {
3518                  "type": "ETSPrimitiveType",
3519                  "loc": {
3520                    "start": {
3521                      "line": 52,
3522                      "column": 25
3523                    },
3524                    "end": {
3525                      "line": 52,
3526                      "column": 28
3527                    }
3528                  }
3529                },
3530                "body": {
3531                  "type": "BlockStatement",
3532                  "statements": [
3533                    {
3534                      "type": "ExpressionStatement",
3535                      "expression": {
3536                        "type": "AssignmentExpression",
3537                        "operator": "=",
3538                        "left": {
3539                          "type": "MemberExpression",
3540                          "object": {
3541                            "type": "Identifier",
3542                            "name": "a",
3543                            "decorators": [],
3544                            "loc": {
3545                              "start": {
3546                                "line": 53,
3547                                "column": 5
3548                              },
3549                              "end": {
3550                                "line": 53,
3551                                "column": 6
3552                              }
3553                            }
3554                          },
3555                          "property": {
3556                            "type": "NumberLiteral",
3557                            "value": 0,
3558                            "loc": {
3559                              "start": {
3560                                "line": 53,
3561                                "column": 7
3562                              },
3563                              "end": {
3564                                "line": 53,
3565                                "column": 8
3566                              }
3567                            }
3568                          },
3569                          "computed": true,
3570                          "optional": false,
3571                          "loc": {
3572                            "start": {
3573                              "line": 53,
3574                              "column": 5
3575                            },
3576                            "end": {
3577                              "line": 53,
3578                              "column": 9
3579                            }
3580                          }
3581                        },
3582                        "right": {
3583                          "type": "NumberLiteral",
3584                          "value": 2,
3585                          "loc": {
3586                            "start": {
3587                              "line": 53,
3588                              "column": 12
3589                            },
3590                            "end": {
3591                              "line": 53,
3592                              "column": 13
3593                            }
3594                          }
3595                        },
3596                        "loc": {
3597                          "start": {
3598                            "line": 53,
3599                            "column": 5
3600                          },
3601                          "end": {
3602                            "line": 53,
3603                            "column": 13
3604                          }
3605                        }
3606                      },
3607                      "loc": {
3608                        "start": {
3609                          "line": 53,
3610                          "column": 5
3611                        },
3612                        "end": {
3613                          "line": 53,
3614                          "column": 14
3615                        }
3616                      }
3617                    },
3618                    {
3619                      "type": "ExpressionStatement",
3620                      "expression": {
3621                        "type": "AssignmentExpression",
3622                        "operator": "=",
3623                        "left": {
3624                          "type": "MemberExpression",
3625                          "object": {
3626                            "type": "Identifier",
3627                            "name": "v",
3628                            "decorators": [],
3629                            "loc": {
3630                              "start": {
3631                                "line": 54,
3632                                "column": 5
3633                              },
3634                              "end": {
3635                                "line": 54,
3636                                "column": 6
3637                              }
3638                            }
3639                          },
3640                          "property": {
3641                            "type": "NumberLiteral",
3642                            "value": 0,
3643                            "loc": {
3644                              "start": {
3645                                "line": 54,
3646                                "column": 7
3647                              },
3648                              "end": {
3649                                "line": 54,
3650                                "column": 8
3651                              }
3652                            }
3653                          },
3654                          "computed": true,
3655                          "optional": false,
3656                          "loc": {
3657                            "start": {
3658                              "line": 54,
3659                              "column": 5
3660                            },
3661                            "end": {
3662                              "line": 54,
3663                              "column": 9
3664                            }
3665                          }
3666                        },
3667                        "right": {
3668                          "type": "NumberLiteral",
3669                          "value": 6,
3670                          "loc": {
3671                            "start": {
3672                              "line": 54,
3673                              "column": 12
3674                            },
3675                            "end": {
3676                              "line": 54,
3677                              "column": 13
3678                            }
3679                          }
3680                        },
3681                        "loc": {
3682                          "start": {
3683                            "line": 54,
3684                            "column": 5
3685                          },
3686                          "end": {
3687                            "line": 54,
3688                            "column": 13
3689                          }
3690                        }
3691                      },
3692                      "loc": {
3693                        "start": {
3694                          "line": 54,
3695                          "column": 5
3696                        },
3697                        "end": {
3698                          "line": 54,
3699                          "column": 14
3700                        }
3701                      }
3702                    },
3703                    {
3704                      "type": "ExpressionStatement",
3705                      "expression": {
3706                        "type": "AssignmentExpression",
3707                        "operator": "=",
3708                        "left": {
3709                          "type": "MemberExpression",
3710                          "object": {
3711                            "type": "Identifier",
3712                            "name": "a",
3713                            "decorators": [],
3714                            "loc": {
3715                              "start": {
3716                                "line": 55,
3717                                "column": 5
3718                              },
3719                              "end": {
3720                                "line": 55,
3721                                "column": 6
3722                              }
3723                            }
3724                          },
3725                          "property": {
3726                            "type": "NumberLiteral",
3727                            "value": 1,
3728                            "loc": {
3729                              "start": {
3730                                "line": 55,
3731                                "column": 7
3732                              },
3733                              "end": {
3734                                "line": 55,
3735                                "column": 8
3736                              }
3737                            }
3738                          },
3739                          "computed": true,
3740                          "optional": false,
3741                          "loc": {
3742                            "start": {
3743                              "line": 55,
3744                              "column": 5
3745                            },
3746                            "end": {
3747                              "line": 55,
3748                              "column": 9
3749                            }
3750                          }
3751                        },
3752                        "right": {
3753                          "type": "NumberLiteral",
3754                          "value": 2,
3755                          "loc": {
3756                            "start": {
3757                              "line": 55,
3758                              "column": 12
3759                            },
3760                            "end": {
3761                              "line": 55,
3762                              "column": 13
3763                            }
3764                          }
3765                        },
3766                        "loc": {
3767                          "start": {
3768                            "line": 55,
3769                            "column": 5
3770                          },
3771                          "end": {
3772                            "line": 55,
3773                            "column": 13
3774                          }
3775                        }
3776                      },
3777                      "loc": {
3778                        "start": {
3779                          "line": 55,
3780                          "column": 5
3781                        },
3782                        "end": {
3783                          "line": 55,
3784                          "column": 14
3785                        }
3786                      }
3787                    },
3788                    {
3789                      "type": "ExpressionStatement",
3790                      "expression": {
3791                        "type": "AssignmentExpression",
3792                        "operator": "=",
3793                        "left": {
3794                          "type": "MemberExpression",
3795                          "object": {
3796                            "type": "Identifier",
3797                            "name": "v",
3798                            "decorators": [],
3799                            "loc": {
3800                              "start": {
3801                                "line": 56,
3802                                "column": 5
3803                              },
3804                              "end": {
3805                                "line": 56,
3806                                "column": 6
3807                              }
3808                            }
3809                          },
3810                          "property": {
3811                            "type": "NumberLiteral",
3812                            "value": 1,
3813                            "loc": {
3814                              "start": {
3815                                "line": 56,
3816                                "column": 7
3817                              },
3818                              "end": {
3819                                "line": 56,
3820                                "column": 8
3821                              }
3822                            }
3823                          },
3824                          "computed": true,
3825                          "optional": false,
3826                          "loc": {
3827                            "start": {
3828                              "line": 56,
3829                              "column": 5
3830                            },
3831                            "end": {
3832                              "line": 56,
3833                              "column": 9
3834                            }
3835                          }
3836                        },
3837                        "right": {
3838                          "type": "NumberLiteral",
3839                          "value": 7,
3840                          "loc": {
3841                            "start": {
3842                              "line": 56,
3843                              "column": 12
3844                            },
3845                            "end": {
3846                              "line": 56,
3847                              "column": 13
3848                            }
3849                          }
3850                        },
3851                        "loc": {
3852                          "start": {
3853                            "line": 56,
3854                            "column": 5
3855                          },
3856                          "end": {
3857                            "line": 56,
3858                            "column": 13
3859                          }
3860                        }
3861                      },
3862                      "loc": {
3863                        "start": {
3864                          "line": 56,
3865                          "column": 5
3866                        },
3867                        "end": {
3868                          "line": 56,
3869                          "column": 14
3870                        }
3871                      }
3872                    },
3873                    {
3874                      "type": "VariableDeclaration",
3875                      "declarations": [
3876                        {
3877                          "type": "VariableDeclarator",
3878                          "id": {
3879                            "type": "Identifier",
3880                            "name": "seq_result",
3881                            "decorators": [],
3882                            "loc": {
3883                              "start": {
3884                                "line": 57,
3885                                "column": 9
3886                              },
3887                              "end": {
3888                                "line": 57,
3889                                "column": 19
3890                              }
3891                            }
3892                          },
3893                          "init": {
3894                            "type": "CallExpression",
3895                            "callee": {
3896                              "type": "Identifier",
3897                              "name": "ufib_seq",
3898                              "decorators": [],
3899                              "loc": {
3900                                "start": {
3901                                  "line": 57,
3902                                  "column": 22
3903                                },
3904                                "end": {
3905                                  "line": 57,
3906                                  "column": 30
3907                                }
3908                              }
3909                            },
3910                            "arguments": [
3911                              {
3912                                "type": "Identifier",
3913                                "name": "n",
3914                                "decorators": [],
3915                                "loc": {
3916                                  "start": {
3917                                    "line": 57,
3918                                    "column": 31
3919                                  },
3920                                  "end": {
3921                                    "line": 57,
3922                                    "column": 32
3923                                  }
3924                                }
3925                              }
3926                            ],
3927                            "optional": false,
3928                            "loc": {
3929                              "start": {
3930                                "line": 57,
3931                                "column": 22
3932                              },
3933                              "end": {
3934                                "line": 57,
3935                                "column": 33
3936                              }
3937                            }
3938                          },
3939                          "loc": {
3940                            "start": {
3941                              "line": 57,
3942                              "column": 9
3943                            },
3944                            "end": {
3945                              "line": 57,
3946                              "column": 33
3947                            }
3948                          }
3949                        }
3950                      ],
3951                      "kind": "let",
3952                      "loc": {
3953                        "start": {
3954                          "line": 57,
3955                          "column": 5
3956                        },
3957                        "end": {
3958                          "line": 57,
3959                          "column": 34
3960                        }
3961                      }
3962                    },
3963                    {
3964                      "type": "VariableDeclaration",
3965                      "declarations": [
3966                        {
3967                          "type": "VariableDeclarator",
3968                          "id": {
3969                            "type": "Identifier",
3970                            "name": "p",
3971                            "decorators": [],
3972                            "loc": {
3973                              "start": {
3974                                "line": 58,
3975                                "column": 9
3976                              },
3977                              "end": {
3978                                "line": 58,
3979                                "column": 10
3980                              }
3981                            }
3982                          },
3983                          "init": {
3984                            "type": "ETSLaunchExpression",
3985                            "expr": {
3986                              "type": "CallExpression",
3987                              "callee": {
3988                                "type": "Identifier",
3989                                "name": "ufib",
3990                                "decorators": [],
3991                                "loc": {
3992                                  "start": {
3993                                    "line": 58,
3994                                    "column": 20
3995                                  },
3996                                  "end": {
3997                                    "line": 58,
3998                                    "column": 24
3999                                  }
4000                                }
4001                              },
4002                              "arguments": [
4003                                {
4004                                  "type": "Identifier",
4005                                  "name": "n",
4006                                  "decorators": [],
4007                                  "loc": {
4008                                    "start": {
4009                                      "line": 58,
4010                                      "column": 25
4011                                    },
4012                                    "end": {
4013                                      "line": 58,
4014                                      "column": 26
4015                                    }
4016                                  }
4017                                }
4018                              ],
4019                              "optional": false,
4020                              "loc": {
4021                                "start": {
4022                                  "line": 58,
4023                                  "column": 20
4024                                },
4025                                "end": {
4026                                  "line": 58,
4027                                  "column": 27
4028                                }
4029                              }
4030                            },
4031                            "loc": {
4032                              "start": {
4033                                "line": 58,
4034                                "column": 13
4035                              },
4036                              "end": {
4037                                "line": 58,
4038                                "column": 27
4039                              }
4040                            }
4041                          },
4042                          "loc": {
4043                            "start": {
4044                              "line": 58,
4045                              "column": 9
4046                            },
4047                            "end": {
4048                              "line": 58,
4049                              "column": 27
4050                            }
4051                          }
4052                        }
4053                      ],
4054                      "kind": "let",
4055                      "loc": {
4056                        "start": {
4057                          "line": 58,
4058                          "column": 5
4059                        },
4060                        "end": {
4061                          "line": 58,
4062                          "column": 28
4063                        }
4064                      }
4065                    },
4066                    {
4067                      "type": "VariableDeclaration",
4068                      "declarations": [
4069                        {
4070                          "type": "VariableDeclarator",
4071                          "id": {
4072                            "type": "Identifier",
4073                            "name": "co_result",
4074                            "decorators": [],
4075                            "loc": {
4076                              "start": {
4077                                "line": 59,
4078                                "column": 9
4079                              },
4080                              "end": {
4081                                "line": 59,
4082                                "column": 18
4083                              }
4084                            }
4085                          },
4086                          "init": {
4087                            "type": "CallExpression",
4088                            "callee": {
4089                              "type": "MemberExpression",
4090                              "object": {
4091                                "type": "Identifier",
4092                                "name": "p",
4093                                "decorators": [],
4094                                "loc": {
4095                                  "start": {
4096                                    "line": 59,
4097                                    "column": 21
4098                                  },
4099                                  "end": {
4100                                    "line": 59,
4101                                    "column": 22
4102                                  }
4103                                }
4104                              },
4105                              "property": {
4106                                "type": "Identifier",
4107                                "name": "awaitResolution",
4108                                "decorators": [],
4109                                "loc": {
4110                                  "start": {
4111                                    "line": 59,
4112                                    "column": 23
4113                                  },
4114                                  "end": {
4115                                    "line": 59,
4116                                    "column": 38
4117                                  }
4118                                }
4119                              },
4120                              "computed": false,
4121                              "optional": false,
4122                              "loc": {
4123                                "start": {
4124                                  "line": 59,
4125                                  "column": 21
4126                                },
4127                                "end": {
4128                                  "line": 59,
4129                                  "column": 38
4130                                }
4131                              }
4132                            },
4133                            "arguments": [],
4134                            "optional": false,
4135                            "loc": {
4136                              "start": {
4137                                "line": 59,
4138                                "column": 21
4139                              },
4140                              "end": {
4141                                "line": 59,
4142                                "column": 40
4143                              }
4144                            }
4145                          },
4146                          "loc": {
4147                            "start": {
4148                              "line": 59,
4149                              "column": 9
4150                            },
4151                            "end": {
4152                              "line": 59,
4153                              "column": 40
4154                            }
4155                          }
4156                        }
4157                      ],
4158                      "kind": "let",
4159                      "loc": {
4160                        "start": {
4161                          "line": 59,
4162                          "column": 5
4163                        },
4164                        "end": {
4165                          "line": 59,
4166                          "column": 41
4167                        }
4168                      }
4169                    },
4170                    {
4171                      "type": "ExpressionStatement",
4172                      "expression": {
4173                        "type": "CallExpression",
4174                        "callee": {
4175                          "type": "Identifier",
4176                          "name": "assert_eq",
4177                          "decorators": [],
4178                          "loc": {
4179                            "start": {
4180                              "line": 60,
4181                              "column": 5
4182                            },
4183                            "end": {
4184                              "line": 60,
4185                              "column": 14
4186                            }
4187                          }
4188                        },
4189                        "arguments": [
4190                          {
4191                            "type": "TSAsExpression",
4192                            "expression": {
4193                              "type": "Identifier",
4194                              "name": "co_result",
4195                              "decorators": [],
4196                              "loc": {
4197                                "start": {
4198                                  "line": 60,
4199                                  "column": 15
4200                                },
4201                                "end": {
4202                                  "line": 60,
4203                                  "column": 24
4204                                }
4205                              }
4206                            },
4207                            "typeAnnotation": {
4208                              "type": "ETSPrimitiveType",
4209                              "loc": {
4210                                "start": {
4211                                  "line": 60,
4212                                  "column": 28
4213                                },
4214                                "end": {
4215                                  "line": 60,
4216                                  "column": 31
4217                                }
4218                              }
4219                            },
4220                            "loc": {
4221                              "start": {
4222                                "line": 60,
4223                                "column": 15
4224                              },
4225                              "end": {
4226                                "line": 60,
4227                                "column": 24
4228                              }
4229                            }
4230                          },
4231                          {
4232                            "type": "Identifier",
4233                            "name": "seq_result",
4234                            "decorators": [],
4235                            "loc": {
4236                              "start": {
4237                                "line": 60,
4238                                "column": 33
4239                              },
4240                              "end": {
4241                                "line": 60,
4242                                "column": 43
4243                              }
4244                            }
4245                          }
4246                        ],
4247                        "optional": false,
4248                        "loc": {
4249                          "start": {
4250                            "line": 60,
4251                            "column": 5
4252                          },
4253                          "end": {
4254                            "line": 60,
4255                            "column": 44
4256                          }
4257                        }
4258                      },
4259                      "loc": {
4260                        "start": {
4261                          "line": 60,
4262                          "column": 5
4263                        },
4264                        "end": {
4265                          "line": 60,
4266                          "column": 45
4267                        }
4268                      }
4269                    },
4270                    {
4271                      "type": "ReturnStatement",
4272                      "argument": {
4273                        "type": "NumberLiteral",
4274                        "value": 0,
4275                        "loc": {
4276                          "start": {
4277                            "line": 61,
4278                            "column": 12
4279                          },
4280                          "end": {
4281                            "line": 61,
4282                            "column": 13
4283                          }
4284                        }
4285                      },
4286                      "loc": {
4287                        "start": {
4288                          "line": 61,
4289                          "column": 5
4290                        },
4291                        "end": {
4292                          "line": 61,
4293                          "column": 14
4294                        }
4295                      }
4296                    }
4297                  ],
4298                  "loc": {
4299                    "start": {
4300                      "line": 52,
4301                      "column": 29
4302                    },
4303                    "end": {
4304                      "line": 62,
4305                      "column": 2
4306                    }
4307                  }
4308                },
4309                "loc": {
4310                  "start": {
4311                    "line": 52,
4312                    "column": 21
4313                  },
4314                  "end": {
4315                    "line": 62,
4316                    "column": 2
4317                  }
4318                }
4319              },
4320              "loc": {
4321                "start": {
4322                  "line": 52,
4323                  "column": 21
4324                },
4325                "end": {
4326                  "line": 62,
4327                  "column": 2
4328                }
4329              }
4330            },
4331            "overloads": [],
4332            "decorators": [],
4333            "loc": {
4334              "start": {
4335                "line": 52,
4336                "column": 8
4337              },
4338              "end": {
4339                "line": 62,
4340                "column": 2
4341              }
4342            }
4343          }
4344        ],
4345        "loc": {
4346          "start": {
4347            "line": 1,
4348            "column": 1
4349          },
4350          "end": {
4351            "line": 1,
4352            "column": 1
4353          }
4354        }
4355      },
4356      "loc": {
4357        "start": {
4358          "line": 1,
4359          "column": 1
4360        },
4361        "end": {
4362          "line": 1,
4363          "column": 1
4364        }
4365      }
4366    }
4367  ],
4368  "loc": {
4369    "start": {
4370      "line": 1,
4371      "column": 1
4372    },
4373    "end": {
4374      "line": 63,
4375      "column": 1
4376    }
4377  }
4378}
4379