1{
2  "type": "Program",
3  "statements": [
4    {
5      "type": "TSInterfaceDeclaration",
6      "body": {
7        "type": "TSInterfaceBody",
8        "body": [
9          {
10            "type": "MethodDefinition",
11            "key": {
12              "type": "Identifier",
13              "name": "pushFront",
14              "decorators": [],
15              "loc": {
16                "start": {
17                  "line": 20,
18                  "column": 5
19                },
20                "end": {
21                  "line": 20,
22                  "column": 14
23                }
24              }
25            },
26            "kind": "method",
27            "accessibility": "public",
28            "static": false,
29            "optional": false,
30            "computed": false,
31            "value": {
32              "type": "FunctionExpression",
33              "function": {
34                "type": "ScriptFunction",
35                "id": {
36                  "type": "Identifier",
37                  "name": "pushFront",
38                  "decorators": [],
39                  "loc": {
40                    "start": {
41                      "line": 20,
42                      "column": 5
43                    },
44                    "end": {
45                      "line": 20,
46                      "column": 14
47                    }
48                  }
49                },
50                "generator": false,
51                "async": false,
52                "expression": false,
53                "params": [
54                  {
55                    "type": "ETSParameterExpression",
56                    "name": {
57                      "type": "Identifier",
58                      "name": "e",
59                      "typeAnnotation": {
60                        "type": "ETSTypeReference",
61                        "part": {
62                          "type": "ETSTypeReferencePart",
63                          "name": {
64                            "type": "Identifier",
65                            "name": "T",
66                            "decorators": [],
67                            "loc": {
68                              "start": {
69                                "line": 20,
70                                "column": 18
71                              },
72                              "end": {
73                                "line": 20,
74                                "column": 19
75                              }
76                            }
77                          },
78                          "loc": {
79                            "start": {
80                              "line": 20,
81                              "column": 18
82                            },
83                            "end": {
84                              "line": 20,
85                              "column": 20
86                            }
87                          }
88                        },
89                        "loc": {
90                          "start": {
91                            "line": 20,
92                            "column": 18
93                          },
94                          "end": {
95                            "line": 20,
96                            "column": 20
97                          }
98                        }
99                      },
100                      "decorators": [],
101                      "loc": {
102                        "start": {
103                          "line": 20,
104                          "column": 15
105                        },
106                        "end": {
107                          "line": 20,
108                          "column": 20
109                        }
110                      }
111                    },
112                    "loc": {
113                      "start": {
114                        "line": 20,
115                        "column": 15
116                      },
117                      "end": {
118                        "line": 20,
119                        "column": 20
120                      }
121                    }
122                  }
123                ],
124                "returnType": {
125                  "type": "ETSPrimitiveType",
126                  "loc": {
127                    "start": {
128                      "line": 20,
129                      "column": 22
130                    },
131                    "end": {
132                      "line": 20,
133                      "column": 26
134                    }
135                  }
136                },
137                "declare": true,
138                "loc": {
139                  "start": {
140                    "line": 20,
141                    "column": 14
142                  },
143                  "end": {
144                    "line": 20,
145                    "column": 26
146                  }
147                }
148              },
149              "loc": {
150                "start": {
151                  "line": 20,
152                  "column": 14
153                },
154                "end": {
155                  "line": 20,
156                  "column": 26
157                }
158              }
159            },
160            "overloads": [],
161            "decorators": [],
162            "loc": {
163              "start": {
164                "line": 20,
165                "column": 5
166              },
167              "end": {
168                "line": 20,
169                "column": 27
170              }
171            }
172          },
173          {
174            "type": "MethodDefinition",
175            "key": {
176              "type": "Identifier",
177              "name": "popFront",
178              "decorators": [],
179              "loc": {
180                "start": {
181                  "line": 21,
182                  "column": 5
183                },
184                "end": {
185                  "line": 21,
186                  "column": 13
187                }
188              }
189            },
190            "kind": "method",
191            "accessibility": "public",
192            "static": false,
193            "optional": false,
194            "computed": false,
195            "value": {
196              "type": "FunctionExpression",
197              "function": {
198                "type": "ScriptFunction",
199                "id": {
200                  "type": "Identifier",
201                  "name": "popFront",
202                  "decorators": [],
203                  "loc": {
204                    "start": {
205                      "line": 21,
206                      "column": 5
207                    },
208                    "end": {
209                      "line": 21,
210                      "column": 13
211                    }
212                  }
213                },
214                "generator": false,
215                "async": false,
216                "expression": false,
217                "params": [],
218                "returnType": {
219                  "type": "ETSTypeReference",
220                  "part": {
221                    "type": "ETSTypeReferencePart",
222                    "name": {
223                      "type": "Identifier",
224                      "name": "T",
225                      "decorators": [],
226                      "loc": {
227                        "start": {
228                          "line": 21,
229                          "column": 17
230                        },
231                        "end": {
232                          "line": 21,
233                          "column": 18
234                        }
235                      }
236                    },
237                    "loc": {
238                      "start": {
239                        "line": 21,
240                        "column": 17
241                      },
242                      "end": {
243                        "line": 21,
244                        "column": 19
245                      }
246                    }
247                  },
248                  "loc": {
249                    "start": {
250                      "line": 21,
251                      "column": 17
252                    },
253                    "end": {
254                      "line": 21,
255                      "column": 19
256                    }
257                  }
258                },
259                "declare": true,
260                "loc": {
261                  "start": {
262                    "line": 21,
263                    "column": 13
264                  },
265                  "end": {
266                    "line": 21,
267                    "column": 19
268                  }
269                }
270              },
271              "loc": {
272                "start": {
273                  "line": 21,
274                  "column": 13
275                },
276                "end": {
277                  "line": 21,
278                  "column": 19
279                }
280              }
281            },
282            "overloads": [],
283            "decorators": [],
284            "loc": {
285              "start": {
286                "line": 21,
287                "column": 5
288              },
289              "end": {
290                "line": 21,
291                "column": 19
292              }
293            }
294          },
295          {
296            "type": "MethodDefinition",
297            "key": {
298              "type": "Identifier",
299              "name": "pushBack",
300              "decorators": [],
301              "loc": {
302                "start": {
303                  "line": 22,
304                  "column": 5
305                },
306                "end": {
307                  "line": 22,
308                  "column": 13
309                }
310              }
311            },
312            "kind": "method",
313            "accessibility": "public",
314            "static": false,
315            "optional": false,
316            "computed": false,
317            "value": {
318              "type": "FunctionExpression",
319              "function": {
320                "type": "ScriptFunction",
321                "id": {
322                  "type": "Identifier",
323                  "name": "pushBack",
324                  "decorators": [],
325                  "loc": {
326                    "start": {
327                      "line": 22,
328                      "column": 5
329                    },
330                    "end": {
331                      "line": 22,
332                      "column": 13
333                    }
334                  }
335                },
336                "generator": false,
337                "async": false,
338                "expression": false,
339                "params": [
340                  {
341                    "type": "ETSParameterExpression",
342                    "name": {
343                      "type": "Identifier",
344                      "name": "e",
345                      "typeAnnotation": {
346                        "type": "ETSTypeReference",
347                        "part": {
348                          "type": "ETSTypeReferencePart",
349                          "name": {
350                            "type": "Identifier",
351                            "name": "T",
352                            "decorators": [],
353                            "loc": {
354                              "start": {
355                                "line": 22,
356                                "column": 17
357                              },
358                              "end": {
359                                "line": 22,
360                                "column": 18
361                              }
362                            }
363                          },
364                          "loc": {
365                            "start": {
366                              "line": 22,
367                              "column": 17
368                            },
369                            "end": {
370                              "line": 22,
371                              "column": 19
372                            }
373                          }
374                        },
375                        "loc": {
376                          "start": {
377                            "line": 22,
378                            "column": 17
379                          },
380                          "end": {
381                            "line": 22,
382                            "column": 19
383                          }
384                        }
385                      },
386                      "decorators": [],
387                      "loc": {
388                        "start": {
389                          "line": 22,
390                          "column": 14
391                        },
392                        "end": {
393                          "line": 22,
394                          "column": 19
395                        }
396                      }
397                    },
398                    "loc": {
399                      "start": {
400                        "line": 22,
401                        "column": 14
402                      },
403                      "end": {
404                        "line": 22,
405                        "column": 19
406                      }
407                    }
408                  }
409                ],
410                "returnType": {
411                  "type": "ETSPrimitiveType",
412                  "loc": {
413                    "start": {
414                      "line": 22,
415                      "column": 21
416                    },
417                    "end": {
418                      "line": 22,
419                      "column": 25
420                    }
421                  }
422                },
423                "declare": true,
424                "loc": {
425                  "start": {
426                    "line": 22,
427                    "column": 13
428                  },
429                  "end": {
430                    "line": 22,
431                    "column": 25
432                  }
433                }
434              },
435              "loc": {
436                "start": {
437                  "line": 22,
438                  "column": 13
439                },
440                "end": {
441                  "line": 22,
442                  "column": 25
443                }
444              }
445            },
446            "overloads": [],
447            "decorators": [],
448            "loc": {
449              "start": {
450                "line": 22,
451                "column": 5
452              },
453              "end": {
454                "line": 22,
455                "column": 26
456              }
457            }
458          },
459          {
460            "type": "MethodDefinition",
461            "key": {
462              "type": "Identifier",
463              "name": "popBack",
464              "decorators": [],
465              "loc": {
466                "start": {
467                  "line": 23,
468                  "column": 5
469                },
470                "end": {
471                  "line": 23,
472                  "column": 12
473                }
474              }
475            },
476            "kind": "method",
477            "accessibility": "public",
478            "static": false,
479            "optional": false,
480            "computed": false,
481            "value": {
482              "type": "FunctionExpression",
483              "function": {
484                "type": "ScriptFunction",
485                "id": {
486                  "type": "Identifier",
487                  "name": "popBack",
488                  "decorators": [],
489                  "loc": {
490                    "start": {
491                      "line": 23,
492                      "column": 5
493                    },
494                    "end": {
495                      "line": 23,
496                      "column": 12
497                    }
498                  }
499                },
500                "generator": false,
501                "async": false,
502                "expression": false,
503                "params": [],
504                "returnType": {
505                  "type": "ETSTypeReference",
506                  "part": {
507                    "type": "ETSTypeReferencePart",
508                    "name": {
509                      "type": "Identifier",
510                      "name": "T",
511                      "decorators": [],
512                      "loc": {
513                        "start": {
514                          "line": 23,
515                          "column": 16
516                        },
517                        "end": {
518                          "line": 23,
519                          "column": 17
520                        }
521                      }
522                    },
523                    "loc": {
524                      "start": {
525                        "line": 23,
526                        "column": 16
527                      },
528                      "end": {
529                        "line": 23,
530                        "column": 18
531                      }
532                    }
533                  },
534                  "loc": {
535                    "start": {
536                      "line": 23,
537                      "column": 16
538                    },
539                    "end": {
540                      "line": 23,
541                      "column": 18
542                    }
543                  }
544                },
545                "declare": true,
546                "loc": {
547                  "start": {
548                    "line": 23,
549                    "column": 12
550                  },
551                  "end": {
552                    "line": 23,
553                    "column": 18
554                  }
555                }
556              },
557              "loc": {
558                "start": {
559                  "line": 23,
560                  "column": 12
561                },
562                "end": {
563                  "line": 23,
564                  "column": 18
565                }
566              }
567            },
568            "overloads": [],
569            "decorators": [],
570            "loc": {
571              "start": {
572                "line": 23,
573                "column": 5
574              },
575              "end": {
576                "line": 23,
577                "column": 18
578              }
579            }
580          },
581          {
582            "type": "MethodDefinition",
583            "key": {
584              "type": "Identifier",
585              "name": "size",
586              "decorators": [],
587              "loc": {
588                "start": {
589                  "line": 25,
590                  "column": 5
591                },
592                "end": {
593                  "line": 25,
594                  "column": 9
595                }
596              }
597            },
598            "kind": "method",
599            "accessibility": "public",
600            "static": false,
601            "optional": false,
602            "computed": false,
603            "value": {
604              "type": "FunctionExpression",
605              "function": {
606                "type": "ScriptFunction",
607                "id": {
608                  "type": "Identifier",
609                  "name": "size",
610                  "decorators": [],
611                  "loc": {
612                    "start": {
613                      "line": 25,
614                      "column": 5
615                    },
616                    "end": {
617                      "line": 25,
618                      "column": 9
619                    }
620                  }
621                },
622                "generator": false,
623                "async": false,
624                "expression": false,
625                "params": [],
626                "returnType": {
627                  "type": "ETSPrimitiveType",
628                  "loc": {
629                    "start": {
630                      "line": 25,
631                      "column": 13
632                    },
633                    "end": {
634                      "line": 25,
635                      "column": 16
636                    }
637                  }
638                },
639                "declare": true,
640                "loc": {
641                  "start": {
642                    "line": 25,
643                    "column": 9
644                  },
645                  "end": {
646                    "line": 25,
647                    "column": 16
648                  }
649                }
650              },
651              "loc": {
652                "start": {
653                  "line": 25,
654                  "column": 9
655                },
656                "end": {
657                  "line": 25,
658                  "column": 16
659                }
660              }
661            },
662            "overloads": [],
663            "decorators": [],
664            "loc": {
665              "start": {
666                "line": 25,
667                "column": 5
668              },
669              "end": {
670                "line": 25,
671                "column": 17
672              }
673            }
674          },
675          {
676            "type": "MethodDefinition",
677            "key": {
678              "type": "Identifier",
679              "name": "at",
680              "decorators": [],
681              "loc": {
682                "start": {
683                  "line": 26,
684                  "column": 5
685                },
686                "end": {
687                  "line": 26,
688                  "column": 7
689                }
690              }
691            },
692            "kind": "method",
693            "accessibility": "public",
694            "static": false,
695            "optional": false,
696            "computed": false,
697            "value": {
698              "type": "FunctionExpression",
699              "function": {
700                "type": "ScriptFunction",
701                "id": {
702                  "type": "Identifier",
703                  "name": "at",
704                  "decorators": [],
705                  "loc": {
706                    "start": {
707                      "line": 26,
708                      "column": 5
709                    },
710                    "end": {
711                      "line": 26,
712                      "column": 7
713                    }
714                  }
715                },
716                "generator": false,
717                "async": false,
718                "expression": false,
719                "params": [
720                  {
721                    "type": "ETSParameterExpression",
722                    "name": {
723                      "type": "Identifier",
724                      "name": "index",
725                      "typeAnnotation": {
726                        "type": "ETSPrimitiveType",
727                        "loc": {
728                          "start": {
729                            "line": 26,
730                            "column": 15
731                          },
732                          "end": {
733                            "line": 26,
734                            "column": 18
735                          }
736                        }
737                      },
738                      "decorators": [],
739                      "loc": {
740                        "start": {
741                          "line": 26,
742                          "column": 8
743                        },
744                        "end": {
745                          "line": 26,
746                          "column": 18
747                        }
748                      }
749                    },
750                    "loc": {
751                      "start": {
752                        "line": 26,
753                        "column": 8
754                      },
755                      "end": {
756                        "line": 26,
757                        "column": 18
758                      }
759                    }
760                  }
761                ],
762                "returnType": {
763                  "type": "ETSTypeReference",
764                  "part": {
765                    "type": "ETSTypeReferencePart",
766                    "name": {
767                      "type": "Identifier",
768                      "name": "T",
769                      "decorators": [],
770                      "loc": {
771                        "start": {
772                          "line": 26,
773                          "column": 21
774                        },
775                        "end": {
776                          "line": 26,
777                          "column": 22
778                        }
779                      }
780                    },
781                    "loc": {
782                      "start": {
783                        "line": 26,
784                        "column": 21
785                      },
786                      "end": {
787                        "line": 26,
788                        "column": 23
789                      }
790                    }
791                  },
792                  "loc": {
793                    "start": {
794                      "line": 26,
795                      "column": 21
796                    },
797                    "end": {
798                      "line": 26,
799                      "column": 23
800                    }
801                  }
802                },
803                "declare": true,
804                "loc": {
805                  "start": {
806                    "line": 26,
807                    "column": 7
808                  },
809                  "end": {
810                    "line": 26,
811                    "column": 23
812                  }
813                }
814              },
815              "loc": {
816                "start": {
817                  "line": 26,
818                  "column": 7
819                },
820                "end": {
821                  "line": 26,
822                  "column": 23
823                }
824              }
825            },
826            "overloads": [],
827            "decorators": [],
828            "loc": {
829              "start": {
830                "line": 26,
831                "column": 5
832              },
833              "end": {
834                "line": 26,
835                "column": 23
836              }
837            }
838          },
839          {
840            "type": "MethodDefinition",
841            "key": {
842              "type": "Identifier",
843              "name": "has",
844              "decorators": [],
845              "loc": {
846                "start": {
847                  "line": 27,
848                  "column": 5
849                },
850                "end": {
851                  "line": 27,
852                  "column": 8
853                }
854              }
855            },
856            "kind": "method",
857            "accessibility": "public",
858            "static": false,
859            "optional": false,
860            "computed": false,
861            "value": {
862              "type": "FunctionExpression",
863              "function": {
864                "type": "ScriptFunction",
865                "id": {
866                  "type": "Identifier",
867                  "name": "has",
868                  "decorators": [],
869                  "loc": {
870                    "start": {
871                      "line": 27,
872                      "column": 5
873                    },
874                    "end": {
875                      "line": 27,
876                      "column": 8
877                    }
878                  }
879                },
880                "generator": false,
881                "async": false,
882                "expression": false,
883                "params": [
884                  {
885                    "type": "ETSParameterExpression",
886                    "name": {
887                      "type": "Identifier",
888                      "name": "e",
889                      "typeAnnotation": {
890                        "type": "ETSTypeReference",
891                        "part": {
892                          "type": "ETSTypeReferencePart",
893                          "name": {
894                            "type": "Identifier",
895                            "name": "T",
896                            "decorators": [],
897                            "loc": {
898                              "start": {
899                                "line": 27,
900                                "column": 12
901                              },
902                              "end": {
903                                "line": 27,
904                                "column": 13
905                              }
906                            }
907                          },
908                          "loc": {
909                            "start": {
910                              "line": 27,
911                              "column": 12
912                            },
913                            "end": {
914                              "line": 27,
915                              "column": 14
916                            }
917                          }
918                        },
919                        "loc": {
920                          "start": {
921                            "line": 27,
922                            "column": 12
923                          },
924                          "end": {
925                            "line": 27,
926                            "column": 14
927                          }
928                        }
929                      },
930                      "decorators": [],
931                      "loc": {
932                        "start": {
933                          "line": 27,
934                          "column": 9
935                        },
936                        "end": {
937                          "line": 27,
938                          "column": 14
939                        }
940                      }
941                    },
942                    "loc": {
943                      "start": {
944                        "line": 27,
945                        "column": 9
946                      },
947                      "end": {
948                        "line": 27,
949                        "column": 14
950                      }
951                    }
952                  }
953                ],
954                "returnType": {
955                  "type": "ETSPrimitiveType",
956                  "loc": {
957                    "start": {
958                      "line": 27,
959                      "column": 16
960                    },
961                    "end": {
962                      "line": 27,
963                      "column": 23
964                    }
965                  }
966                },
967                "declare": true,
968                "loc": {
969                  "start": {
970                    "line": 27,
971                    "column": 8
972                  },
973                  "end": {
974                    "line": 27,
975                    "column": 23
976                  }
977                }
978              },
979              "loc": {
980                "start": {
981                  "line": 27,
982                  "column": 8
983                },
984                "end": {
985                  "line": 27,
986                  "column": 23
987                }
988              }
989            },
990            "overloads": [],
991            "decorators": [],
992            "loc": {
993              "start": {
994                "line": 27,
995                "column": 5
996              },
997              "end": {
998                "line": 27,
999                "column": 24
1000              }
1001            }
1002          },
1003          {
1004            "type": "MethodDefinition",
1005            "key": {
1006              "type": "Identifier",
1007              "name": "forEach",
1008              "decorators": [],
1009              "loc": {
1010                "start": {
1011                  "line": 29,
1012                  "column": 5
1013                },
1014                "end": {
1015                  "line": 29,
1016                  "column": 12
1017                }
1018              }
1019            },
1020            "kind": "method",
1021            "accessibility": "public",
1022            "static": false,
1023            "optional": false,
1024            "computed": false,
1025            "value": {
1026              "type": "FunctionExpression",
1027              "function": {
1028                "type": "ScriptFunction",
1029                "id": {
1030                  "type": "Identifier",
1031                  "name": "forEach",
1032                  "decorators": [],
1033                  "loc": {
1034                    "start": {
1035                      "line": 29,
1036                      "column": 5
1037                    },
1038                    "end": {
1039                      "line": 29,
1040                      "column": 12
1041                    }
1042                  }
1043                },
1044                "generator": false,
1045                "async": false,
1046                "expression": false,
1047                "params": [
1048                  {
1049                    "type": "ETSParameterExpression",
1050                    "name": {
1051                      "type": "Identifier",
1052                      "name": "fn",
1053                      "typeAnnotation": {
1054                        "type": "ETSFunctionType",
1055                        "params": [
1056                          {
1057                            "type": "ETSParameterExpression",
1058                            "name": {
1059                              "type": "Identifier",
1060                              "name": "e",
1061                              "typeAnnotation": {
1062                                "type": "ETSTypeReference",
1063                                "part": {
1064                                  "type": "ETSTypeReferencePart",
1065                                  "name": {
1066                                    "type": "Identifier",
1067                                    "name": "T",
1068                                    "decorators": [],
1069                                    "loc": {
1070                                      "start": {
1071                                        "line": 29,
1072                                        "column": 21
1073                                      },
1074                                      "end": {
1075                                        "line": 29,
1076                                        "column": 22
1077                                      }
1078                                    }
1079                                  },
1080                                  "loc": {
1081                                    "start": {
1082                                      "line": 29,
1083                                      "column": 21
1084                                    },
1085                                    "end": {
1086                                      "line": 29,
1087                                      "column": 23
1088                                    }
1089                                  }
1090                                },
1091                                "loc": {
1092                                  "start": {
1093                                    "line": 29,
1094                                    "column": 21
1095                                  },
1096                                  "end": {
1097                                    "line": 29,
1098                                    "column": 23
1099                                  }
1100                                }
1101                              },
1102                              "decorators": [],
1103                              "loc": {
1104                                "start": {
1105                                  "line": 29,
1106                                  "column": 18
1107                                },
1108                                "end": {
1109                                  "line": 29,
1110                                  "column": 23
1111                                }
1112                              }
1113                            },
1114                            "loc": {
1115                              "start": {
1116                                "line": 29,
1117                                "column": 18
1118                              },
1119                              "end": {
1120                                "line": 29,
1121                                "column": 23
1122                              }
1123                            }
1124                          }
1125                        ],
1126                        "returnType": {
1127                          "type": "ETSTypeReference",
1128                          "part": {
1129                            "type": "ETSTypeReferencePart",
1130                            "name": {
1131                              "type": "Identifier",
1132                              "name": "T",
1133                              "decorators": [],
1134                              "loc": {
1135                                "start": {
1136                                  "line": 29,
1137                                  "column": 27
1138                                },
1139                                "end": {
1140                                  "line": 29,
1141                                  "column": 28
1142                                }
1143                              }
1144                            },
1145                            "loc": {
1146                              "start": {
1147                                "line": 29,
1148                                "column": 27
1149                              },
1150                              "end": {
1151                                "line": 29,
1152                                "column": 29
1153                              }
1154                            }
1155                          },
1156                          "loc": {
1157                            "start": {
1158                              "line": 29,
1159                              "column": 27
1160                            },
1161                            "end": {
1162                              "line": 29,
1163                              "column": 29
1164                            }
1165                          }
1166                        },
1167                        "loc": {
1168                          "start": {
1169                            "line": 29,
1170                            "column": 17
1171                          },
1172                          "end": {
1173                            "line": 29,
1174                            "column": 29
1175                          }
1176                        }
1177                      },
1178                      "decorators": [],
1179                      "loc": {
1180                        "start": {
1181                          "line": 29,
1182                          "column": 13
1183                        },
1184                        "end": {
1185                          "line": 29,
1186                          "column": 29
1187                        }
1188                      }
1189                    },
1190                    "loc": {
1191                      "start": {
1192                        "line": 29,
1193                        "column": 13
1194                      },
1195                      "end": {
1196                        "line": 29,
1197                        "column": 29
1198                      }
1199                    }
1200                  }
1201                ],
1202                "returnType": {
1203                  "type": "ETSUnionType",
1204                  "types": [
1205                    {
1206                      "type": "ETSTypeReference",
1207                      "part": {
1208                        "type": "ETSTypeReferencePart",
1209                        "name": {
1210                          "type": "Identifier",
1211                          "name": "Listt",
1212                          "decorators": [],
1213                          "loc": {
1214                            "start": {
1215                              "line": 29,
1216                              "column": 31
1217                            },
1218                            "end": {
1219                              "line": 29,
1220                              "column": 36
1221                            }
1222                          }
1223                        },
1224                        "typeParams": {
1225                          "type": "TSTypeParameterInstantiation",
1226                          "params": [
1227                            {
1228                              "type": "ETSTypeReference",
1229                              "part": {
1230                                "type": "ETSTypeReferencePart",
1231                                "name": {
1232                                  "type": "Identifier",
1233                                  "name": "T",
1234                                  "decorators": [],
1235                                  "loc": {
1236                                    "start": {
1237                                      "line": 29,
1238                                      "column": 37
1239                                    },
1240                                    "end": {
1241                                      "line": 29,
1242                                      "column": 38
1243                                    }
1244                                  }
1245                                },
1246                                "loc": {
1247                                  "start": {
1248                                    "line": 29,
1249                                    "column": 37
1250                                  },
1251                                  "end": {
1252                                    "line": 29,
1253                                    "column": 39
1254                                  }
1255                                }
1256                              },
1257                              "loc": {
1258                                "start": {
1259                                  "line": 29,
1260                                  "column": 37
1261                                },
1262                                "end": {
1263                                  "line": 29,
1264                                  "column": 39
1265                                }
1266                              }
1267                            }
1268                          ],
1269                          "loc": {
1270                            "start": {
1271                              "line": 29,
1272                              "column": 36
1273                            },
1274                            "end": {
1275                              "line": 29,
1276                              "column": 39
1277                            }
1278                          }
1279                        },
1280                        "loc": {
1281                          "start": {
1282                            "line": 29,
1283                            "column": 31
1284                          },
1285                          "end": {
1286                            "line": 29,
1287                            "column": 41
1288                          }
1289                        }
1290                      },
1291                      "loc": {
1292                        "start": {
1293                          "line": 29,
1294                          "column": 31
1295                        },
1296                        "end": {
1297                          "line": 29,
1298                          "column": 41
1299                        }
1300                      }
1301                    },
1302                    {
1303                      "type": "ETSNullType",
1304                      "loc": {
1305                        "start": {
1306                          "line": 29,
1307                          "column": 42
1308                        },
1309                        "end": {
1310                          "line": 29,
1311                          "column": 46
1312                        }
1313                      }
1314                    }
1315                  ],
1316                  "loc": {
1317                    "start": {
1318                      "line": 29,
1319                      "column": 31
1320                    },
1321                    "end": {
1322                      "line": 29,
1323                      "column": 46
1324                    }
1325                  }
1326                },
1327                "declare": true,
1328                "loc": {
1329                  "start": {
1330                    "line": 29,
1331                    "column": 12
1332                  },
1333                  "end": {
1334                    "line": 29,
1335                    "column": 46
1336                  }
1337                }
1338              },
1339              "loc": {
1340                "start": {
1341                  "line": 29,
1342                  "column": 12
1343                },
1344                "end": {
1345                  "line": 29,
1346                  "column": 46
1347                }
1348              }
1349            },
1350            "overloads": [],
1351            "decorators": [],
1352            "loc": {
1353              "start": {
1354                "line": 29,
1355                "column": 5
1356              },
1357              "end": {
1358                "line": 29,
1359                "column": 47
1360              }
1361            }
1362          },
1363          {
1364            "type": "MethodDefinition",
1365            "key": {
1366              "type": "Identifier",
1367              "name": "map",
1368              "decorators": [],
1369              "loc": {
1370                "start": {
1371                  "line": 30,
1372                  "column": 5
1373                },
1374                "end": {
1375                  "line": 30,
1376                  "column": 8
1377                }
1378              }
1379            },
1380            "kind": "method",
1381            "accessibility": "public",
1382            "static": false,
1383            "optional": false,
1384            "computed": false,
1385            "value": {
1386              "type": "FunctionExpression",
1387              "function": {
1388                "type": "ScriptFunction",
1389                "id": {
1390                  "type": "Identifier",
1391                  "name": "map",
1392                  "decorators": [],
1393                  "loc": {
1394                    "start": {
1395                      "line": 30,
1396                      "column": 5
1397                    },
1398                    "end": {
1399                      "line": 30,
1400                      "column": 8
1401                    }
1402                  }
1403                },
1404                "generator": false,
1405                "async": false,
1406                "expression": false,
1407                "params": [
1408                  {
1409                    "type": "ETSParameterExpression",
1410                    "name": {
1411                      "type": "Identifier",
1412                      "name": "fn",
1413                      "typeAnnotation": {
1414                        "type": "ETSFunctionType",
1415                        "params": [
1416                          {
1417                            "type": "ETSParameterExpression",
1418                            "name": {
1419                              "type": "Identifier",
1420                              "name": "e",
1421                              "typeAnnotation": {
1422                                "type": "ETSTypeReference",
1423                                "part": {
1424                                  "type": "ETSTypeReferencePart",
1425                                  "name": {
1426                                    "type": "Identifier",
1427                                    "name": "T",
1428                                    "decorators": [],
1429                                    "loc": {
1430                                      "start": {
1431                                        "line": 30,
1432                                        "column": 20
1433                                      },
1434                                      "end": {
1435                                        "line": 30,
1436                                        "column": 21
1437                                      }
1438                                    }
1439                                  },
1440                                  "loc": {
1441                                    "start": {
1442                                      "line": 30,
1443                                      "column": 20
1444                                    },
1445                                    "end": {
1446                                      "line": 30,
1447                                      "column": 22
1448                                    }
1449                                  }
1450                                },
1451                                "loc": {
1452                                  "start": {
1453                                    "line": 30,
1454                                    "column": 20
1455                                  },
1456                                  "end": {
1457                                    "line": 30,
1458                                    "column": 22
1459                                  }
1460                                }
1461                              },
1462                              "decorators": [],
1463                              "loc": {
1464                                "start": {
1465                                  "line": 30,
1466                                  "column": 17
1467                                },
1468                                "end": {
1469                                  "line": 30,
1470                                  "column": 22
1471                                }
1472                              }
1473                            },
1474                            "loc": {
1475                              "start": {
1476                                "line": 30,
1477                                "column": 17
1478                              },
1479                              "end": {
1480                                "line": 30,
1481                                "column": 22
1482                              }
1483                            }
1484                          }
1485                        ],
1486                        "returnType": {
1487                          "type": "ETSTypeReference",
1488                          "part": {
1489                            "type": "ETSTypeReferencePart",
1490                            "name": {
1491                              "type": "Identifier",
1492                              "name": "U",
1493                              "decorators": [],
1494                              "loc": {
1495                                "start": {
1496                                  "line": 30,
1497                                  "column": 26
1498                                },
1499                                "end": {
1500                                  "line": 30,
1501                                  "column": 27
1502                                }
1503                              }
1504                            },
1505                            "loc": {
1506                              "start": {
1507                                "line": 30,
1508                                "column": 26
1509                              },
1510                              "end": {
1511                                "line": 30,
1512                                "column": 28
1513                              }
1514                            }
1515                          },
1516                          "loc": {
1517                            "start": {
1518                              "line": 30,
1519                              "column": 26
1520                            },
1521                            "end": {
1522                              "line": 30,
1523                              "column": 28
1524                            }
1525                          }
1526                        },
1527                        "loc": {
1528                          "start": {
1529                            "line": 30,
1530                            "column": 16
1531                          },
1532                          "end": {
1533                            "line": 30,
1534                            "column": 28
1535                          }
1536                        }
1537                      },
1538                      "decorators": [],
1539                      "loc": {
1540                        "start": {
1541                          "line": 30,
1542                          "column": 12
1543                        },
1544                        "end": {
1545                          "line": 30,
1546                          "column": 28
1547                        }
1548                      }
1549                    },
1550                    "loc": {
1551                      "start": {
1552                        "line": 30,
1553                        "column": 12
1554                      },
1555                      "end": {
1556                        "line": 30,
1557                        "column": 28
1558                      }
1559                    }
1560                  }
1561                ],
1562                "returnType": {
1563                  "type": "ETSTypeReference",
1564                  "part": {
1565                    "type": "ETSTypeReferencePart",
1566                    "name": {
1567                      "type": "Identifier",
1568                      "name": "Listt",
1569                      "decorators": [],
1570                      "loc": {
1571                        "start": {
1572                          "line": 30,
1573                          "column": 30
1574                        },
1575                        "end": {
1576                          "line": 30,
1577                          "column": 35
1578                        }
1579                      }
1580                    },
1581                    "typeParams": {
1582                      "type": "TSTypeParameterInstantiation",
1583                      "params": [
1584                        {
1585                          "type": "ETSTypeReference",
1586                          "part": {
1587                            "type": "ETSTypeReferencePart",
1588                            "name": {
1589                              "type": "Identifier",
1590                              "name": "U",
1591                              "decorators": [],
1592                              "loc": {
1593                                "start": {
1594                                  "line": 30,
1595                                  "column": 36
1596                                },
1597                                "end": {
1598                                  "line": 30,
1599                                  "column": 37
1600                                }
1601                              }
1602                            },
1603                            "loc": {
1604                              "start": {
1605                                "line": 30,
1606                                "column": 36
1607                              },
1608                              "end": {
1609                                "line": 30,
1610                                "column": 38
1611                              }
1612                            }
1613                          },
1614                          "loc": {
1615                            "start": {
1616                              "line": 30,
1617                              "column": 36
1618                            },
1619                            "end": {
1620                              "line": 30,
1621                              "column": 38
1622                            }
1623                          }
1624                        }
1625                      ],
1626                      "loc": {
1627                        "start": {
1628                          "line": 30,
1629                          "column": 35
1630                        },
1631                        "end": {
1632                          "line": 30,
1633                          "column": 38
1634                        }
1635                      }
1636                    },
1637                    "loc": {
1638                      "start": {
1639                        "line": 30,
1640                        "column": 30
1641                      },
1642                      "end": {
1643                        "line": 30,
1644                        "column": 39
1645                      }
1646                    }
1647                  },
1648                  "loc": {
1649                    "start": {
1650                      "line": 30,
1651                      "column": 30
1652                    },
1653                    "end": {
1654                      "line": 30,
1655                      "column": 39
1656                    }
1657                  }
1658                },
1659                "typeParameters": {
1660                  "type": "TSTypeParameterDeclaration",
1661                  "params": [
1662                    {
1663                      "type": "TSTypeParameter",
1664                      "name": {
1665                        "type": "Identifier",
1666                        "name": "U",
1667                        "decorators": [],
1668                        "loc": {
1669                          "start": {
1670                            "line": 30,
1671                            "column": 9
1672                          },
1673                          "end": {
1674                            "line": 30,
1675                            "column": 10
1676                          }
1677                        }
1678                      },
1679                      "loc": {
1680                        "start": {
1681                          "line": 30,
1682                          "column": 9
1683                        },
1684                        "end": {
1685                          "line": 30,
1686                          "column": 11
1687                        }
1688                      }
1689                    }
1690                  ],
1691                  "loc": {
1692                    "start": {
1693                      "line": 30,
1694                      "column": 8
1695                    },
1696                    "end": {
1697                      "line": 30,
1698                      "column": 11
1699                    }
1700                  }
1701                },
1702                "declare": true,
1703                "loc": {
1704                  "start": {
1705                    "line": 30,
1706                    "column": 8
1707                  },
1708                  "end": {
1709                    "line": 30,
1710                    "column": 39
1711                  }
1712                }
1713              },
1714              "loc": {
1715                "start": {
1716                  "line": 30,
1717                  "column": 8
1718                },
1719                "end": {
1720                  "line": 30,
1721                  "column": 39
1722                }
1723              }
1724            },
1725            "overloads": [],
1726            "decorators": [],
1727            "loc": {
1728              "start": {
1729                "line": 30,
1730                "column": 5
1731              },
1732              "end": {
1733                "line": 30,
1734                "column": 39
1735              }
1736            }
1737          },
1738          {
1739            "type": "MethodDefinition",
1740            "key": {
1741              "type": "Identifier",
1742              "name": "fold",
1743              "decorators": [],
1744              "loc": {
1745                "start": {
1746                  "line": 31,
1747                  "column": 5
1748                },
1749                "end": {
1750                  "line": 31,
1751                  "column": 9
1752                }
1753              }
1754            },
1755            "kind": "method",
1756            "accessibility": "public",
1757            "static": false,
1758            "optional": false,
1759            "computed": false,
1760            "value": {
1761              "type": "FunctionExpression",
1762              "function": {
1763                "type": "ScriptFunction",
1764                "id": {
1765                  "type": "Identifier",
1766                  "name": "fold",
1767                  "decorators": [],
1768                  "loc": {
1769                    "start": {
1770                      "line": 31,
1771                      "column": 5
1772                    },
1773                    "end": {
1774                      "line": 31,
1775                      "column": 9
1776                    }
1777                  }
1778                },
1779                "generator": false,
1780                "async": false,
1781                "expression": false,
1782                "params": [
1783                  {
1784                    "type": "ETSParameterExpression",
1785                    "name": {
1786                      "type": "Identifier",
1787                      "name": "combine",
1788                      "typeAnnotation": {
1789                        "type": "ETSFunctionType",
1790                        "params": [
1791                          {
1792                            "type": "ETSParameterExpression",
1793                            "name": {
1794                              "type": "Identifier",
1795                              "name": "lhs",
1796                              "typeAnnotation": {
1797                                "type": "ETSTypeReference",
1798                                "part": {
1799                                  "type": "ETSTypeReferencePart",
1800                                  "name": {
1801                                    "type": "Identifier",
1802                                    "name": "T",
1803                                    "decorators": [],
1804                                    "loc": {
1805                                      "start": {
1806                                        "line": 31,
1807                                        "column": 25
1808                                      },
1809                                      "end": {
1810                                        "line": 31,
1811                                        "column": 26
1812                                      }
1813                                    }
1814                                  },
1815                                  "loc": {
1816                                    "start": {
1817                                      "line": 31,
1818                                      "column": 25
1819                                    },
1820                                    "end": {
1821                                      "line": 31,
1822                                      "column": 27
1823                                    }
1824                                  }
1825                                },
1826                                "loc": {
1827                                  "start": {
1828                                    "line": 31,
1829                                    "column": 25
1830                                  },
1831                                  "end": {
1832                                    "line": 31,
1833                                    "column": 27
1834                                  }
1835                                }
1836                              },
1837                              "decorators": [],
1838                              "loc": {
1839                                "start": {
1840                                  "line": 31,
1841                                  "column": 20
1842                                },
1843                                "end": {
1844                                  "line": 31,
1845                                  "column": 27
1846                                }
1847                              }
1848                            },
1849                            "loc": {
1850                              "start": {
1851                                "line": 31,
1852                                "column": 20
1853                              },
1854                              "end": {
1855                                "line": 31,
1856                                "column": 27
1857                              }
1858                            }
1859                          },
1860                          {
1861                            "type": "ETSParameterExpression",
1862                            "name": {
1863                              "type": "Identifier",
1864                              "name": "rhs",
1865                              "typeAnnotation": {
1866                                "type": "ETSTypeReference",
1867                                "part": {
1868                                  "type": "ETSTypeReferencePart",
1869                                  "name": {
1870                                    "type": "Identifier",
1871                                    "name": "T",
1872                                    "decorators": [],
1873                                    "loc": {
1874                                      "start": {
1875                                        "line": 31,
1876                                        "column": 33
1877                                      },
1878                                      "end": {
1879                                        "line": 31,
1880                                        "column": 34
1881                                      }
1882                                    }
1883                                  },
1884                                  "loc": {
1885                                    "start": {
1886                                      "line": 31,
1887                                      "column": 33
1888                                    },
1889                                    "end": {
1890                                      "line": 31,
1891                                      "column": 35
1892                                    }
1893                                  }
1894                                },
1895                                "loc": {
1896                                  "start": {
1897                                    "line": 31,
1898                                    "column": 33
1899                                  },
1900                                  "end": {
1901                                    "line": 31,
1902                                    "column": 35
1903                                  }
1904                                }
1905                              },
1906                              "decorators": [],
1907                              "loc": {
1908                                "start": {
1909                                  "line": 31,
1910                                  "column": 28
1911                                },
1912                                "end": {
1913                                  "line": 31,
1914                                  "column": 35
1915                                }
1916                              }
1917                            },
1918                            "loc": {
1919                              "start": {
1920                                "line": 31,
1921                                "column": 28
1922                              },
1923                              "end": {
1924                                "line": 31,
1925                                "column": 35
1926                              }
1927                            }
1928                          }
1929                        ],
1930                        "returnType": {
1931                          "type": "ETSTypeReference",
1932                          "part": {
1933                            "type": "ETSTypeReferencePart",
1934                            "name": {
1935                              "type": "Identifier",
1936                              "name": "T",
1937                              "decorators": [],
1938                              "loc": {
1939                                "start": {
1940                                  "line": 31,
1941                                  "column": 39
1942                                },
1943                                "end": {
1944                                  "line": 31,
1945                                  "column": 40
1946                                }
1947                              }
1948                            },
1949                            "loc": {
1950                              "start": {
1951                                "line": 31,
1952                                "column": 39
1953                              },
1954                              "end": {
1955                                "line": 31,
1956                                "column": 41
1957                              }
1958                            }
1959                          },
1960                          "loc": {
1961                            "start": {
1962                              "line": 31,
1963                              "column": 39
1964                            },
1965                            "end": {
1966                              "line": 31,
1967                              "column": 41
1968                            }
1969                          }
1970                        },
1971                        "loc": {
1972                          "start": {
1973                            "line": 31,
1974                            "column": 19
1975                          },
1976                          "end": {
1977                            "line": 31,
1978                            "column": 41
1979                          }
1980                        }
1981                      },
1982                      "decorators": [],
1983                      "loc": {
1984                        "start": {
1985                          "line": 31,
1986                          "column": 10
1987                        },
1988                        "end": {
1989                          "line": 31,
1990                          "column": 41
1991                        }
1992                      }
1993                    },
1994                    "loc": {
1995                      "start": {
1996                        "line": 31,
1997                        "column": 10
1998                      },
1999                      "end": {
2000                        "line": 31,
2001                        "column": 41
2002                      }
2003                    }
2004                  }
2005                ],
2006                "returnType": {
2007                  "type": "ETSUnionType",
2008                  "types": [
2009                    {
2010                      "type": "ETSTypeReference",
2011                      "part": {
2012                        "type": "ETSTypeReferencePart",
2013                        "name": {
2014                          "type": "Identifier",
2015                          "name": "T",
2016                          "decorators": [],
2017                          "loc": {
2018                            "start": {
2019                              "line": 31,
2020                              "column": 43
2021                            },
2022                            "end": {
2023                              "line": 31,
2024                              "column": 44
2025                            }
2026                          }
2027                        },
2028                        "loc": {
2029                          "start": {
2030                            "line": 31,
2031                            "column": 43
2032                          },
2033                          "end": {
2034                            "line": 31,
2035                            "column": 46
2036                          }
2037                        }
2038                      },
2039                      "loc": {
2040                        "start": {
2041                          "line": 31,
2042                          "column": 43
2043                        },
2044                        "end": {
2045                          "line": 31,
2046                          "column": 46
2047                        }
2048                      }
2049                    },
2050                    {
2051                      "type": "ETSNullType",
2052                      "loc": {
2053                        "start": {
2054                          "line": 31,
2055                          "column": 47
2056                        },
2057                        "end": {
2058                          "line": 31,
2059                          "column": 51
2060                        }
2061                      }
2062                    }
2063                  ],
2064                  "loc": {
2065                    "start": {
2066                      "line": 31,
2067                      "column": 43
2068                    },
2069                    "end": {
2070                      "line": 31,
2071                      "column": 51
2072                    }
2073                  }
2074                },
2075                "declare": true,
2076                "loc": {
2077                  "start": {
2078                    "line": 31,
2079                    "column": 9
2080                  },
2081                  "end": {
2082                    "line": 31,
2083                    "column": 51
2084                  }
2085                }
2086              },
2087              "loc": {
2088                "start": {
2089                  "line": 31,
2090                  "column": 9
2091                },
2092                "end": {
2093                  "line": 31,
2094                  "column": 51
2095                }
2096              }
2097            },
2098            "overloads": [],
2099            "decorators": [],
2100            "loc": {
2101              "start": {
2102                "line": 31,
2103                "column": 5
2104              },
2105              "end": {
2106                "line": 31,
2107                "column": 52
2108              }
2109            }
2110          },
2111          {
2112            "type": "MethodDefinition",
2113            "key": {
2114              "type": "Identifier",
2115              "name": "foldWith",
2116              "decorators": [],
2117              "loc": {
2118                "start": {
2119                  "line": 32,
2120                  "column": 5
2121                },
2122                "end": {
2123                  "line": 32,
2124                  "column": 13
2125                }
2126              }
2127            },
2128            "kind": "method",
2129            "accessibility": "public",
2130            "static": false,
2131            "optional": false,
2132            "computed": false,
2133            "value": {
2134              "type": "FunctionExpression",
2135              "function": {
2136                "type": "ScriptFunction",
2137                "id": {
2138                  "type": "Identifier",
2139                  "name": "foldWith",
2140                  "decorators": [],
2141                  "loc": {
2142                    "start": {
2143                      "line": 32,
2144                      "column": 5
2145                    },
2146                    "end": {
2147                      "line": 32,
2148                      "column": 13
2149                    }
2150                  }
2151                },
2152                "generator": false,
2153                "async": false,
2154                "expression": false,
2155                "params": [
2156                  {
2157                    "type": "ETSParameterExpression",
2158                    "name": {
2159                      "type": "Identifier",
2160                      "name": "combine",
2161                      "typeAnnotation": {
2162                        "type": "ETSFunctionType",
2163                        "params": [
2164                          {
2165                            "type": "ETSParameterExpression",
2166                            "name": {
2167                              "type": "Identifier",
2168                              "name": "lhs",
2169                              "typeAnnotation": {
2170                                "type": "ETSTypeReference",
2171                                "part": {
2172                                  "type": "ETSTypeReferencePart",
2173                                  "name": {
2174                                    "type": "Identifier",
2175                                    "name": "U",
2176                                    "decorators": [],
2177                                    "loc": {
2178                                      "start": {
2179                                        "line": 32,
2180                                        "column": 32
2181                                      },
2182                                      "end": {
2183                                        "line": 32,
2184                                        "column": 33
2185                                      }
2186                                    }
2187                                  },
2188                                  "loc": {
2189                                    "start": {
2190                                      "line": 32,
2191                                      "column": 32
2192                                    },
2193                                    "end": {
2194                                      "line": 32,
2195                                      "column": 34
2196                                    }
2197                                  }
2198                                },
2199                                "loc": {
2200                                  "start": {
2201                                    "line": 32,
2202                                    "column": 32
2203                                  },
2204                                  "end": {
2205                                    "line": 32,
2206                                    "column": 34
2207                                  }
2208                                }
2209                              },
2210                              "decorators": [],
2211                              "loc": {
2212                                "start": {
2213                                  "line": 32,
2214                                  "column": 27
2215                                },
2216                                "end": {
2217                                  "line": 32,
2218                                  "column": 34
2219                                }
2220                              }
2221                            },
2222                            "loc": {
2223                              "start": {
2224                                "line": 32,
2225                                "column": 27
2226                              },
2227                              "end": {
2228                                "line": 32,
2229                                "column": 34
2230                              }
2231                            }
2232                          },
2233                          {
2234                            "type": "ETSParameterExpression",
2235                            "name": {
2236                              "type": "Identifier",
2237                              "name": "rhs",
2238                              "typeAnnotation": {
2239                                "type": "ETSTypeReference",
2240                                "part": {
2241                                  "type": "ETSTypeReferencePart",
2242                                  "name": {
2243                                    "type": "Identifier",
2244                                    "name": "T",
2245                                    "decorators": [],
2246                                    "loc": {
2247                                      "start": {
2248                                        "line": 32,
2249                                        "column": 40
2250                                      },
2251                                      "end": {
2252                                        "line": 32,
2253                                        "column": 41
2254                                      }
2255                                    }
2256                                  },
2257                                  "loc": {
2258                                    "start": {
2259                                      "line": 32,
2260                                      "column": 40
2261                                    },
2262                                    "end": {
2263                                      "line": 32,
2264                                      "column": 42
2265                                    }
2266                                  }
2267                                },
2268                                "loc": {
2269                                  "start": {
2270                                    "line": 32,
2271                                    "column": 40
2272                                  },
2273                                  "end": {
2274                                    "line": 32,
2275                                    "column": 42
2276                                  }
2277                                }
2278                              },
2279                              "decorators": [],
2280                              "loc": {
2281                                "start": {
2282                                  "line": 32,
2283                                  "column": 35
2284                                },
2285                                "end": {
2286                                  "line": 32,
2287                                  "column": 42
2288                                }
2289                              }
2290                            },
2291                            "loc": {
2292                              "start": {
2293                                "line": 32,
2294                                "column": 35
2295                              },
2296                              "end": {
2297                                "line": 32,
2298                                "column": 42
2299                              }
2300                            }
2301                          }
2302                        ],
2303                        "returnType": {
2304                          "type": "ETSTypeReference",
2305                          "part": {
2306                            "type": "ETSTypeReferencePart",
2307                            "name": {
2308                              "type": "Identifier",
2309                              "name": "U",
2310                              "decorators": [],
2311                              "loc": {
2312                                "start": {
2313                                  "line": 32,
2314                                  "column": 46
2315                                },
2316                                "end": {
2317                                  "line": 32,
2318                                  "column": 47
2319                                }
2320                              }
2321                            },
2322                            "loc": {
2323                              "start": {
2324                                "line": 32,
2325                                "column": 46
2326                              },
2327                              "end": {
2328                                "line": 32,
2329                                "column": 48
2330                              }
2331                            }
2332                          },
2333                          "loc": {
2334                            "start": {
2335                              "line": 32,
2336                              "column": 46
2337                            },
2338                            "end": {
2339                              "line": 32,
2340                              "column": 48
2341                            }
2342                          }
2343                        },
2344                        "loc": {
2345                          "start": {
2346                            "line": 32,
2347                            "column": 26
2348                          },
2349                          "end": {
2350                            "line": 32,
2351                            "column": 48
2352                          }
2353                        }
2354                      },
2355                      "decorators": [],
2356                      "loc": {
2357                        "start": {
2358                          "line": 32,
2359                          "column": 17
2360                        },
2361                        "end": {
2362                          "line": 32,
2363                          "column": 48
2364                        }
2365                      }
2366                    },
2367                    "loc": {
2368                      "start": {
2369                        "line": 32,
2370                        "column": 17
2371                      },
2372                      "end": {
2373                        "line": 32,
2374                        "column": 48
2375                      }
2376                    }
2377                  },
2378                  {
2379                    "type": "ETSParameterExpression",
2380                    "name": {
2381                      "type": "Identifier",
2382                      "name": "initVal",
2383                      "typeAnnotation": {
2384                        "type": "ETSTypeReference",
2385                        "part": {
2386                          "type": "ETSTypeReferencePart",
2387                          "name": {
2388                            "type": "Identifier",
2389                            "name": "U",
2390                            "decorators": [],
2391                            "loc": {
2392                              "start": {
2393                                "line": 32,
2394                                "column": 58
2395                              },
2396                              "end": {
2397                                "line": 32,
2398                                "column": 59
2399                              }
2400                            }
2401                          },
2402                          "loc": {
2403                            "start": {
2404                              "line": 32,
2405                              "column": 58
2406                            },
2407                            "end": {
2408                              "line": 32,
2409                              "column": 60
2410                            }
2411                          }
2412                        },
2413                        "loc": {
2414                          "start": {
2415                            "line": 32,
2416                            "column": 58
2417                          },
2418                          "end": {
2419                            "line": 32,
2420                            "column": 60
2421                          }
2422                        }
2423                      },
2424                      "decorators": [],
2425                      "loc": {
2426                        "start": {
2427                          "line": 32,
2428                          "column": 49
2429                        },
2430                        "end": {
2431                          "line": 32,
2432                          "column": 60
2433                        }
2434                      }
2435                    },
2436                    "loc": {
2437                      "start": {
2438                        "line": 32,
2439                        "column": 49
2440                      },
2441                      "end": {
2442                        "line": 32,
2443                        "column": 60
2444                      }
2445                    }
2446                  }
2447                ],
2448                "returnType": {
2449                  "type": "ETSTypeReference",
2450                  "part": {
2451                    "type": "ETSTypeReferencePart",
2452                    "name": {
2453                      "type": "Identifier",
2454                      "name": "U",
2455                      "decorators": [],
2456                      "loc": {
2457                        "start": {
2458                          "line": 32,
2459                          "column": 62
2460                        },
2461                        "end": {
2462                          "line": 32,
2463                          "column": 63
2464                        }
2465                      }
2466                    },
2467                    "loc": {
2468                      "start": {
2469                        "line": 32,
2470                        "column": 62
2471                      },
2472                      "end": {
2473                        "line": 32,
2474                        "column": 64
2475                      }
2476                    }
2477                  },
2478                  "loc": {
2479                    "start": {
2480                      "line": 32,
2481                      "column": 62
2482                    },
2483                    "end": {
2484                      "line": 32,
2485                      "column": 64
2486                    }
2487                  }
2488                },
2489                "typeParameters": {
2490                  "type": "TSTypeParameterDeclaration",
2491                  "params": [
2492                    {
2493                      "type": "TSTypeParameter",
2494                      "name": {
2495                        "type": "Identifier",
2496                        "name": "U",
2497                        "decorators": [],
2498                        "loc": {
2499                          "start": {
2500                            "line": 32,
2501                            "column": 14
2502                          },
2503                          "end": {
2504                            "line": 32,
2505                            "column": 15
2506                          }
2507                        }
2508                      },
2509                      "loc": {
2510                        "start": {
2511                          "line": 32,
2512                          "column": 14
2513                        },
2514                        "end": {
2515                          "line": 32,
2516                          "column": 16
2517                        }
2518                      }
2519                    }
2520                  ],
2521                  "loc": {
2522                    "start": {
2523                      "line": 32,
2524                      "column": 13
2525                    },
2526                    "end": {
2527                      "line": 32,
2528                      "column": 16
2529                    }
2530                  }
2531                },
2532                "declare": true,
2533                "loc": {
2534                  "start": {
2535                    "line": 32,
2536                    "column": 13
2537                  },
2538                  "end": {
2539                    "line": 32,
2540                    "column": 64
2541                  }
2542                }
2543              },
2544              "loc": {
2545                "start": {
2546                  "line": 32,
2547                  "column": 13
2548                },
2549                "end": {
2550                  "line": 32,
2551                  "column": 64
2552                }
2553              }
2554            },
2555            "overloads": [],
2556            "decorators": [],
2557            "loc": {
2558              "start": {
2559                "line": 32,
2560                "column": 5
2561              },
2562              "end": {
2563                "line": 32,
2564                "column": 64
2565              }
2566            }
2567          },
2568          {
2569            "type": "MethodDefinition",
2570            "key": {
2571              "type": "Identifier",
2572              "name": "filter",
2573              "decorators": [],
2574              "loc": {
2575                "start": {
2576                  "line": 33,
2577                  "column": 5
2578                },
2579                "end": {
2580                  "line": 33,
2581                  "column": 11
2582                }
2583              }
2584            },
2585            "kind": "method",
2586            "accessibility": "public",
2587            "static": false,
2588            "optional": false,
2589            "computed": false,
2590            "value": {
2591              "type": "FunctionExpression",
2592              "function": {
2593                "type": "ScriptFunction",
2594                "id": {
2595                  "type": "Identifier",
2596                  "name": "filter",
2597                  "decorators": [],
2598                  "loc": {
2599                    "start": {
2600                      "line": 33,
2601                      "column": 5
2602                    },
2603                    "end": {
2604                      "line": 33,
2605                      "column": 11
2606                    }
2607                  }
2608                },
2609                "generator": false,
2610                "async": false,
2611                "expression": false,
2612                "params": [
2613                  {
2614                    "type": "ETSParameterExpression",
2615                    "name": {
2616                      "type": "Identifier",
2617                      "name": "filterCond",
2618                      "typeAnnotation": {
2619                        "type": "ETSFunctionType",
2620                        "params": [
2621                          {
2622                            "type": "ETSParameterExpression",
2623                            "name": {
2624                              "type": "Identifier",
2625                              "name": "e",
2626                              "typeAnnotation": {
2627                                "type": "ETSTypeReference",
2628                                "part": {
2629                                  "type": "ETSTypeReferencePart",
2630                                  "name": {
2631                                    "type": "Identifier",
2632                                    "name": "T",
2633                                    "decorators": [],
2634                                    "loc": {
2635                                      "start": {
2636                                        "line": 33,
2637                                        "column": 28
2638                                      },
2639                                      "end": {
2640                                        "line": 33,
2641                                        "column": 29
2642                                      }
2643                                    }
2644                                  },
2645                                  "loc": {
2646                                    "start": {
2647                                      "line": 33,
2648                                      "column": 28
2649                                    },
2650                                    "end": {
2651                                      "line": 33,
2652                                      "column": 30
2653                                    }
2654                                  }
2655                                },
2656                                "loc": {
2657                                  "start": {
2658                                    "line": 33,
2659                                    "column": 28
2660                                  },
2661                                  "end": {
2662                                    "line": 33,
2663                                    "column": 30
2664                                  }
2665                                }
2666                              },
2667                              "decorators": [],
2668                              "loc": {
2669                                "start": {
2670                                  "line": 33,
2671                                  "column": 25
2672                                },
2673                                "end": {
2674                                  "line": 33,
2675                                  "column": 30
2676                                }
2677                              }
2678                            },
2679                            "loc": {
2680                              "start": {
2681                                "line": 33,
2682                                "column": 25
2683                              },
2684                              "end": {
2685                                "line": 33,
2686                                "column": 30
2687                              }
2688                            }
2689                          }
2690                        ],
2691                        "returnType": {
2692                          "type": "ETSPrimitiveType",
2693                          "loc": {
2694                            "start": {
2695                              "line": 33,
2696                              "column": 34
2697                            },
2698                            "end": {
2699                              "line": 33,
2700                              "column": 41
2701                            }
2702                          }
2703                        },
2704                        "loc": {
2705                          "start": {
2706                            "line": 33,
2707                            "column": 24
2708                          },
2709                          "end": {
2710                            "line": 33,
2711                            "column": 41
2712                          }
2713                        }
2714                      },
2715                      "decorators": [],
2716                      "loc": {
2717                        "start": {
2718                          "line": 33,
2719                          "column": 12
2720                        },
2721                        "end": {
2722                          "line": 33,
2723                          "column": 41
2724                        }
2725                      }
2726                    },
2727                    "loc": {
2728                      "start": {
2729                        "line": 33,
2730                        "column": 12
2731                      },
2732                      "end": {
2733                        "line": 33,
2734                        "column": 41
2735                      }
2736                    }
2737                  }
2738                ],
2739                "returnType": {
2740                  "type": "ETSUnionType",
2741                  "types": [
2742                    {
2743                      "type": "ETSTypeReference",
2744                      "part": {
2745                        "type": "ETSTypeReferencePart",
2746                        "name": {
2747                          "type": "Identifier",
2748                          "name": "Listt",
2749                          "decorators": [],
2750                          "loc": {
2751                            "start": {
2752                              "line": 33,
2753                              "column": 45
2754                            },
2755                            "end": {
2756                              "line": 33,
2757                              "column": 50
2758                            }
2759                          }
2760                        },
2761                        "typeParams": {
2762                          "type": "TSTypeParameterInstantiation",
2763                          "params": [
2764                            {
2765                              "type": "ETSTypeReference",
2766                              "part": {
2767                                "type": "ETSTypeReferencePart",
2768                                "name": {
2769                                  "type": "Identifier",
2770                                  "name": "T",
2771                                  "decorators": [],
2772                                  "loc": {
2773                                    "start": {
2774                                      "line": 33,
2775                                      "column": 51
2776                                    },
2777                                    "end": {
2778                                      "line": 33,
2779                                      "column": 52
2780                                    }
2781                                  }
2782                                },
2783                                "loc": {
2784                                  "start": {
2785                                    "line": 33,
2786                                    "column": 51
2787                                  },
2788                                  "end": {
2789                                    "line": 33,
2790                                    "column": 53
2791                                  }
2792                                }
2793                              },
2794                              "loc": {
2795                                "start": {
2796                                  "line": 33,
2797                                  "column": 51
2798                                },
2799                                "end": {
2800                                  "line": 33,
2801                                  "column": 53
2802                                }
2803                              }
2804                            }
2805                          ],
2806                          "loc": {
2807                            "start": {
2808                              "line": 33,
2809                              "column": 50
2810                            },
2811                            "end": {
2812                              "line": 33,
2813                              "column": 53
2814                            }
2815                          }
2816                        },
2817                        "loc": {
2818                          "start": {
2819                            "line": 33,
2820                            "column": 45
2821                          },
2822                          "end": {
2823                            "line": 33,
2824                            "column": 55
2825                          }
2826                        }
2827                      },
2828                      "loc": {
2829                        "start": {
2830                          "line": 33,
2831                          "column": 45
2832                        },
2833                        "end": {
2834                          "line": 33,
2835                          "column": 55
2836                        }
2837                      }
2838                    },
2839                    {
2840                      "type": "ETSNullType",
2841                      "loc": {
2842                        "start": {
2843                          "line": 33,
2844                          "column": 56
2845                        },
2846                        "end": {
2847                          "line": 33,
2848                          "column": 60
2849                        }
2850                      }
2851                    }
2852                  ],
2853                  "loc": {
2854                    "start": {
2855                      "line": 33,
2856                      "column": 45
2857                    },
2858                    "end": {
2859                      "line": 33,
2860                      "column": 60
2861                    }
2862                  }
2863                },
2864                "declare": true,
2865                "loc": {
2866                  "start": {
2867                    "line": 33,
2868                    "column": 11
2869                  },
2870                  "end": {
2871                    "line": 33,
2872                    "column": 60
2873                  }
2874                }
2875              },
2876              "loc": {
2877                "start": {
2878                  "line": 33,
2879                  "column": 11
2880                },
2881                "end": {
2882                  "line": 33,
2883                  "column": 60
2884                }
2885              }
2886            },
2887            "overloads": [],
2888            "decorators": [],
2889            "loc": {
2890              "start": {
2891                "line": 33,
2892                "column": 5
2893              },
2894              "end": {
2895                "line": 33,
2896                "column": 61
2897              }
2898            }
2899          },
2900          {
2901            "type": "MethodDefinition",
2902            "key": {
2903              "type": "Identifier",
2904              "name": "sort",
2905              "decorators": [],
2906              "loc": {
2907                "start": {
2908                  "line": 34,
2909                  "column": 5
2910                },
2911                "end": {
2912                  "line": 34,
2913                  "column": 9
2914                }
2915              }
2916            },
2917            "kind": "method",
2918            "accessibility": "public",
2919            "static": false,
2920            "optional": false,
2921            "computed": false,
2922            "value": {
2923              "type": "FunctionExpression",
2924              "function": {
2925                "type": "ScriptFunction",
2926                "id": {
2927                  "type": "Identifier",
2928                  "name": "sort",
2929                  "decorators": [],
2930                  "loc": {
2931                    "start": {
2932                      "line": 34,
2933                      "column": 5
2934                    },
2935                    "end": {
2936                      "line": 34,
2937                      "column": 9
2938                    }
2939                  }
2940                },
2941                "generator": false,
2942                "async": false,
2943                "expression": false,
2944                "params": [
2945                  {
2946                    "type": "ETSParameterExpression",
2947                    "name": {
2948                      "type": "Identifier",
2949                      "name": "comparator",
2950                      "typeAnnotation": {
2951                        "type": "ETSFunctionType",
2952                        "params": [
2953                          {
2954                            "type": "ETSParameterExpression",
2955                            "name": {
2956                              "type": "Identifier",
2957                              "name": "lhs",
2958                              "typeAnnotation": {
2959                                "type": "ETSTypeReference",
2960                                "part": {
2961                                  "type": "ETSTypeReferencePart",
2962                                  "name": {
2963                                    "type": "Identifier",
2964                                    "name": "T",
2965                                    "decorators": [],
2966                                    "loc": {
2967                                      "start": {
2968                                        "line": 34,
2969                                        "column": 28
2970                                      },
2971                                      "end": {
2972                                        "line": 34,
2973                                        "column": 29
2974                                      }
2975                                    }
2976                                  },
2977                                  "loc": {
2978                                    "start": {
2979                                      "line": 34,
2980                                      "column": 28
2981                                    },
2982                                    "end": {
2983                                      "line": 34,
2984                                      "column": 30
2985                                    }
2986                                  }
2987                                },
2988                                "loc": {
2989                                  "start": {
2990                                    "line": 34,
2991                                    "column": 28
2992                                  },
2993                                  "end": {
2994                                    "line": 34,
2995                                    "column": 30
2996                                  }
2997                                }
2998                              },
2999                              "decorators": [],
3000                              "loc": {
3001                                "start": {
3002                                  "line": 34,
3003                                  "column": 23
3004                                },
3005                                "end": {
3006                                  "line": 34,
3007                                  "column": 30
3008                                }
3009                              }
3010                            },
3011                            "loc": {
3012                              "start": {
3013                                "line": 34,
3014                                "column": 23
3015                              },
3016                              "end": {
3017                                "line": 34,
3018                                "column": 30
3019                              }
3020                            }
3021                          },
3022                          {
3023                            "type": "ETSParameterExpression",
3024                            "name": {
3025                              "type": "Identifier",
3026                              "name": "rhs",
3027                              "typeAnnotation": {
3028                                "type": "ETSTypeReference",
3029                                "part": {
3030                                  "type": "ETSTypeReferencePart",
3031                                  "name": {
3032                                    "type": "Identifier",
3033                                    "name": "T",
3034                                    "decorators": [],
3035                                    "loc": {
3036                                      "start": {
3037                                        "line": 34,
3038                                        "column": 36
3039                                      },
3040                                      "end": {
3041                                        "line": 34,
3042                                        "column": 37
3043                                      }
3044                                    }
3045                                  },
3046                                  "loc": {
3047                                    "start": {
3048                                      "line": 34,
3049                                      "column": 36
3050                                    },
3051                                    "end": {
3052                                      "line": 34,
3053                                      "column": 38
3054                                    }
3055                                  }
3056                                },
3057                                "loc": {
3058                                  "start": {
3059                                    "line": 34,
3060                                    "column": 36
3061                                  },
3062                                  "end": {
3063                                    "line": 34,
3064                                    "column": 38
3065                                  }
3066                                }
3067                              },
3068                              "decorators": [],
3069                              "loc": {
3070                                "start": {
3071                                  "line": 34,
3072                                  "column": 31
3073                                },
3074                                "end": {
3075                                  "line": 34,
3076                                  "column": 38
3077                                }
3078                              }
3079                            },
3080                            "loc": {
3081                              "start": {
3082                                "line": 34,
3083                                "column": 31
3084                              },
3085                              "end": {
3086                                "line": 34,
3087                                "column": 38
3088                              }
3089                            }
3090                          }
3091                        ],
3092                        "returnType": {
3093                          "type": "ETSPrimitiveType",
3094                          "loc": {
3095                            "start": {
3096                              "line": 34,
3097                              "column": 42
3098                            },
3099                            "end": {
3100                              "line": 34,
3101                              "column": 49
3102                            }
3103                          }
3104                        },
3105                        "loc": {
3106                          "start": {
3107                            "line": 34,
3108                            "column": 22
3109                          },
3110                          "end": {
3111                            "line": 34,
3112                            "column": 49
3113                          }
3114                        }
3115                      },
3116                      "decorators": [],
3117                      "loc": {
3118                        "start": {
3119                          "line": 34,
3120                          "column": 10
3121                        },
3122                        "end": {
3123                          "line": 34,
3124                          "column": 49
3125                        }
3126                      }
3127                    },
3128                    "loc": {
3129                      "start": {
3130                        "line": 34,
3131                        "column": 10
3132                      },
3133                      "end": {
3134                        "line": 34,
3135                        "column": 49
3136                      }
3137                    }
3138                  }
3139                ],
3140                "returnType": {
3141                  "type": "ETSUnionType",
3142                  "types": [
3143                    {
3144                      "type": "ETSTypeReference",
3145                      "part": {
3146                        "type": "ETSTypeReferencePart",
3147                        "name": {
3148                          "type": "Identifier",
3149                          "name": "Listt",
3150                          "decorators": [],
3151                          "loc": {
3152                            "start": {
3153                              "line": 34,
3154                              "column": 53
3155                            },
3156                            "end": {
3157                              "line": 34,
3158                              "column": 58
3159                            }
3160                          }
3161                        },
3162                        "typeParams": {
3163                          "type": "TSTypeParameterInstantiation",
3164                          "params": [
3165                            {
3166                              "type": "ETSTypeReference",
3167                              "part": {
3168                                "type": "ETSTypeReferencePart",
3169                                "name": {
3170                                  "type": "Identifier",
3171                                  "name": "T",
3172                                  "decorators": [],
3173                                  "loc": {
3174                                    "start": {
3175                                      "line": 34,
3176                                      "column": 59
3177                                    },
3178                                    "end": {
3179                                      "line": 34,
3180                                      "column": 60
3181                                    }
3182                                  }
3183                                },
3184                                "loc": {
3185                                  "start": {
3186                                    "line": 34,
3187                                    "column": 59
3188                                  },
3189                                  "end": {
3190                                    "line": 34,
3191                                    "column": 61
3192                                  }
3193                                }
3194                              },
3195                              "loc": {
3196                                "start": {
3197                                  "line": 34,
3198                                  "column": 59
3199                                },
3200                                "end": {
3201                                  "line": 34,
3202                                  "column": 61
3203                                }
3204                              }
3205                            }
3206                          ],
3207                          "loc": {
3208                            "start": {
3209                              "line": 34,
3210                              "column": 58
3211                            },
3212                            "end": {
3213                              "line": 34,
3214                              "column": 61
3215                            }
3216                          }
3217                        },
3218                        "loc": {
3219                          "start": {
3220                            "line": 34,
3221                            "column": 53
3222                          },
3223                          "end": {
3224                            "line": 34,
3225                            "column": 63
3226                          }
3227                        }
3228                      },
3229                      "loc": {
3230                        "start": {
3231                          "line": 34,
3232                          "column": 53
3233                        },
3234                        "end": {
3235                          "line": 34,
3236                          "column": 63
3237                        }
3238                      }
3239                    },
3240                    {
3241                      "type": "ETSNullType",
3242                      "loc": {
3243                        "start": {
3244                          "line": 34,
3245                          "column": 64
3246                        },
3247                        "end": {
3248                          "line": 34,
3249                          "column": 68
3250                        }
3251                      }
3252                    }
3253                  ],
3254                  "loc": {
3255                    "start": {
3256                      "line": 34,
3257                      "column": 53
3258                    },
3259                    "end": {
3260                      "line": 34,
3261                      "column": 68
3262                    }
3263                  }
3264                },
3265                "declare": true,
3266                "loc": {
3267                  "start": {
3268                    "line": 34,
3269                    "column": 9
3270                  },
3271                  "end": {
3272                    "line": 34,
3273                    "column": 68
3274                  }
3275                }
3276              },
3277              "loc": {
3278                "start": {
3279                  "line": 34,
3280                  "column": 9
3281                },
3282                "end": {
3283                  "line": 34,
3284                  "column": 68
3285                }
3286              }
3287            },
3288            "overloads": [],
3289            "decorators": [],
3290            "loc": {
3291              "start": {
3292                "line": 34,
3293                "column": 5
3294              },
3295              "end": {
3296                "line": 34,
3297                "column": 69
3298              }
3299            }
3300          }
3301        ],
3302        "loc": {
3303          "start": {
3304            "line": 19,
3305            "column": 22
3306          },
3307          "end": {
3308            "line": 35,
3309            "column": 2
3310          }
3311        }
3312      },
3313      "id": {
3314        "type": "Identifier",
3315        "name": "Listt",
3316        "decorators": [],
3317        "loc": {
3318          "start": {
3319            "line": 19,
3320            "column": 11
3321          },
3322          "end": {
3323            "line": 19,
3324            "column": 16
3325          }
3326        }
3327      },
3328      "extends": [],
3329      "typeParameters": {
3330        "type": "TSTypeParameterDeclaration",
3331        "params": [
3332          {
3333            "type": "TSTypeParameter",
3334            "name": {
3335              "type": "Identifier",
3336              "name": "T",
3337              "decorators": [],
3338              "loc": {
3339                "start": {
3340                  "line": 19,
3341                  "column": 18
3342                },
3343                "end": {
3344                  "line": 19,
3345                  "column": 19
3346                }
3347              }
3348            },
3349            "loc": {
3350              "start": {
3351                "line": 19,
3352                "column": 18
3353              },
3354              "end": {
3355                "line": 19,
3356                "column": 20
3357              }
3358            }
3359          }
3360        ],
3361        "loc": {
3362          "start": {
3363            "line": 19,
3364            "column": 17
3365          },
3366          "end": {
3367            "line": 19,
3368            "column": 20
3369          }
3370        }
3371      },
3372      "loc": {
3373        "start": {
3374          "line": 19,
3375          "column": 1
3376        },
3377        "end": {
3378          "line": 37,
3379          "column": 6
3380        }
3381      }
3382    },
3383    {
3384      "type": "ClassDeclaration",
3385      "definition": {
3386        "id": {
3387          "type": "Identifier",
3388          "name": "ArrayAsListt",
3389          "decorators": [],
3390          "loc": {
3391            "start": {
3392              "line": 37,
3393              "column": 7
3394            },
3395            "end": {
3396              "line": 37,
3397              "column": 19
3398            }
3399          }
3400        },
3401        "typeParameters": {
3402          "type": "TSTypeParameterDeclaration",
3403          "params": [
3404            {
3405              "type": "TSTypeParameter",
3406              "name": {
3407                "type": "Identifier",
3408                "name": "T",
3409                "decorators": [],
3410                "loc": {
3411                  "start": {
3412                    "line": 37,
3413                    "column": 20
3414                  },
3415                  "end": {
3416                    "line": 37,
3417                    "column": 21
3418                  }
3419                }
3420              },
3421              "loc": {
3422                "start": {
3423                  "line": 37,
3424                  "column": 20
3425                },
3426                "end": {
3427                  "line": 37,
3428                  "column": 22
3429                }
3430              }
3431            }
3432          ],
3433          "loc": {
3434            "start": {
3435              "line": 37,
3436              "column": 19
3437            },
3438            "end": {
3439              "line": 37,
3440              "column": 22
3441            }
3442          }
3443        },
3444        "superClass": null,
3445        "implements": [
3446          {
3447            "type": "TSClassImplements",
3448            "expression": {
3449              "type": "ETSTypeReference",
3450              "part": {
3451                "type": "ETSTypeReferencePart",
3452                "name": {
3453                  "type": "Identifier",
3454                  "name": "Listt",
3455                  "decorators": [],
3456                  "loc": {
3457                    "start": {
3458                      "line": 37,
3459                      "column": 34
3460                    },
3461                    "end": {
3462                      "line": 37,
3463                      "column": 39
3464                    }
3465                  }
3466                },
3467                "typeParams": {
3468                  "type": "TSTypeParameterInstantiation",
3469                  "params": [
3470                    {
3471                      "type": "ETSTypeReference",
3472                      "part": {
3473                        "type": "ETSTypeReferencePart",
3474                        "name": {
3475                          "type": "Identifier",
3476                          "name": "T",
3477                          "decorators": [],
3478                          "loc": {
3479                            "start": {
3480                              "line": 37,
3481                              "column": 40
3482                            },
3483                            "end": {
3484                              "line": 37,
3485                              "column": 41
3486                            }
3487                          }
3488                        },
3489                        "loc": {
3490                          "start": {
3491                            "line": 37,
3492                            "column": 40
3493                          },
3494                          "end": {
3495                            "line": 37,
3496                            "column": 42
3497                          }
3498                        }
3499                      },
3500                      "loc": {
3501                        "start": {
3502                          "line": 37,
3503                          "column": 40
3504                        },
3505                        "end": {
3506                          "line": 37,
3507                          "column": 42
3508                        }
3509                      }
3510                    }
3511                  ],
3512                  "loc": {
3513                    "start": {
3514                      "line": 37,
3515                      "column": 39
3516                    },
3517                    "end": {
3518                      "line": 37,
3519                      "column": 42
3520                    }
3521                  }
3522                },
3523                "loc": {
3524                  "start": {
3525                    "line": 37,
3526                    "column": 34
3527                  },
3528                  "end": {
3529                    "line": 37,
3530                    "column": 44
3531                  }
3532                }
3533              },
3534              "loc": {
3535                "start": {
3536                  "line": 37,
3537                  "column": 34
3538                },
3539                "end": {
3540                  "line": 37,
3541                  "column": 44
3542                }
3543              }
3544            },
3545            "loc": {
3546              "start": {
3547                "line": 37,
3548                "column": 34
3549              },
3550              "end": {
3551                "line": 37,
3552                "column": 44
3553              }
3554            }
3555          }
3556        ],
3557        "body": [
3558          {
3559            "type": "MethodDefinition",
3560            "key": {
3561              "type": "Identifier",
3562              "name": "init",
3563              "decorators": [],
3564              "loc": {
3565                "start": {
3566                  "line": 39,
3567                  "column": 13
3568                },
3569                "end": {
3570                  "line": 39,
3571                  "column": 17
3572                }
3573              }
3574            },
3575            "kind": "method",
3576            "accessibility": "private",
3577            "static": false,
3578            "optional": false,
3579            "computed": false,
3580            "value": {
3581              "type": "FunctionExpression",
3582              "function": {
3583                "type": "ScriptFunction",
3584                "id": {
3585                  "type": "Identifier",
3586                  "name": "init",
3587                  "decorators": [],
3588                  "loc": {
3589                    "start": {
3590                      "line": 39,
3591                      "column": 13
3592                    },
3593                    "end": {
3594                      "line": 39,
3595                      "column": 17
3596                    }
3597                  }
3598                },
3599                "generator": false,
3600                "async": false,
3601                "expression": false,
3602                "params": [
3603                  {
3604                    "type": "ETSParameterExpression",
3605                    "name": {
3606                      "type": "Identifier",
3607                      "name": "capacity",
3608                      "typeAnnotation": {
3609                        "type": "ETSPrimitiveType",
3610                        "loc": {
3611                          "start": {
3612                            "line": 39,
3613                            "column": 28
3614                          },
3615                          "end": {
3616                            "line": 39,
3617                            "column": 31
3618                          }
3619                        }
3620                      },
3621                      "decorators": [],
3622                      "loc": {
3623                        "start": {
3624                          "line": 39,
3625                          "column": 18
3626                        },
3627                        "end": {
3628                          "line": 39,
3629                          "column": 31
3630                        }
3631                      }
3632                    },
3633                    "loc": {
3634                      "start": {
3635                        "line": 39,
3636                        "column": 18
3637                      },
3638                      "end": {
3639                        "line": 39,
3640                        "column": 31
3641                      }
3642                    }
3643                  },
3644                  {
3645                    "type": "ETSParameterExpression",
3646                    "name": {
3647                      "type": "Identifier",
3648                      "name": "val",
3649                      "typeAnnotation": {
3650                        "type": "ETSUnionType",
3651                        "types": [
3652                          {
3653                            "type": "ETSTypeReference",
3654                            "part": {
3655                              "type": "ETSTypeReferencePart",
3656                              "name": {
3657                                "type": "Identifier",
3658                                "name": "T",
3659                                "decorators": [],
3660                                "loc": {
3661                                  "start": {
3662                                    "line": 39,
3663                                    "column": 38
3664                                  },
3665                                  "end": {
3666                                    "line": 39,
3667                                    "column": 39
3668                                  }
3669                                }
3670                              },
3671                              "loc": {
3672                                "start": {
3673                                  "line": 39,
3674                                  "column": 38
3675                                },
3676                                "end": {
3677                                  "line": 39,
3678                                  "column": 41
3679                                }
3680                              }
3681                            },
3682                            "loc": {
3683                              "start": {
3684                                "line": 39,
3685                                "column": 38
3686                              },
3687                              "end": {
3688                                "line": 39,
3689                                "column": 41
3690                              }
3691                            }
3692                          },
3693                          {
3694                            "type": "ETSNullType",
3695                            "loc": {
3696                              "start": {
3697                                "line": 39,
3698                                "column": 42
3699                              },
3700                              "end": {
3701                                "line": 39,
3702                                "column": 46
3703                              }
3704                            }
3705                          }
3706                        ],
3707                        "loc": {
3708                          "start": {
3709                            "line": 39,
3710                            "column": 38
3711                          },
3712                          "end": {
3713                            "line": 39,
3714                            "column": 46
3715                          }
3716                        }
3717                      },
3718                      "decorators": [],
3719                      "loc": {
3720                        "start": {
3721                          "line": 39,
3722                          "column": 33
3723                        },
3724                        "end": {
3725                          "line": 39,
3726                          "column": 46
3727                        }
3728                      }
3729                    },
3730                    "loc": {
3731                      "start": {
3732                        "line": 39,
3733                        "column": 33
3734                      },
3735                      "end": {
3736                        "line": 39,
3737                        "column": 46
3738                      }
3739                    }
3740                  }
3741                ],
3742                "returnType": {
3743                  "type": "ETSPrimitiveType",
3744                  "loc": {
3745                    "start": {
3746                      "line": 39,
3747                      "column": 49
3748                    },
3749                    "end": {
3750                      "line": 39,
3751                      "column": 53
3752                    }
3753                  }
3754                },
3755                "body": {
3756                  "type": "BlockStatement",
3757                  "statements": [
3758                    {
3759                      "type": "ExpressionStatement",
3760                      "expression": {
3761                        "type": "AssignmentExpression",
3762                        "operator": "=",
3763                        "left": {
3764                          "type": "MemberExpression",
3765                          "object": {
3766                            "type": "ThisExpression",
3767                            "loc": {
3768                              "start": {
3769                                "line": 40,
3770                                "column": 9
3771                              },
3772                              "end": {
3773                                "line": 40,
3774                                "column": 13
3775                              }
3776                            }
3777                          },
3778                          "property": {
3779                            "type": "Identifier",
3780                            "name": "data",
3781                            "decorators": [],
3782                            "loc": {
3783                              "start": {
3784                                "line": 40,
3785                                "column": 14
3786                              },
3787                              "end": {
3788                                "line": 40,
3789                                "column": 18
3790                              }
3791                            }
3792                          },
3793                          "computed": false,
3794                          "optional": false,
3795                          "loc": {
3796                            "start": {
3797                              "line": 40,
3798                              "column": 9
3799                            },
3800                            "end": {
3801                              "line": 40,
3802                              "column": 18
3803                            }
3804                          }
3805                        },
3806                        "right": {
3807                          "type": "ETSNewArrayInstanceExpression",
3808                          "typeReference": {
3809                            "type": "ETSTypeReference",
3810                            "part": {
3811                              "type": "ETSTypeReferencePart",
3812                              "name": {
3813                                "type": "Identifier",
3814                                "name": "T",
3815                                "decorators": [],
3816                                "loc": {
3817                                  "start": {
3818                                    "line": 40,
3819                                    "column": 25
3820                                  },
3821                                  "end": {
3822                                    "line": 40,
3823                                    "column": 26
3824                                  }
3825                                }
3826                              },
3827                              "loc": {
3828                                "start": {
3829                                  "line": 40,
3830                                  "column": 25
3831                                },
3832                                "end": {
3833                                  "line": 40,
3834                                  "column": 27
3835                                }
3836                              }
3837                            },
3838                            "loc": {
3839                              "start": {
3840                                "line": 40,
3841                                "column": 25
3842                              },
3843                              "end": {
3844                                "line": 40,
3845                                "column": 27
3846                              }
3847                            }
3848                          },
3849                          "dimension": {
3850                            "type": "Identifier",
3851                            "name": "capacity",
3852                            "decorators": [],
3853                            "loc": {
3854                              "start": {
3855                                "line": 40,
3856                                "column": 27
3857                              },
3858                              "end": {
3859                                "line": 40,
3860                                "column": 35
3861                              }
3862                            }
3863                          },
3864                          "loc": {
3865                            "start": {
3866                              "line": 40,
3867                              "column": 21
3868                            },
3869                            "end": {
3870                              "line": 40,
3871                              "column": 36
3872                            }
3873                          }
3874                        },
3875                        "loc": {
3876                          "start": {
3877                            "line": 40,
3878                            "column": 9
3879                          },
3880                          "end": {
3881                            "line": 40,
3882                            "column": 36
3883                          }
3884                        }
3885                      },
3886                      "loc": {
3887                        "start": {
3888                          "line": 40,
3889                          "column": 9
3890                        },
3891                        "end": {
3892                          "line": 40,
3893                          "column": 37
3894                        }
3895                      }
3896                    },
3897                    {
3898                      "type": "ForUpdateStatement",
3899                      "init": {
3900                        "type": "VariableDeclaration",
3901                        "declarations": [
3902                          {
3903                            "type": "VariableDeclarator",
3904                            "id": {
3905                              "type": "Identifier",
3906                              "name": "i",
3907                              "decorators": [],
3908                              "loc": {
3909                                "start": {
3910                                  "line": 41,
3911                                  "column": 18
3912                                },
3913                                "end": {
3914                                  "line": 41,
3915                                  "column": 19
3916                                }
3917                              }
3918                            },
3919                            "init": {
3920                              "type": "NumberLiteral",
3921                              "value": 0,
3922                              "loc": {
3923                                "start": {
3924                                  "line": 41,
3925                                  "column": 22
3926                                },
3927                                "end": {
3928                                  "line": 41,
3929                                  "column": 23
3930                                }
3931                              }
3932                            },
3933                            "loc": {
3934                              "start": {
3935                                "line": 41,
3936                                "column": 18
3937                              },
3938                              "end": {
3939                                "line": 41,
3940                                "column": 23
3941                              }
3942                            }
3943                          }
3944                        ],
3945                        "kind": "let",
3946                        "loc": {
3947                          "start": {
3948                            "line": 41,
3949                            "column": 14
3950                          },
3951                          "end": {
3952                            "line": 41,
3953                            "column": 23
3954                          }
3955                        }
3956                      },
3957                      "test": {
3958                        "type": "BinaryExpression",
3959                        "operator": "<",
3960                        "left": {
3961                          "type": "Identifier",
3962                          "name": "i",
3963                          "decorators": [],
3964                          "loc": {
3965                            "start": {
3966                              "line": 41,
3967                              "column": 25
3968                            },
3969                            "end": {
3970                              "line": 41,
3971                              "column": 26
3972                            }
3973                          }
3974                        },
3975                        "right": {
3976                          "type": "MemberExpression",
3977                          "object": {
3978                            "type": "MemberExpression",
3979                            "object": {
3980                              "type": "ThisExpression",
3981                              "loc": {
3982                                "start": {
3983                                  "line": 41,
3984                                  "column": 29
3985                                },
3986                                "end": {
3987                                  "line": 41,
3988                                  "column": 33
3989                                }
3990                              }
3991                            },
3992                            "property": {
3993                              "type": "Identifier",
3994                              "name": "data",
3995                              "decorators": [],
3996                              "loc": {
3997                                "start": {
3998                                  "line": 41,
3999                                  "column": 34
4000                                },
4001                                "end": {
4002                                  "line": 41,
4003                                  "column": 38
4004                                }
4005                              }
4006                            },
4007                            "computed": false,
4008                            "optional": false,
4009                            "loc": {
4010                              "start": {
4011                                "line": 41,
4012                                "column": 29
4013                              },
4014                              "end": {
4015                                "line": 41,
4016                                "column": 38
4017                              }
4018                            }
4019                          },
4020                          "property": {
4021                            "type": "Identifier",
4022                            "name": "length",
4023                            "decorators": [],
4024                            "loc": {
4025                              "start": {
4026                                "line": 41,
4027                                "column": 39
4028                              },
4029                              "end": {
4030                                "line": 41,
4031                                "column": 45
4032                              }
4033                            }
4034                          },
4035                          "computed": false,
4036                          "optional": false,
4037                          "loc": {
4038                            "start": {
4039                              "line": 41,
4040                              "column": 29
4041                            },
4042                            "end": {
4043                              "line": 41,
4044                              "column": 45
4045                            }
4046                          }
4047                        },
4048                        "loc": {
4049                          "start": {
4050                            "line": 41,
4051                            "column": 25
4052                          },
4053                          "end": {
4054                            "line": 41,
4055                            "column": 45
4056                          }
4057                        }
4058                      },
4059                      "update": {
4060                        "type": "UpdateExpression",
4061                        "operator": "++",
4062                        "prefix": true,
4063                        "argument": {
4064                          "type": "Identifier",
4065                          "name": "i",
4066                          "decorators": [],
4067                          "loc": {
4068                            "start": {
4069                              "line": 41,
4070                              "column": 49
4071                            },
4072                            "end": {
4073                              "line": 41,
4074                              "column": 50
4075                            }
4076                          }
4077                        },
4078                        "loc": {
4079                          "start": {
4080                            "line": 41,
4081                            "column": 47
4082                          },
4083                          "end": {
4084                            "line": 41,
4085                            "column": 50
4086                          }
4087                        }
4088                      },
4089                      "body": {
4090                        "type": "BlockStatement",
4091                        "statements": [],
4092                        "loc": {
4093                          "start": {
4094                            "line": 41,
4095                            "column": 52
4096                          },
4097                          "end": {
4098                            "line": 42,
4099                            "column": 10
4100                          }
4101                        }
4102                      },
4103                      "loc": {
4104                        "start": {
4105                          "line": 41,
4106                          "column": 9
4107                        },
4108                        "end": {
4109                          "line": 42,
4110                          "column": 10
4111                        }
4112                      }
4113                    },
4114                    {
4115                      "type": "ExpressionStatement",
4116                      "expression": {
4117                        "type": "AssignmentExpression",
4118                        "operator": "=",
4119                        "left": {
4120                          "type": "MemberExpression",
4121                          "object": {
4122                            "type": "ThisExpression",
4123                            "loc": {
4124                              "start": {
4125                                "line": 43,
4126                                "column": 9
4127                              },
4128                              "end": {
4129                                "line": 43,
4130                                "column": 13
4131                              }
4132                            }
4133                          },
4134                          "property": {
4135                            "type": "Identifier",
4136                            "name": "curSize",
4137                            "decorators": [],
4138                            "loc": {
4139                              "start": {
4140                                "line": 43,
4141                                "column": 14
4142                              },
4143                              "end": {
4144                                "line": 43,
4145                                "column": 21
4146                              }
4147                            }
4148                          },
4149                          "computed": false,
4150                          "optional": false,
4151                          "loc": {
4152                            "start": {
4153                              "line": 43,
4154                              "column": 9
4155                            },
4156                            "end": {
4157                              "line": 43,
4158                              "column": 21
4159                            }
4160                          }
4161                        },
4162                        "right": {
4163                          "type": "Identifier",
4164                          "name": "capacity",
4165                          "decorators": [],
4166                          "loc": {
4167                            "start": {
4168                              "line": 43,
4169                              "column": 24
4170                            },
4171                            "end": {
4172                              "line": 43,
4173                              "column": 32
4174                            }
4175                          }
4176                        },
4177                        "loc": {
4178                          "start": {
4179                            "line": 43,
4180                            "column": 9
4181                          },
4182                          "end": {
4183                            "line": 43,
4184                            "column": 32
4185                          }
4186                        }
4187                      },
4188                      "loc": {
4189                        "start": {
4190                          "line": 43,
4191                          "column": 9
4192                        },
4193                        "end": {
4194                          "line": 43,
4195                          "column": 33
4196                        }
4197                      }
4198                    }
4199                  ],
4200                  "loc": {
4201                    "start": {
4202                      "line": 39,
4203                      "column": 54
4204                    },
4205                    "end": {
4206                      "line": 44,
4207                      "column": 6
4208                    }
4209                  }
4210                },
4211                "loc": {
4212                  "start": {
4213                    "line": 39,
4214                    "column": 17
4215                  },
4216                  "end": {
4217                    "line": 44,
4218                    "column": 6
4219                  }
4220                }
4221              },
4222              "loc": {
4223                "start": {
4224                  "line": 39,
4225                  "column": 17
4226                },
4227                "end": {
4228                  "line": 44,
4229                  "column": 6
4230                }
4231              }
4232            },
4233            "overloads": [],
4234            "decorators": [],
4235            "loc": {
4236              "start": {
4237                "line": 39,
4238                "column": 5
4239              },
4240              "end": {
4241                "line": 44,
4242                "column": 6
4243              }
4244            }
4245          },
4246          {
4247            "type": "MethodDefinition",
4248            "key": {
4249              "type": "Identifier",
4250              "name": "constructor",
4251              "decorators": [],
4252              "loc": {
4253                "start": {
4254                  "line": 1,
4255                  "column": 1
4256                },
4257                "end": {
4258                  "line": 1,
4259                  "column": 1
4260                }
4261              }
4262            },
4263            "kind": "constructor",
4264            "accessibility": "public",
4265            "static": false,
4266            "optional": false,
4267            "computed": false,
4268            "value": {
4269              "type": "FunctionExpression",
4270              "function": {
4271                "type": "ScriptFunction",
4272                "id": {
4273                  "type": "Identifier",
4274                  "name": "constructor",
4275                  "decorators": [],
4276                  "loc": {
4277                    "start": {
4278                      "line": 1,
4279                      "column": 1
4280                    },
4281                    "end": {
4282                      "line": 1,
4283                      "column": 1
4284                    }
4285                  }
4286                },
4287                "generator": false,
4288                "async": false,
4289                "expression": false,
4290                "params": [
4291                  {
4292                    "type": "ETSParameterExpression",
4293                    "name": {
4294                      "type": "Identifier",
4295                      "name": "capacity",
4296                      "typeAnnotation": {
4297                        "type": "ETSPrimitiveType",
4298                        "loc": {
4299                          "start": {
4300                            "line": 46,
4301                            "column": 27
4302                          },
4303                          "end": {
4304                            "line": 46,
4305                            "column": 30
4306                          }
4307                        }
4308                      },
4309                      "decorators": [],
4310                      "loc": {
4311                        "start": {
4312                          "line": 46,
4313                          "column": 17
4314                        },
4315                        "end": {
4316                          "line": 46,
4317                          "column": 30
4318                        }
4319                      }
4320                    },
4321                    "loc": {
4322                      "start": {
4323                        "line": 46,
4324                        "column": 17
4325                      },
4326                      "end": {
4327                        "line": 46,
4328                        "column": 30
4329                      }
4330                    }
4331                  },
4332                  {
4333                    "type": "ETSParameterExpression",
4334                    "name": {
4335                      "type": "Identifier",
4336                      "name": "val",
4337                      "typeAnnotation": {
4338                        "type": "ETSTypeReference",
4339                        "part": {
4340                          "type": "ETSTypeReferencePart",
4341                          "name": {
4342                            "type": "Identifier",
4343                            "name": "T",
4344                            "decorators": [],
4345                            "loc": {
4346                              "start": {
4347                                "line": 46,
4348                                "column": 37
4349                              },
4350                              "end": {
4351                                "line": 46,
4352                                "column": 38
4353                              }
4354                            }
4355                          },
4356                          "loc": {
4357                            "start": {
4358                              "line": 46,
4359                              "column": 37
4360                            },
4361                            "end": {
4362                              "line": 46,
4363                              "column": 39
4364                            }
4365                          }
4366                        },
4367                        "loc": {
4368                          "start": {
4369                            "line": 46,
4370                            "column": 37
4371                          },
4372                          "end": {
4373                            "line": 46,
4374                            "column": 39
4375                          }
4376                        }
4377                      },
4378                      "decorators": [],
4379                      "loc": {
4380                        "start": {
4381                          "line": 46,
4382                          "column": 32
4383                        },
4384                        "end": {
4385                          "line": 46,
4386                          "column": 39
4387                        }
4388                      }
4389                    },
4390                    "loc": {
4391                      "start": {
4392                        "line": 46,
4393                        "column": 32
4394                      },
4395                      "end": {
4396                        "line": 46,
4397                        "column": 39
4398                      }
4399                    }
4400                  }
4401                ],
4402                "body": {
4403                  "type": "BlockStatement",
4404                  "statements": [
4405                    {
4406                      "type": "ExpressionStatement",
4407                      "expression": {
4408                        "type": "CallExpression",
4409                        "callee": {
4410                          "type": "MemberExpression",
4411                          "object": {
4412                            "type": "ThisExpression",
4413                            "loc": {
4414                              "start": {
4415                                "line": 47,
4416                                "column": 9
4417                              },
4418                              "end": {
4419                                "line": 47,
4420                                "column": 13
4421                              }
4422                            }
4423                          },
4424                          "property": {
4425                            "type": "Identifier",
4426                            "name": "init",
4427                            "decorators": [],
4428                            "loc": {
4429                              "start": {
4430                                "line": 47,
4431                                "column": 14
4432                              },
4433                              "end": {
4434                                "line": 47,
4435                                "column": 18
4436                              }
4437                            }
4438                          },
4439                          "computed": false,
4440                          "optional": false,
4441                          "loc": {
4442                            "start": {
4443                              "line": 47,
4444                              "column": 9
4445                            },
4446                            "end": {
4447                              "line": 47,
4448                              "column": 18
4449                            }
4450                          }
4451                        },
4452                        "arguments": [
4453                          {
4454                            "type": "Identifier",
4455                            "name": "capacity",
4456                            "decorators": [],
4457                            "loc": {
4458                              "start": {
4459                                "line": 47,
4460                                "column": 19
4461                              },
4462                              "end": {
4463                                "line": 47,
4464                                "column": 27
4465                              }
4466                            }
4467                          },
4468                          {
4469                            "type": "Identifier",
4470                            "name": "val",
4471                            "decorators": [],
4472                            "loc": {
4473                              "start": {
4474                                "line": 47,
4475                                "column": 29
4476                              },
4477                              "end": {
4478                                "line": 47,
4479                                "column": 32
4480                              }
4481                            }
4482                          }
4483                        ],
4484                        "optional": false,
4485                        "loc": {
4486                          "start": {
4487                            "line": 47,
4488                            "column": 9
4489                          },
4490                          "end": {
4491                            "line": 47,
4492                            "column": 33
4493                          }
4494                        }
4495                      },
4496                      "loc": {
4497                        "start": {
4498                          "line": 47,
4499                          "column": 9
4500                        },
4501                        "end": {
4502                          "line": 47,
4503                          "column": 34
4504                        }
4505                      }
4506                    }
4507                  ],
4508                  "loc": {
4509                    "start": {
4510                      "line": 46,
4511                      "column": 40
4512                    },
4513                    "end": {
4514                      "line": 48,
4515                      "column": 6
4516                    }
4517                  }
4518                },
4519                "loc": {
4520                  "start": {
4521                    "line": 46,
4522                    "column": 16
4523                  },
4524                  "end": {
4525                    "line": 48,
4526                    "column": 6
4527                  }
4528                }
4529              },
4530              "loc": {
4531                "start": {
4532                  "line": 46,
4533                  "column": 16
4534                },
4535                "end": {
4536                  "line": 48,
4537                  "column": 6
4538                }
4539              }
4540            },
4541            "overloads": [
4542              {
4543                "type": "MethodDefinition",
4544                "key": {
4545                  "type": "Identifier",
4546                  "name": "constructor",
4547                  "decorators": [],
4548                  "loc": {
4549                    "start": {
4550                      "line": 1,
4551                      "column": 1
4552                    },
4553                    "end": {
4554                      "line": 1,
4555                      "column": 1
4556                    }
4557                  }
4558                },
4559                "kind": "constructor",
4560                "accessibility": "public",
4561                "static": false,
4562                "optional": false,
4563                "computed": false,
4564                "value": {
4565                  "type": "FunctionExpression",
4566                  "function": {
4567                    "type": "ScriptFunction",
4568                    "id": {
4569                      "type": "Identifier",
4570                      "name": "constructor",
4571                      "decorators": [],
4572                      "loc": {
4573                        "start": {
4574                          "line": 1,
4575                          "column": 1
4576                        },
4577                        "end": {
4578                          "line": 1,
4579                          "column": 1
4580                        }
4581                      }
4582                    },
4583                    "generator": false,
4584                    "async": false,
4585                    "expression": false,
4586                    "params": [],
4587                    "body": {
4588                      "type": "BlockStatement",
4589                      "statements": [
4590                        {
4591                          "type": "ExpressionStatement",
4592                          "expression": {
4593                            "type": "CallExpression",
4594                            "callee": {
4595                              "type": "MemberExpression",
4596                              "object": {
4597                                "type": "ThisExpression",
4598                                "loc": {
4599                                  "start": {
4600                                    "line": 51,
4601                                    "column": 9
4602                                  },
4603                                  "end": {
4604                                    "line": 51,
4605                                    "column": 13
4606                                  }
4607                                }
4608                              },
4609                              "property": {
4610                                "type": "Identifier",
4611                                "name": "init",
4612                                "decorators": [],
4613                                "loc": {
4614                                  "start": {
4615                                    "line": 51,
4616                                    "column": 14
4617                                  },
4618                                  "end": {
4619                                    "line": 51,
4620                                    "column": 18
4621                                  }
4622                                }
4623                              },
4624                              "computed": false,
4625                              "optional": false,
4626                              "loc": {
4627                                "start": {
4628                                  "line": 51,
4629                                  "column": 9
4630                                },
4631                                "end": {
4632                                  "line": 51,
4633                                  "column": 18
4634                                }
4635                              }
4636                            },
4637                            "arguments": [
4638                              {
4639                                "type": "NumberLiteral",
4640                                "value": 0,
4641                                "loc": {
4642                                  "start": {
4643                                    "line": 51,
4644                                    "column": 19
4645                                  },
4646                                  "end": {
4647                                    "line": 51,
4648                                    "column": 20
4649                                  }
4650                                }
4651                              },
4652                              {
4653                                "type": "NullLiteral",
4654                                "value": null,
4655                                "loc": {
4656                                  "start": {
4657                                    "line": 51,
4658                                    "column": 22
4659                                  },
4660                                  "end": {
4661                                    "line": 51,
4662                                    "column": 26
4663                                  }
4664                                }
4665                              }
4666                            ],
4667                            "optional": false,
4668                            "loc": {
4669                              "start": {
4670                                "line": 51,
4671                                "column": 9
4672                              },
4673                              "end": {
4674                                "line": 51,
4675                                "column": 27
4676                              }
4677                            }
4678                          },
4679                          "loc": {
4680                            "start": {
4681                              "line": 51,
4682                              "column": 9
4683                            },
4684                            "end": {
4685                              "line": 51,
4686                              "column": 28
4687                            }
4688                          }
4689                        }
4690                      ],
4691                      "loc": {
4692                        "start": {
4693                          "line": 50,
4694                          "column": 19
4695                        },
4696                        "end": {
4697                          "line": 52,
4698                          "column": 6
4699                        }
4700                      }
4701                    },
4702                    "loc": {
4703                      "start": {
4704                        "line": 50,
4705                        "column": 16
4706                      },
4707                      "end": {
4708                        "line": 52,
4709                        "column": 6
4710                      }
4711                    }
4712                  },
4713                  "loc": {
4714                    "start": {
4715                      "line": 50,
4716                      "column": 16
4717                    },
4718                    "end": {
4719                      "line": 52,
4720                      "column": 6
4721                    }
4722                  }
4723                },
4724                "overloads": [],
4725                "decorators": [],
4726                "loc": {
4727                  "start": {
4728                    "line": 50,
4729                    "column": 5
4730                  },
4731                  "end": {
4732                    "line": 52,
4733                    "column": 6
4734                  }
4735                }
4736              },
4737              {
4738                "type": "MethodDefinition",
4739                "key": {
4740                  "type": "Identifier",
4741                  "name": "constructor",
4742                  "decorators": [],
4743                  "loc": {
4744                    "start": {
4745                      "line": 1,
4746                      "column": 1
4747                    },
4748                    "end": {
4749                      "line": 1,
4750                      "column": 1
4751                    }
4752                  }
4753                },
4754                "kind": "constructor",
4755                "accessibility": "public",
4756                "static": false,
4757                "optional": false,
4758                "computed": false,
4759                "value": {
4760                  "type": "FunctionExpression",
4761                  "function": {
4762                    "type": "ScriptFunction",
4763                    "id": {
4764                      "type": "Identifier",
4765                      "name": "constructor",
4766                      "decorators": [],
4767                      "loc": {
4768                        "start": {
4769                          "line": 1,
4770                          "column": 1
4771                        },
4772                        "end": {
4773                          "line": 1,
4774                          "column": 1
4775                        }
4776                      }
4777                    },
4778                    "generator": false,
4779                    "async": false,
4780                    "expression": false,
4781                    "params": [
4782                      {
4783                        "type": "ETSParameterExpression",
4784                        "name": {
4785                          "type": "Identifier",
4786                          "name": "capacity",
4787                          "typeAnnotation": {
4788                            "type": "ETSPrimitiveType",
4789                            "loc": {
4790                              "start": {
4791                                "line": 54,
4792                                "column": 27
4793                              },
4794                              "end": {
4795                                "line": 54,
4796                                "column": 30
4797                              }
4798                            }
4799                          },
4800                          "decorators": [],
4801                          "loc": {
4802                            "start": {
4803                              "line": 54,
4804                              "column": 17
4805                            },
4806                            "end": {
4807                              "line": 54,
4808                              "column": 30
4809                            }
4810                          }
4811                        },
4812                        "loc": {
4813                          "start": {
4814                            "line": 54,
4815                            "column": 17
4816                          },
4817                          "end": {
4818                            "line": 54,
4819                            "column": 30
4820                          }
4821                        }
4822                      }
4823                    ],
4824                    "body": {
4825                      "type": "BlockStatement",
4826                      "statements": [
4827                        {
4828                          "type": "ExpressionStatement",
4829                          "expression": {
4830                            "type": "CallExpression",
4831                            "callee": {
4832                              "type": "MemberExpression",
4833                              "object": {
4834                                "type": "ThisExpression",
4835                                "loc": {
4836                                  "start": {
4837                                    "line": 55,
4838                                    "column": 9
4839                                  },
4840                                  "end": {
4841                                    "line": 55,
4842                                    "column": 13
4843                                  }
4844                                }
4845                              },
4846                              "property": {
4847                                "type": "Identifier",
4848                                "name": "init",
4849                                "decorators": [],
4850                                "loc": {
4851                                  "start": {
4852                                    "line": 55,
4853                                    "column": 14
4854                                  },
4855                                  "end": {
4856                                    "line": 55,
4857                                    "column": 18
4858                                  }
4859                                }
4860                              },
4861                              "computed": false,
4862                              "optional": false,
4863                              "loc": {
4864                                "start": {
4865                                  "line": 55,
4866                                  "column": 9
4867                                },
4868                                "end": {
4869                                  "line": 55,
4870                                  "column": 18
4871                                }
4872                              }
4873                            },
4874                            "arguments": [
4875                              {
4876                                "type": "Identifier",
4877                                "name": "capacity",
4878                                "decorators": [],
4879                                "loc": {
4880                                  "start": {
4881                                    "line": 55,
4882                                    "column": 19
4883                                  },
4884                                  "end": {
4885                                    "line": 55,
4886                                    "column": 27
4887                                  }
4888                                }
4889                              },
4890                              {
4891                                "type": "NullLiteral",
4892                                "value": null,
4893                                "loc": {
4894                                  "start": {
4895                                    "line": 55,
4896                                    "column": 29
4897                                  },
4898                                  "end": {
4899                                    "line": 55,
4900                                    "column": 33
4901                                  }
4902                                }
4903                              }
4904                            ],
4905                            "optional": false,
4906                            "loc": {
4907                              "start": {
4908                                "line": 55,
4909                                "column": 9
4910                              },
4911                              "end": {
4912                                "line": 55,
4913                                "column": 34
4914                              }
4915                            }
4916                          },
4917                          "loc": {
4918                            "start": {
4919                              "line": 55,
4920                              "column": 9
4921                            },
4922                            "end": {
4923                              "line": 55,
4924                              "column": 35
4925                            }
4926                          }
4927                        }
4928                      ],
4929                      "loc": {
4930                        "start": {
4931                          "line": 54,
4932                          "column": 32
4933                        },
4934                        "end": {
4935                          "line": 56,
4936                          "column": 6
4937                        }
4938                      }
4939                    },
4940                    "loc": {
4941                      "start": {
4942                        "line": 54,
4943                        "column": 16
4944                      },
4945                      "end": {
4946                        "line": 56,
4947                        "column": 6
4948                      }
4949                    }
4950                  },
4951                  "loc": {
4952                    "start": {
4953                      "line": 54,
4954                      "column": 16
4955                    },
4956                    "end": {
4957                      "line": 56,
4958                      "column": 6
4959                    }
4960                  }
4961                },
4962                "overloads": [],
4963                "decorators": [],
4964                "loc": {
4965                  "start": {
4966                    "line": 54,
4967                    "column": 5
4968                  },
4969                  "end": {
4970                    "line": 56,
4971                    "column": 6
4972                  }
4973                }
4974              }
4975            ],
4976            "decorators": [],
4977            "loc": {
4978              "start": {
4979                "line": 46,
4980                "column": 5
4981              },
4982              "end": {
4983                "line": 48,
4984                "column": 6
4985              }
4986            }
4987          },
4988          {
4989            "type": "MethodDefinition",
4990            "key": {
4991              "type": "Identifier",
4992              "name": "reserve",
4993              "decorators": [],
4994              "loc": {
4995                "start": {
4996                  "line": 58,
4997                  "column": 12
4998                },
4999                "end": {
5000                  "line": 58,
5001                  "column": 19
5002                }
5003              }
5004            },
5005            "kind": "method",
5006            "accessibility": "public",
5007            "static": false,
5008            "optional": false,
5009            "computed": false,
5010            "value": {
5011              "type": "FunctionExpression",
5012              "function": {
5013                "type": "ScriptFunction",
5014                "id": {
5015                  "type": "Identifier",
5016                  "name": "reserve",
5017                  "decorators": [],
5018                  "loc": {
5019                    "start": {
5020                      "line": 58,
5021                      "column": 12
5022                    },
5023                    "end": {
5024                      "line": 58,
5025                      "column": 19
5026                    }
5027                  }
5028                },
5029                "generator": false,
5030                "async": false,
5031                "expression": false,
5032                "params": [
5033                  {
5034                    "type": "ETSParameterExpression",
5035                    "name": {
5036                      "type": "Identifier",
5037                      "name": "capacity",
5038                      "typeAnnotation": {
5039                        "type": "ETSPrimitiveType",
5040                        "loc": {
5041                          "start": {
5042                            "line": 58,
5043                            "column": 30
5044                          },
5045                          "end": {
5046                            "line": 58,
5047                            "column": 33
5048                          }
5049                        }
5050                      },
5051                      "decorators": [],
5052                      "loc": {
5053                        "start": {
5054                          "line": 58,
5055                          "column": 20
5056                        },
5057                        "end": {
5058                          "line": 58,
5059                          "column": 33
5060                        }
5061                      }
5062                    },
5063                    "loc": {
5064                      "start": {
5065                        "line": 58,
5066                        "column": 20
5067                      },
5068                      "end": {
5069                        "line": 58,
5070                        "column": 33
5071                      }
5072                    }
5073                  }
5074                ],
5075                "returnType": {
5076                  "type": "ETSPrimitiveType",
5077                  "loc": {
5078                    "start": {
5079                      "line": 58,
5080                      "column": 36
5081                    },
5082                    "end": {
5083                      "line": 58,
5084                      "column": 40
5085                    }
5086                  }
5087                },
5088                "body": {
5089                  "type": "BlockStatement",
5090                  "statements": [
5091                    {
5092                      "type": "IfStatement",
5093                      "test": {
5094                        "type": "BinaryExpression",
5095                        "operator": "<",
5096                        "left": {
5097                          "type": "MemberExpression",
5098                          "object": {
5099                            "type": "MemberExpression",
5100                            "object": {
5101                              "type": "ThisExpression",
5102                              "loc": {
5103                                "start": {
5104                                  "line": 59,
5105                                  "column": 13
5106                                },
5107                                "end": {
5108                                  "line": 59,
5109                                  "column": 17
5110                                }
5111                              }
5112                            },
5113                            "property": {
5114                              "type": "Identifier",
5115                              "name": "data",
5116                              "decorators": [],
5117                              "loc": {
5118                                "start": {
5119                                  "line": 59,
5120                                  "column": 18
5121                                },
5122                                "end": {
5123                                  "line": 59,
5124                                  "column": 22
5125                                }
5126                              }
5127                            },
5128                            "computed": false,
5129                            "optional": false,
5130                            "loc": {
5131                              "start": {
5132                                "line": 59,
5133                                "column": 13
5134                              },
5135                              "end": {
5136                                "line": 59,
5137                                "column": 22
5138                              }
5139                            }
5140                          },
5141                          "property": {
5142                            "type": "Identifier",
5143                            "name": "length",
5144                            "decorators": [],
5145                            "loc": {
5146                              "start": {
5147                                "line": 59,
5148                                "column": 23
5149                              },
5150                              "end": {
5151                                "line": 59,
5152                                "column": 29
5153                              }
5154                            }
5155                          },
5156                          "computed": false,
5157                          "optional": false,
5158                          "loc": {
5159                            "start": {
5160                              "line": 59,
5161                              "column": 13
5162                            },
5163                            "end": {
5164                              "line": 59,
5165                              "column": 29
5166                            }
5167                          }
5168                        },
5169                        "right": {
5170                          "type": "Identifier",
5171                          "name": "capacity",
5172                          "decorators": [],
5173                          "loc": {
5174                            "start": {
5175                              "line": 59,
5176                              "column": 32
5177                            },
5178                            "end": {
5179                              "line": 59,
5180                              "column": 40
5181                            }
5182                          }
5183                        },
5184                        "loc": {
5185                          "start": {
5186                            "line": 59,
5187                            "column": 13
5188                          },
5189                          "end": {
5190                            "line": 59,
5191                            "column": 40
5192                          }
5193                        }
5194                      },
5195                      "consequent": {
5196                        "type": "BlockStatement",
5197                        "statements": [
5198                          {
5199                            "type": "VariableDeclaration",
5200                            "declarations": [
5201                              {
5202                                "type": "VariableDeclarator",
5203                                "id": {
5204                                  "type": "Identifier",
5205                                  "name": "newData",
5206                                  "decorators": [],
5207                                  "loc": {
5208                                    "start": {
5209                                      "line": 60,
5210                                      "column": 17
5211                                    },
5212                                    "end": {
5213                                      "line": 60,
5214                                      "column": 24
5215                                    }
5216                                  }
5217                                },
5218                                "init": {
5219                                  "type": "ETSNewArrayInstanceExpression",
5220                                  "typeReference": {
5221                                    "type": "ETSTypeReference",
5222                                    "part": {
5223                                      "type": "ETSTypeReferencePart",
5224                                      "name": {
5225                                        "type": "Identifier",
5226                                        "name": "T",
5227                                        "decorators": [],
5228                                        "loc": {
5229                                          "start": {
5230                                            "line": 60,
5231                                            "column": 31
5232                                          },
5233                                          "end": {
5234                                            "line": 60,
5235                                            "column": 32
5236                                          }
5237                                        }
5238                                      },
5239                                      "loc": {
5240                                        "start": {
5241                                          "line": 60,
5242                                          "column": 31
5243                                        },
5244                                        "end": {
5245                                          "line": 60,
5246                                          "column": 33
5247                                        }
5248                                      }
5249                                    },
5250                                    "loc": {
5251                                      "start": {
5252                                        "line": 60,
5253                                        "column": 31
5254                                      },
5255                                      "end": {
5256                                        "line": 60,
5257                                        "column": 33
5258                                      }
5259                                    }
5260                                  },
5261                                  "dimension": {
5262                                    "type": "Identifier",
5263                                    "name": "capacity",
5264                                    "decorators": [],
5265                                    "loc": {
5266                                      "start": {
5267                                        "line": 60,
5268                                        "column": 33
5269                                      },
5270                                      "end": {
5271                                        "line": 60,
5272                                        "column": 41
5273                                      }
5274                                    }
5275                                  },
5276                                  "loc": {
5277                                    "start": {
5278                                      "line": 60,
5279                                      "column": 27
5280                                    },
5281                                    "end": {
5282                                      "line": 60,
5283                                      "column": 42
5284                                    }
5285                                  }
5286                                },
5287                                "loc": {
5288                                  "start": {
5289                                    "line": 60,
5290                                    "column": 17
5291                                  },
5292                                  "end": {
5293                                    "line": 60,
5294                                    "column": 42
5295                                  }
5296                                }
5297                              }
5298                            ],
5299                            "kind": "let",
5300                            "loc": {
5301                              "start": {
5302                                "line": 60,
5303                                "column": 13
5304                              },
5305                              "end": {
5306                                "line": 60,
5307                                "column": 43
5308                              }
5309                            }
5310                          },
5311                          {
5312                            "type": "ForUpdateStatement",
5313                            "init": {
5314                              "type": "VariableDeclaration",
5315                              "declarations": [
5316                                {
5317                                  "type": "VariableDeclarator",
5318                                  "id": {
5319                                    "type": "Identifier",
5320                                    "name": "i",
5321                                    "decorators": [],
5322                                    "loc": {
5323                                      "start": {
5324                                        "line": 61,
5325                                        "column": 22
5326                                      },
5327                                      "end": {
5328                                        "line": 61,
5329                                        "column": 23
5330                                      }
5331                                    }
5332                                  },
5333                                  "init": {
5334                                    "type": "NumberLiteral",
5335                                    "value": 0,
5336                                    "loc": {
5337                                      "start": {
5338                                        "line": 61,
5339                                        "column": 26
5340                                      },
5341                                      "end": {
5342                                        "line": 61,
5343                                        "column": 27
5344                                      }
5345                                    }
5346                                  },
5347                                  "loc": {
5348                                    "start": {
5349                                      "line": 61,
5350                                      "column": 22
5351                                    },
5352                                    "end": {
5353                                      "line": 61,
5354                                      "column": 27
5355                                    }
5356                                  }
5357                                }
5358                              ],
5359                              "kind": "let",
5360                              "loc": {
5361                                "start": {
5362                                  "line": 61,
5363                                  "column": 18
5364                                },
5365                                "end": {
5366                                  "line": 61,
5367                                  "column": 27
5368                                }
5369                              }
5370                            },
5371                            "test": {
5372                              "type": "BinaryExpression",
5373                              "operator": "<",
5374                              "left": {
5375                                "type": "Identifier",
5376                                "name": "i",
5377                                "decorators": [],
5378                                "loc": {
5379                                  "start": {
5380                                    "line": 61,
5381                                    "column": 29
5382                                  },
5383                                  "end": {
5384                                    "line": 61,
5385                                    "column": 30
5386                                  }
5387                                }
5388                              },
5389                              "right": {
5390                                "type": "MemberExpression",
5391                                "object": {
5392                                  "type": "ThisExpression",
5393                                  "loc": {
5394                                    "start": {
5395                                      "line": 61,
5396                                      "column": 33
5397                                    },
5398                                    "end": {
5399                                      "line": 61,
5400                                      "column": 37
5401                                    }
5402                                  }
5403                                },
5404                                "property": {
5405                                  "type": "Identifier",
5406                                  "name": "curSize",
5407                                  "decorators": [],
5408                                  "loc": {
5409                                    "start": {
5410                                      "line": 61,
5411                                      "column": 38
5412                                    },
5413                                    "end": {
5414                                      "line": 61,
5415                                      "column": 45
5416                                    }
5417                                  }
5418                                },
5419                                "computed": false,
5420                                "optional": false,
5421                                "loc": {
5422                                  "start": {
5423                                    "line": 61,
5424                                    "column": 33
5425                                  },
5426                                  "end": {
5427                                    "line": 61,
5428                                    "column": 45
5429                                  }
5430                                }
5431                              },
5432                              "loc": {
5433                                "start": {
5434                                  "line": 61,
5435                                  "column": 29
5436                                },
5437                                "end": {
5438                                  "line": 61,
5439                                  "column": 45
5440                                }
5441                              }
5442                            },
5443                            "update": {
5444                              "type": "UpdateExpression",
5445                              "operator": "++",
5446                              "prefix": true,
5447                              "argument": {
5448                                "type": "Identifier",
5449                                "name": "i",
5450                                "decorators": [],
5451                                "loc": {
5452                                  "start": {
5453                                    "line": 61,
5454                                    "column": 49
5455                                  },
5456                                  "end": {
5457                                    "line": 61,
5458                                    "column": 50
5459                                  }
5460                                }
5461                              },
5462                              "loc": {
5463                                "start": {
5464                                  "line": 61,
5465                                  "column": 47
5466                                },
5467                                "end": {
5468                                  "line": 61,
5469                                  "column": 50
5470                                }
5471                              }
5472                            },
5473                            "body": {
5474                              "type": "BlockStatement",
5475                              "statements": [
5476                                {
5477                                  "type": "ExpressionStatement",
5478                                  "expression": {
5479                                    "type": "AssignmentExpression",
5480                                    "operator": "=",
5481                                    "left": {
5482                                      "type": "MemberExpression",
5483                                      "object": {
5484                                        "type": "Identifier",
5485                                        "name": "newData",
5486                                        "decorators": [],
5487                                        "loc": {
5488                                          "start": {
5489                                            "line": 62,
5490                                            "column": 16
5491                                          },
5492                                          "end": {
5493                                            "line": 62,
5494                                            "column": 23
5495                                          }
5496                                        }
5497                                      },
5498                                      "property": {
5499                                        "type": "Identifier",
5500                                        "name": "i",
5501                                        "decorators": [],
5502                                        "loc": {
5503                                          "start": {
5504                                            "line": 62,
5505                                            "column": 24
5506                                          },
5507                                          "end": {
5508                                            "line": 62,
5509                                            "column": 25
5510                                          }
5511                                        }
5512                                      },
5513                                      "computed": true,
5514                                      "optional": false,
5515                                      "loc": {
5516                                        "start": {
5517                                          "line": 62,
5518                                          "column": 16
5519                                        },
5520                                        "end": {
5521                                          "line": 62,
5522                                          "column": 26
5523                                        }
5524                                      }
5525                                    },
5526                                    "right": {
5527                                      "type": "MemberExpression",
5528                                      "object": {
5529                                        "type": "MemberExpression",
5530                                        "object": {
5531                                          "type": "ThisExpression",
5532                                          "loc": {
5533                                            "start": {
5534                                              "line": 62,
5535                                              "column": 29
5536                                            },
5537                                            "end": {
5538                                              "line": 62,
5539                                              "column": 33
5540                                            }
5541                                          }
5542                                        },
5543                                        "property": {
5544                                          "type": "Identifier",
5545                                          "name": "data",
5546                                          "decorators": [],
5547                                          "loc": {
5548                                            "start": {
5549                                              "line": 62,
5550                                              "column": 34
5551                                            },
5552                                            "end": {
5553                                              "line": 62,
5554                                              "column": 38
5555                                            }
5556                                          }
5557                                        },
5558                                        "computed": false,
5559                                        "optional": false,
5560                                        "loc": {
5561                                          "start": {
5562                                            "line": 62,
5563                                            "column": 29
5564                                          },
5565                                          "end": {
5566                                            "line": 62,
5567                                            "column": 38
5568                                          }
5569                                        }
5570                                      },
5571                                      "property": {
5572                                        "type": "Identifier",
5573                                        "name": "i",
5574                                        "decorators": [],
5575                                        "loc": {
5576                                          "start": {
5577                                            "line": 62,
5578                                            "column": 39
5579                                          },
5580                                          "end": {
5581                                            "line": 62,
5582                                            "column": 40
5583                                          }
5584                                        }
5585                                      },
5586                                      "computed": true,
5587                                      "optional": false,
5588                                      "loc": {
5589                                        "start": {
5590                                          "line": 62,
5591                                          "column": 29
5592                                        },
5593                                        "end": {
5594                                          "line": 62,
5595                                          "column": 41
5596                                        }
5597                                      }
5598                                    },
5599                                    "loc": {
5600                                      "start": {
5601                                        "line": 62,
5602                                        "column": 16
5603                                      },
5604                                      "end": {
5605                                        "line": 62,
5606                                        "column": 41
5607                                      }
5608                                    }
5609                                  },
5610                                  "loc": {
5611                                    "start": {
5612                                      "line": 62,
5613                                      "column": 16
5614                                    },
5615                                    "end": {
5616                                      "line": 62,
5617                                      "column": 42
5618                                    }
5619                                  }
5620                                }
5621                              ],
5622                              "loc": {
5623                                "start": {
5624                                  "line": 61,
5625                                  "column": 52
5626                                },
5627                                "end": {
5628                                  "line": 63,
5629                                  "column": 14
5630                                }
5631                              }
5632                            },
5633                            "loc": {
5634                              "start": {
5635                                "line": 61,
5636                                "column": 13
5637                              },
5638                              "end": {
5639                                "line": 63,
5640                                "column": 14
5641                              }
5642                            }
5643                          },
5644                          {
5645                            "type": "ExpressionStatement",
5646                            "expression": {
5647                              "type": "AssignmentExpression",
5648                              "operator": "=",
5649                              "left": {
5650                                "type": "MemberExpression",
5651                                "object": {
5652                                  "type": "ThisExpression",
5653                                  "loc": {
5654                                    "start": {
5655                                      "line": 64,
5656                                      "column": 13
5657                                    },
5658                                    "end": {
5659                                      "line": 64,
5660                                      "column": 17
5661                                    }
5662                                  }
5663                                },
5664                                "property": {
5665                                  "type": "Identifier",
5666                                  "name": "data",
5667                                  "decorators": [],
5668                                  "loc": {
5669                                    "start": {
5670                                      "line": 64,
5671                                      "column": 18
5672                                    },
5673                                    "end": {
5674                                      "line": 64,
5675                                      "column": 22
5676                                    }
5677                                  }
5678                                },
5679                                "computed": false,
5680                                "optional": false,
5681                                "loc": {
5682                                  "start": {
5683                                    "line": 64,
5684                                    "column": 13
5685                                  },
5686                                  "end": {
5687                                    "line": 64,
5688                                    "column": 22
5689                                  }
5690                                }
5691                              },
5692                              "right": {
5693                                "type": "Identifier",
5694                                "name": "newData",
5695                                "decorators": [],
5696                                "loc": {
5697                                  "start": {
5698                                    "line": 64,
5699                                    "column": 25
5700                                  },
5701                                  "end": {
5702                                    "line": 64,
5703                                    "column": 32
5704                                  }
5705                                }
5706                              },
5707                              "loc": {
5708                                "start": {
5709                                  "line": 64,
5710                                  "column": 13
5711                                },
5712                                "end": {
5713                                  "line": 64,
5714                                  "column": 32
5715                                }
5716                              }
5717                            },
5718                            "loc": {
5719                              "start": {
5720                                "line": 64,
5721                                "column": 13
5722                              },
5723                              "end": {
5724                                "line": 64,
5725                                "column": 33
5726                              }
5727                            }
5728                          }
5729                        ],
5730                        "loc": {
5731                          "start": {
5732                            "line": 59,
5733                            "column": 42
5734                          },
5735                          "end": {
5736                            "line": 65,
5737                            "column": 10
5738                          }
5739                        }
5740                      },
5741                      "alternate": null,
5742                      "loc": {
5743                        "start": {
5744                          "line": 59,
5745                          "column": 9
5746                        },
5747                        "end": {
5748                          "line": 65,
5749                          "column": 10
5750                        }
5751                      }
5752                    }
5753                  ],
5754                  "loc": {
5755                    "start": {
5756                      "line": 58,
5757                      "column": 41
5758                    },
5759                    "end": {
5760                      "line": 66,
5761                      "column": 6
5762                    }
5763                  }
5764                },
5765                "loc": {
5766                  "start": {
5767                    "line": 58,
5768                    "column": 19
5769                  },
5770                  "end": {
5771                    "line": 66,
5772                    "column": 6
5773                  }
5774                }
5775              },
5776              "loc": {
5777                "start": {
5778                  "line": 58,
5779                  "column": 19
5780                },
5781                "end": {
5782                  "line": 66,
5783                  "column": 6
5784                }
5785              }
5786            },
5787            "overloads": [],
5788            "decorators": [],
5789            "loc": {
5790              "start": {
5791                "line": 58,
5792                "column": 5
5793              },
5794              "end": {
5795                "line": 66,
5796                "column": 6
5797              }
5798            }
5799          },
5800          {
5801            "type": "MethodDefinition",
5802            "key": {
5803              "type": "Identifier",
5804              "name": "getNewCapacity",
5805              "decorators": [],
5806              "loc": {
5807                "start": {
5808                  "line": 68,
5809                  "column": 13
5810                },
5811                "end": {
5812                  "line": 68,
5813                  "column": 27
5814                }
5815              }
5816            },
5817            "kind": "method",
5818            "accessibility": "private",
5819            "static": false,
5820            "optional": false,
5821            "computed": false,
5822            "value": {
5823              "type": "FunctionExpression",
5824              "function": {
5825                "type": "ScriptFunction",
5826                "id": {
5827                  "type": "Identifier",
5828                  "name": "getNewCapacity",
5829                  "decorators": [],
5830                  "loc": {
5831                    "start": {
5832                      "line": 68,
5833                      "column": 13
5834                    },
5835                    "end": {
5836                      "line": 68,
5837                      "column": 27
5838                    }
5839                  }
5840                },
5841                "generator": false,
5842                "async": false,
5843                "expression": false,
5844                "params": [
5845                  {
5846                    "type": "ETSParameterExpression",
5847                    "name": {
5848                      "type": "Identifier",
5849                      "name": "currentCapacity",
5850                      "typeAnnotation": {
5851                        "type": "ETSPrimitiveType",
5852                        "loc": {
5853                          "start": {
5854                            "line": 68,
5855                            "column": 45
5856                          },
5857                          "end": {
5858                            "line": 68,
5859                            "column": 48
5860                          }
5861                        }
5862                      },
5863                      "decorators": [],
5864                      "loc": {
5865                        "start": {
5866                          "line": 68,
5867                          "column": 28
5868                        },
5869                        "end": {
5870                          "line": 68,
5871                          "column": 48
5872                        }
5873                      }
5874                    },
5875                    "loc": {
5876                      "start": {
5877                        "line": 68,
5878                        "column": 28
5879                      },
5880                      "end": {
5881                        "line": 68,
5882                        "column": 48
5883                      }
5884                    }
5885                  }
5886                ],
5887                "returnType": {
5888                  "type": "ETSPrimitiveType",
5889                  "loc": {
5890                    "start": {
5891                      "line": 68,
5892                      "column": 51
5893                    },
5894                    "end": {
5895                      "line": 68,
5896                      "column": 54
5897                    }
5898                  }
5899                },
5900                "body": {
5901                  "type": "BlockStatement",
5902                  "statements": [
5903                    {
5904                      "type": "VariableDeclaration",
5905                      "declarations": [
5906                        {
5907                          "type": "VariableDeclarator",
5908                          "id": {
5909                            "type": "Identifier",
5910                            "name": "fastGrowThreshold",
5911                            "decorators": [],
5912                            "loc": {
5913                              "start": {
5914                                "line": 69,
5915                                "column": 15
5916                              },
5917                              "end": {
5918                                "line": 69,
5919                                "column": 32
5920                              }
5921                            }
5922                          },
5923                          "init": {
5924                            "type": "NumberLiteral",
5925                            "value": 8192,
5926                            "loc": {
5927                              "start": {
5928                                "line": 69,
5929                                "column": 35
5930                              },
5931                              "end": {
5932                                "line": 69,
5933                                "column": 39
5934                              }
5935                            }
5936                          },
5937                          "loc": {
5938                            "start": {
5939                              "line": 69,
5940                              "column": 15
5941                            },
5942                            "end": {
5943                              "line": 69,
5944                              "column": 39
5945                            }
5946                          }
5947                        }
5948                      ],
5949                      "kind": "const",
5950                      "loc": {
5951                        "start": {
5952                          "line": 69,
5953                          "column": 9
5954                        },
5955                        "end": {
5956                          "line": 69,
5957                          "column": 40
5958                        }
5959                      }
5960                    },
5961                    {
5962                      "type": "VariableDeclaration",
5963                      "declarations": [
5964                        {
5965                          "type": "VariableDeclarator",
5966                          "id": {
5967                            "type": "Identifier",
5968                            "name": "multiplier",
5969                            "decorators": [],
5970                            "loc": {
5971                              "start": {
5972                                "line": 70,
5973                                "column": 15
5974                              },
5975                              "end": {
5976                                "line": 70,
5977                                "column": 25
5978                              }
5979                            }
5980                          },
5981                          "init": {
5982                            "type": "NumberLiteral",
5983                            "value": 2,
5984                            "loc": {
5985                              "start": {
5986                                "line": 70,
5987                                "column": 28
5988                              },
5989                              "end": {
5990                                "line": 70,
5991                                "column": 29
5992                              }
5993                            }
5994                          },
5995                          "loc": {
5996                            "start": {
5997                              "line": 70,
5998                              "column": 15
5999                            },
6000                            "end": {
6001                              "line": 70,
6002                              "column": 29
6003                            }
6004                          }
6005                        }
6006                      ],
6007                      "kind": "const",
6008                      "loc": {
6009                        "start": {
6010                          "line": 70,
6011                          "column": 9
6012                        },
6013                        "end": {
6014                          "line": 70,
6015                          "column": 30
6016                        }
6017                      }
6018                    },
6019                    {
6020                      "type": "IfStatement",
6021                      "test": {
6022                        "type": "BinaryExpression",
6023                        "operator": "<",
6024                        "left": {
6025                          "type": "Identifier",
6026                          "name": "currentCapacity",
6027                          "decorators": [],
6028                          "loc": {
6029                            "start": {
6030                              "line": 71,
6031                              "column": 13
6032                            },
6033                            "end": {
6034                              "line": 71,
6035                              "column": 28
6036                            }
6037                          }
6038                        },
6039                        "right": {
6040                          "type": "Identifier",
6041                          "name": "fastGrowThreshold",
6042                          "decorators": [],
6043                          "loc": {
6044                            "start": {
6045                              "line": 71,
6046                              "column": 31
6047                            },
6048                            "end": {
6049                              "line": 71,
6050                              "column": 48
6051                            }
6052                          }
6053                        },
6054                        "loc": {
6055                          "start": {
6056                            "line": 71,
6057                            "column": 13
6058                          },
6059                          "end": {
6060                            "line": 71,
6061                            "column": 48
6062                          }
6063                        }
6064                      },
6065                      "consequent": {
6066                        "type": "BlockStatement",
6067                        "statements": [
6068                          {
6069                            "type": "ReturnStatement",
6070                            "argument": {
6071                              "type": "BinaryExpression",
6072                              "operator": "*",
6073                              "left": {
6074                                "type": "BinaryExpression",
6075                                "operator": "*",
6076                                "left": {
6077                                  "type": "BinaryExpression",
6078                                  "operator": "+",
6079                                  "left": {
6080                                    "type": "Identifier",
6081                                    "name": "currentCapacity",
6082                                    "decorators": [],
6083                                    "loc": {
6084                                      "start": {
6085                                        "line": 73,
6086                                        "column": 21
6087                                      },
6088                                      "end": {
6089                                        "line": 73,
6090                                        "column": 36
6091                                      }
6092                                    }
6093                                  },
6094                                  "right": {
6095                                    "type": "NumberLiteral",
6096                                    "value": 4,
6097                                    "loc": {
6098                                      "start": {
6099                                        "line": 73,
6100                                        "column": 39
6101                                      },
6102                                      "end": {
6103                                        "line": 73,
6104                                        "column": 40
6105                                      }
6106                                    }
6107                                  },
6108                                  "loc": {
6109                                    "start": {
6110                                      "line": 73,
6111                                      "column": 20
6112                                    },
6113                                    "end": {
6114                                      "line": 73,
6115                                      "column": 41
6116                                    }
6117                                  }
6118                                },
6119                                "right": {
6120                                  "type": "Identifier",
6121                                  "name": "multiplier",
6122                                  "decorators": [],
6123                                  "loc": {
6124                                    "start": {
6125                                      "line": 73,
6126                                      "column": 44
6127                                    },
6128                                    "end": {
6129                                      "line": 73,
6130                                      "column": 54
6131                                    }
6132                                  }
6133                                },
6134                                "loc": {
6135                                  "start": {
6136                                    "line": 73,
6137                                    "column": 20
6138                                  },
6139                                  "end": {
6140                                    "line": 73,
6141                                    "column": 54
6142                                  }
6143                                }
6144                              },
6145                              "right": {
6146                                "type": "NumberLiteral",
6147                                "value": 2,
6148                                "loc": {
6149                                  "start": {
6150                                    "line": 73,
6151                                    "column": 57
6152                                  },
6153                                  "end": {
6154                                    "line": 73,
6155                                    "column": 58
6156                                  }
6157                                }
6158                              },
6159                              "loc": {
6160                                "start": {
6161                                  "line": 73,
6162                                  "column": 20
6163                                },
6164                                "end": {
6165                                  "line": 73,
6166                                  "column": 58
6167                                }
6168                              }
6169                            },
6170                            "loc": {
6171                              "start": {
6172                                "line": 73,
6173                                "column": 13
6174                              },
6175                              "end": {
6176                                "line": 73,
6177                                "column": 59
6178                              }
6179                            }
6180                          }
6181                        ],
6182                        "loc": {
6183                          "start": {
6184                            "line": 71,
6185                            "column": 50
6186                          },
6187                          "end": {
6188                            "line": 74,
6189                            "column": 10
6190                          }
6191                        }
6192                      },
6193                      "alternate": {
6194                        "type": "BlockStatement",
6195                        "statements": [
6196                          {
6197                            "type": "ReturnStatement",
6198                            "argument": {
6199                              "type": "BinaryExpression",
6200                              "operator": "*",
6201                              "left": {
6202                                "type": "Identifier",
6203                                "name": "currentCapacity",
6204                                "decorators": [],
6205                                "loc": {
6206                                  "start": {
6207                                    "line": 75,
6208                                    "column": 20
6209                                  },
6210                                  "end": {
6211                                    "line": 75,
6212                                    "column": 35
6213                                  }
6214                                }
6215                              },
6216                              "right": {
6217                                "type": "Identifier",
6218                                "name": "multiplier",
6219                                "decorators": [],
6220                                "loc": {
6221                                  "start": {
6222                                    "line": 75,
6223                                    "column": 38
6224                                  },
6225                                  "end": {
6226                                    "line": 75,
6227                                    "column": 48
6228                                  }
6229                                }
6230                              },
6231                              "loc": {
6232                                "start": {
6233                                  "line": 75,
6234                                  "column": 20
6235                                },
6236                                "end": {
6237                                  "line": 75,
6238                                  "column": 48
6239                                }
6240                              }
6241                            },
6242                            "loc": {
6243                              "start": {
6244                                "line": 75,
6245                                "column": 13
6246                              },
6247                              "end": {
6248                                "line": 75,
6249                                "column": 49
6250                              }
6251                            }
6252                          }
6253                        ],
6254                        "loc": {
6255                          "start": {
6256                            "line": 74,
6257                            "column": 16
6258                          },
6259                          "end": {
6260                            "line": 76,
6261                            "column": 10
6262                          }
6263                        }
6264                      },
6265                      "loc": {
6266                        "start": {
6267                          "line": 71,
6268                          "column": 9
6269                        },
6270                        "end": {
6271                          "line": 76,
6272                          "column": 10
6273                        }
6274                      }
6275                    }
6276                  ],
6277                  "loc": {
6278                    "start": {
6279                      "line": 68,
6280                      "column": 55
6281                    },
6282                    "end": {
6283                      "line": 77,
6284                      "column": 6
6285                    }
6286                  }
6287                },
6288                "loc": {
6289                  "start": {
6290                    "line": 68,
6291                    "column": 27
6292                  },
6293                  "end": {
6294                    "line": 77,
6295                    "column": 6
6296                  }
6297                }
6298              },
6299              "loc": {
6300                "start": {
6301                  "line": 68,
6302                  "column": 27
6303                },
6304                "end": {
6305                  "line": 77,
6306                  "column": 6
6307                }
6308              }
6309            },
6310            "overloads": [],
6311            "decorators": [],
6312            "loc": {
6313              "start": {
6314                "line": 68,
6315                "column": 5
6316              },
6317              "end": {
6318                "line": 77,
6319                "column": 6
6320              }
6321            }
6322          },
6323          {
6324            "type": "MethodDefinition",
6325            "key": {
6326              "type": "Identifier",
6327              "name": "pushFront",
6328              "decorators": [],
6329              "loc": {
6330                "start": {
6331                  "line": 79,
6332                  "column": 21
6333                },
6334                "end": {
6335                  "line": 79,
6336                  "column": 30
6337                }
6338              }
6339            },
6340            "kind": "method",
6341            "accessibility": "public",
6342            "static": false,
6343            "optional": false,
6344            "computed": false,
6345            "value": {
6346              "type": "FunctionExpression",
6347              "function": {
6348                "type": "ScriptFunction",
6349                "id": {
6350                  "type": "Identifier",
6351                  "name": "pushFront",
6352                  "decorators": [],
6353                  "loc": {
6354                    "start": {
6355                      "line": 79,
6356                      "column": 21
6357                    },
6358                    "end": {
6359                      "line": 79,
6360                      "column": 30
6361                    }
6362                  }
6363                },
6364                "generator": false,
6365                "async": false,
6366                "expression": false,
6367                "params": [
6368                  {
6369                    "type": "ETSParameterExpression",
6370                    "name": {
6371                      "type": "Identifier",
6372                      "name": "e",
6373                      "typeAnnotation": {
6374                        "type": "ETSTypeReference",
6375                        "part": {
6376                          "type": "ETSTypeReferencePart",
6377                          "name": {
6378                            "type": "Identifier",
6379                            "name": "T",
6380                            "decorators": [],
6381                            "loc": {
6382                              "start": {
6383                                "line": 79,
6384                                "column": 34
6385                              },
6386                              "end": {
6387                                "line": 79,
6388                                "column": 35
6389                              }
6390                            }
6391                          },
6392                          "loc": {
6393                            "start": {
6394                              "line": 79,
6395                              "column": 34
6396                            },
6397                            "end": {
6398                              "line": 79,
6399                              "column": 36
6400                            }
6401                          }
6402                        },
6403                        "loc": {
6404                          "start": {
6405                            "line": 79,
6406                            "column": 34
6407                          },
6408                          "end": {
6409                            "line": 79,
6410                            "column": 36
6411                          }
6412                        }
6413                      },
6414                      "decorators": [],
6415                      "loc": {
6416                        "start": {
6417                          "line": 79,
6418                          "column": 31
6419                        },
6420                        "end": {
6421                          "line": 79,
6422                          "column": 36
6423                        }
6424                      }
6425                    },
6426                    "loc": {
6427                      "start": {
6428                        "line": 79,
6429                        "column": 31
6430                      },
6431                      "end": {
6432                        "line": 79,
6433                        "column": 36
6434                      }
6435                    }
6436                  }
6437                ],
6438                "returnType": {
6439                  "type": "ETSPrimitiveType",
6440                  "loc": {
6441                    "start": {
6442                      "line": 79,
6443                      "column": 38
6444                    },
6445                    "end": {
6446                      "line": 79,
6447                      "column": 42
6448                    }
6449                  }
6450                },
6451                "body": {
6452                  "type": "BlockStatement",
6453                  "statements": [
6454                    {
6455                      "type": "VariableDeclaration",
6456                      "declarations": [
6457                        {
6458                          "type": "VariableDeclarator",
6459                          "id": {
6460                            "type": "Identifier",
6461                            "name": "dst",
6462                            "decorators": [],
6463                            "loc": {
6464                              "start": {
6465                                "line": 80,
6466                                "column": 13
6467                              },
6468                              "end": {
6469                                "line": 80,
6470                                "column": 16
6471                              }
6472                            }
6473                          },
6474                          "init": {
6475                            "type": "MemberExpression",
6476                            "object": {
6477                              "type": "ThisExpression",
6478                              "loc": {
6479                                "start": {
6480                                  "line": 80,
6481                                  "column": 19
6482                                },
6483                                "end": {
6484                                  "line": 80,
6485                                  "column": 23
6486                                }
6487                              }
6488                            },
6489                            "property": {
6490                              "type": "Identifier",
6491                              "name": "data",
6492                              "decorators": [],
6493                              "loc": {
6494                                "start": {
6495                                  "line": 80,
6496                                  "column": 24
6497                                },
6498                                "end": {
6499                                  "line": 80,
6500                                  "column": 28
6501                                }
6502                              }
6503                            },
6504                            "computed": false,
6505                            "optional": false,
6506                            "loc": {
6507                              "start": {
6508                                "line": 80,
6509                                "column": 19
6510                              },
6511                              "end": {
6512                                "line": 80,
6513                                "column": 28
6514                              }
6515                            }
6516                          },
6517                          "loc": {
6518                            "start": {
6519                              "line": 80,
6520                              "column": 13
6521                            },
6522                            "end": {
6523                              "line": 80,
6524                              "column": 28
6525                            }
6526                          }
6527                        }
6528                      ],
6529                      "kind": "let",
6530                      "loc": {
6531                        "start": {
6532                          "line": 80,
6533                          "column": 9
6534                        },
6535                        "end": {
6536                          "line": 80,
6537                          "column": 29
6538                        }
6539                      }
6540                    },
6541                    {
6542                      "type": "IfStatement",
6543                      "test": {
6544                        "type": "BinaryExpression",
6545                        "operator": "==",
6546                        "left": {
6547                          "type": "MemberExpression",
6548                          "object": {
6549                            "type": "ThisExpression",
6550                            "loc": {
6551                              "start": {
6552                                "line": 81,
6553                                "column": 13
6554                              },
6555                              "end": {
6556                                "line": 81,
6557                                "column": 17
6558                              }
6559                            }
6560                          },
6561                          "property": {
6562                            "type": "Identifier",
6563                            "name": "curSize",
6564                            "decorators": [],
6565                            "loc": {
6566                              "start": {
6567                                "line": 81,
6568                                "column": 18
6569                              },
6570                              "end": {
6571                                "line": 81,
6572                                "column": 25
6573                              }
6574                            }
6575                          },
6576                          "computed": false,
6577                          "optional": false,
6578                          "loc": {
6579                            "start": {
6580                              "line": 81,
6581                              "column": 13
6582                            },
6583                            "end": {
6584                              "line": 81,
6585                              "column": 25
6586                            }
6587                          }
6588                        },
6589                        "right": {
6590                          "type": "MemberExpression",
6591                          "object": {
6592                            "type": "MemberExpression",
6593                            "object": {
6594                              "type": "ThisExpression",
6595                              "loc": {
6596                                "start": {
6597                                  "line": 81,
6598                                  "column": 29
6599                                },
6600                                "end": {
6601                                  "line": 81,
6602                                  "column": 33
6603                                }
6604                              }
6605                            },
6606                            "property": {
6607                              "type": "Identifier",
6608                              "name": "data",
6609                              "decorators": [],
6610                              "loc": {
6611                                "start": {
6612                                  "line": 81,
6613                                  "column": 34
6614                                },
6615                                "end": {
6616                                  "line": 81,
6617                                  "column": 38
6618                                }
6619                              }
6620                            },
6621                            "computed": false,
6622                            "optional": false,
6623                            "loc": {
6624                              "start": {
6625                                "line": 81,
6626                                "column": 29
6627                              },
6628                              "end": {
6629                                "line": 81,
6630                                "column": 38
6631                              }
6632                            }
6633                          },
6634                          "property": {
6635                            "type": "Identifier",
6636                            "name": "length",
6637                            "decorators": [],
6638                            "loc": {
6639                              "start": {
6640                                "line": 81,
6641                                "column": 39
6642                              },
6643                              "end": {
6644                                "line": 81,
6645                                "column": 45
6646                              }
6647                            }
6648                          },
6649                          "computed": false,
6650                          "optional": false,
6651                          "loc": {
6652                            "start": {
6653                              "line": 81,
6654                              "column": 29
6655                            },
6656                            "end": {
6657                              "line": 81,
6658                              "column": 45
6659                            }
6660                          }
6661                        },
6662                        "loc": {
6663                          "start": {
6664                            "line": 81,
6665                            "column": 13
6666                          },
6667                          "end": {
6668                            "line": 81,
6669                            "column": 45
6670                          }
6671                        }
6672                      },
6673                      "consequent": {
6674                        "type": "BlockStatement",
6675                        "statements": [
6676                          {
6677                            "type": "ExpressionStatement",
6678                            "expression": {
6679                              "type": "AssignmentExpression",
6680                              "operator": "=",
6681                              "left": {
6682                                "type": "Identifier",
6683                                "name": "dst",
6684                                "decorators": [],
6685                                "loc": {
6686                                  "start": {
6687                                    "line": 82,
6688                                    "column": 13
6689                                  },
6690                                  "end": {
6691                                    "line": 82,
6692                                    "column": 16
6693                                  }
6694                                }
6695                              },
6696                              "right": {
6697                                "type": "ETSNewArrayInstanceExpression",
6698                                "typeReference": {
6699                                  "type": "ETSTypeReference",
6700                                  "part": {
6701                                    "type": "ETSTypeReferencePart",
6702                                    "name": {
6703                                      "type": "Identifier",
6704                                      "name": "T",
6705                                      "decorators": [],
6706                                      "loc": {
6707                                        "start": {
6708                                          "line": 82,
6709                                          "column": 23
6710                                        },
6711                                        "end": {
6712                                          "line": 82,
6713                                          "column": 24
6714                                        }
6715                                      }
6716                                    },
6717                                    "loc": {
6718                                      "start": {
6719                                        "line": 82,
6720                                        "column": 23
6721                                      },
6722                                      "end": {
6723                                        "line": 82,
6724                                        "column": 25
6725                                      }
6726                                    }
6727                                  },
6728                                  "loc": {
6729                                    "start": {
6730                                      "line": 82,
6731                                      "column": 23
6732                                    },
6733                                    "end": {
6734                                      "line": 82,
6735                                      "column": 25
6736                                    }
6737                                  }
6738                                },
6739                                "dimension": {
6740                                  "type": "CallExpression",
6741                                  "callee": {
6742                                    "type": "MemberExpression",
6743                                    "object": {
6744                                      "type": "ThisExpression",
6745                                      "loc": {
6746                                        "start": {
6747                                          "line": 82,
6748                                          "column": 25
6749                                        },
6750                                        "end": {
6751                                          "line": 82,
6752                                          "column": 29
6753                                        }
6754                                      }
6755                                    },
6756                                    "property": {
6757                                      "type": "Identifier",
6758                                      "name": "getNewCapacity",
6759                                      "decorators": [],
6760                                      "loc": {
6761                                        "start": {
6762                                          "line": 82,
6763                                          "column": 30
6764                                        },
6765                                        "end": {
6766                                          "line": 82,
6767                                          "column": 44
6768                                        }
6769                                      }
6770                                    },
6771                                    "computed": false,
6772                                    "optional": false,
6773                                    "loc": {
6774                                      "start": {
6775                                        "line": 82,
6776                                        "column": 25
6777                                      },
6778                                      "end": {
6779                                        "line": 82,
6780                                        "column": 44
6781                                      }
6782                                    }
6783                                  },
6784                                  "arguments": [
6785                                    {
6786                                      "type": "MemberExpression",
6787                                      "object": {
6788                                        "type": "MemberExpression",
6789                                        "object": {
6790                                          "type": "ThisExpression",
6791                                          "loc": {
6792                                            "start": {
6793                                              "line": 82,
6794                                              "column": 45
6795                                            },
6796                                            "end": {
6797                                              "line": 82,
6798                                              "column": 49
6799                                            }
6800                                          }
6801                                        },
6802                                        "property": {
6803                                          "type": "Identifier",
6804                                          "name": "data",
6805                                          "decorators": [],
6806                                          "loc": {
6807                                            "start": {
6808                                              "line": 82,
6809                                              "column": 50
6810                                            },
6811                                            "end": {
6812                                              "line": 82,
6813                                              "column": 54
6814                                            }
6815                                          }
6816                                        },
6817                                        "computed": false,
6818                                        "optional": false,
6819                                        "loc": {
6820                                          "start": {
6821                                            "line": 82,
6822                                            "column": 45
6823                                          },
6824                                          "end": {
6825                                            "line": 82,
6826                                            "column": 54
6827                                          }
6828                                        }
6829                                      },
6830                                      "property": {
6831                                        "type": "Identifier",
6832                                        "name": "length",
6833                                        "decorators": [],
6834                                        "loc": {
6835                                          "start": {
6836                                            "line": 82,
6837                                            "column": 55
6838                                          },
6839                                          "end": {
6840                                            "line": 82,
6841                                            "column": 61
6842                                          }
6843                                        }
6844                                      },
6845                                      "computed": false,
6846                                      "optional": false,
6847                                      "loc": {
6848                                        "start": {
6849                                          "line": 82,
6850                                          "column": 45
6851                                        },
6852                                        "end": {
6853                                          "line": 82,
6854                                          "column": 61
6855                                        }
6856                                      }
6857                                    }
6858                                  ],
6859                                  "optional": false,
6860                                  "loc": {
6861                                    "start": {
6862                                      "line": 82,
6863                                      "column": 25
6864                                    },
6865                                    "end": {
6866                                      "line": 82,
6867                                      "column": 62
6868                                    }
6869                                  }
6870                                },
6871                                "loc": {
6872                                  "start": {
6873                                    "line": 82,
6874                                    "column": 19
6875                                  },
6876                                  "end": {
6877                                    "line": 82,
6878                                    "column": 63
6879                                  }
6880                                }
6881                              },
6882                              "loc": {
6883                                "start": {
6884                                  "line": 82,
6885                                  "column": 13
6886                                },
6887                                "end": {
6888                                  "line": 82,
6889                                  "column": 63
6890                                }
6891                              }
6892                            },
6893                            "loc": {
6894                              "start": {
6895                                "line": 82,
6896                                "column": 13
6897                              },
6898                              "end": {
6899                                "line": 82,
6900                                "column": 64
6901                              }
6902                            }
6903                          }
6904                        ],
6905                        "loc": {
6906                          "start": {
6907                            "line": 81,
6908                            "column": 47
6909                          },
6910                          "end": {
6911                            "line": 83,
6912                            "column": 10
6913                          }
6914                        }
6915                      },
6916                      "alternate": null,
6917                      "loc": {
6918                        "start": {
6919                          "line": 81,
6920                          "column": 9
6921                        },
6922                        "end": {
6923                          "line": 83,
6924                          "column": 10
6925                        }
6926                      }
6927                    },
6928                    {
6929                      "type": "ForUpdateStatement",
6930                      "init": {
6931                        "type": "VariableDeclaration",
6932                        "declarations": [
6933                          {
6934                            "type": "VariableDeclarator",
6935                            "id": {
6936                              "type": "Identifier",
6937                              "name": "i",
6938                              "decorators": [],
6939                              "loc": {
6940                                "start": {
6941                                  "line": 84,
6942                                  "column": 18
6943                                },
6944                                "end": {
6945                                  "line": 84,
6946                                  "column": 19
6947                                }
6948                              }
6949                            },
6950                            "init": {
6951                              "type": "MemberExpression",
6952                              "object": {
6953                                "type": "ThisExpression",
6954                                "loc": {
6955                                  "start": {
6956                                    "line": 84,
6957                                    "column": 22
6958                                  },
6959                                  "end": {
6960                                    "line": 84,
6961                                    "column": 26
6962                                  }
6963                                }
6964                              },
6965                              "property": {
6966                                "type": "Identifier",
6967                                "name": "curSize",
6968                                "decorators": [],
6969                                "loc": {
6970                                  "start": {
6971                                    "line": 84,
6972                                    "column": 27
6973                                  },
6974                                  "end": {
6975                                    "line": 84,
6976                                    "column": 34
6977                                  }
6978                                }
6979                              },
6980                              "computed": false,
6981                              "optional": false,
6982                              "loc": {
6983                                "start": {
6984                                  "line": 84,
6985                                  "column": 22
6986                                },
6987                                "end": {
6988                                  "line": 84,
6989                                  "column": 34
6990                                }
6991                              }
6992                            },
6993                            "loc": {
6994                              "start": {
6995                                "line": 84,
6996                                "column": 18
6997                              },
6998                              "end": {
6999                                "line": 84,
7000                                "column": 34
7001                              }
7002                            }
7003                          }
7004                        ],
7005                        "kind": "let",
7006                        "loc": {
7007                          "start": {
7008                            "line": 84,
7009                            "column": 14
7010                          },
7011                          "end": {
7012                            "line": 84,
7013                            "column": 34
7014                          }
7015                        }
7016                      },
7017                      "test": {
7018                        "type": "BinaryExpression",
7019                        "operator": "!=",
7020                        "left": {
7021                          "type": "Identifier",
7022                          "name": "i",
7023                          "decorators": [],
7024                          "loc": {
7025                            "start": {
7026                              "line": 84,
7027                              "column": 36
7028                            },
7029                            "end": {
7030                              "line": 84,
7031                              "column": 37
7032                            }
7033                          }
7034                        },
7035                        "right": {
7036                          "type": "NumberLiteral",
7037                          "value": 0,
7038                          "loc": {
7039                            "start": {
7040                              "line": 84,
7041                              "column": 41
7042                            },
7043                            "end": {
7044                              "line": 84,
7045                              "column": 42
7046                            }
7047                          }
7048                        },
7049                        "loc": {
7050                          "start": {
7051                            "line": 84,
7052                            "column": 36
7053                          },
7054                          "end": {
7055                            "line": 84,
7056                            "column": 42
7057                          }
7058                        }
7059                      },
7060                      "update": {
7061                        "type": "UpdateExpression",
7062                        "operator": "--",
7063                        "prefix": true,
7064                        "argument": {
7065                          "type": "Identifier",
7066                          "name": "i",
7067                          "decorators": [],
7068                          "loc": {
7069                            "start": {
7070                              "line": 84,
7071                              "column": 46
7072                            },
7073                            "end": {
7074                              "line": 84,
7075                              "column": 47
7076                            }
7077                          }
7078                        },
7079                        "loc": {
7080                          "start": {
7081                            "line": 84,
7082                            "column": 44
7083                          },
7084                          "end": {
7085                            "line": 84,
7086                            "column": 47
7087                          }
7088                        }
7089                      },
7090                      "body": {
7091                        "type": "BlockStatement",
7092                        "statements": [
7093                          {
7094                            "type": "ExpressionStatement",
7095                            "expression": {
7096                              "type": "AssignmentExpression",
7097                              "operator": "=",
7098                              "left": {
7099                                "type": "MemberExpression",
7100                                "object": {
7101                                  "type": "Identifier",
7102                                  "name": "dst",
7103                                  "decorators": [],
7104                                  "loc": {
7105                                    "start": {
7106                                      "line": 85,
7107                                      "column": 13
7108                                    },
7109                                    "end": {
7110                                      "line": 85,
7111                                      "column": 16
7112                                    }
7113                                  }
7114                                },
7115                                "property": {
7116                                  "type": "Identifier",
7117                                  "name": "i",
7118                                  "decorators": [],
7119                                  "loc": {
7120                                    "start": {
7121                                      "line": 85,
7122                                      "column": 17
7123                                    },
7124                                    "end": {
7125                                      "line": 85,
7126                                      "column": 18
7127                                    }
7128                                  }
7129                                },
7130                                "computed": true,
7131                                "optional": false,
7132                                "loc": {
7133                                  "start": {
7134                                    "line": 85,
7135                                    "column": 13
7136                                  },
7137                                  "end": {
7138                                    "line": 85,
7139                                    "column": 19
7140                                  }
7141                                }
7142                              },
7143                              "right": {
7144                                "type": "MemberExpression",
7145                                "object": {
7146                                  "type": "MemberExpression",
7147                                  "object": {
7148                                    "type": "ThisExpression",
7149                                    "loc": {
7150                                      "start": {
7151                                        "line": 85,
7152                                        "column": 22
7153                                      },
7154                                      "end": {
7155                                        "line": 85,
7156                                        "column": 26
7157                                      }
7158                                    }
7159                                  },
7160                                  "property": {
7161                                    "type": "Identifier",
7162                                    "name": "data",
7163                                    "decorators": [],
7164                                    "loc": {
7165                                      "start": {
7166                                        "line": 85,
7167                                        "column": 27
7168                                      },
7169                                      "end": {
7170                                        "line": 85,
7171                                        "column": 31
7172                                      }
7173                                    }
7174                                  },
7175                                  "computed": false,
7176                                  "optional": false,
7177                                  "loc": {
7178                                    "start": {
7179                                      "line": 85,
7180                                      "column": 22
7181                                    },
7182                                    "end": {
7183                                      "line": 85,
7184                                      "column": 31
7185                                    }
7186                                  }
7187                                },
7188                                "property": {
7189                                  "type": "BinaryExpression",
7190                                  "operator": "-",
7191                                  "left": {
7192                                    "type": "Identifier",
7193                                    "name": "i",
7194                                    "decorators": [],
7195                                    "loc": {
7196                                      "start": {
7197                                        "line": 85,
7198                                        "column": 32
7199                                      },
7200                                      "end": {
7201                                        "line": 85,
7202                                        "column": 33
7203                                      }
7204                                    }
7205                                  },
7206                                  "right": {
7207                                    "type": "NumberLiteral",
7208                                    "value": 1,
7209                                    "loc": {
7210                                      "start": {
7211                                        "line": 85,
7212                                        "column": 34
7213                                      },
7214                                      "end": {
7215                                        "line": 85,
7216                                        "column": 35
7217                                      }
7218                                    }
7219                                  },
7220                                  "loc": {
7221                                    "start": {
7222                                      "line": 85,
7223                                      "column": 32
7224                                    },
7225                                    "end": {
7226                                      "line": 85,
7227                                      "column": 35
7228                                    }
7229                                  }
7230                                },
7231                                "computed": true,
7232                                "optional": false,
7233                                "loc": {
7234                                  "start": {
7235                                    "line": 85,
7236                                    "column": 22
7237                                  },
7238                                  "end": {
7239                                    "line": 85,
7240                                    "column": 36
7241                                  }
7242                                }
7243                              },
7244                              "loc": {
7245                                "start": {
7246                                  "line": 85,
7247                                  "column": 13
7248                                },
7249                                "end": {
7250                                  "line": 85,
7251                                  "column": 36
7252                                }
7253                              }
7254                            },
7255                            "loc": {
7256                              "start": {
7257                                "line": 85,
7258                                "column": 13
7259                              },
7260                              "end": {
7261                                "line": 85,
7262                                "column": 37
7263                              }
7264                            }
7265                          }
7266                        ],
7267                        "loc": {
7268                          "start": {
7269                            "line": 84,
7270                            "column": 49
7271                          },
7272                          "end": {
7273                            "line": 86,
7274                            "column": 10
7275                          }
7276                        }
7277                      },
7278                      "loc": {
7279                        "start": {
7280                          "line": 84,
7281                          "column": 9
7282                        },
7283                        "end": {
7284                          "line": 86,
7285                          "column": 10
7286                        }
7287                      }
7288                    },
7289                    {
7290                      "type": "ExpressionStatement",
7291                      "expression": {
7292                        "type": "AssignmentExpression",
7293                        "operator": "=",
7294                        "left": {
7295                          "type": "MemberExpression",
7296                          "object": {
7297                            "type": "ThisExpression",
7298                            "loc": {
7299                              "start": {
7300                                "line": 87,
7301                                "column": 9
7302                              },
7303                              "end": {
7304                                "line": 87,
7305                                "column": 13
7306                              }
7307                            }
7308                          },
7309                          "property": {
7310                            "type": "Identifier",
7311                            "name": "data",
7312                            "decorators": [],
7313                            "loc": {
7314                              "start": {
7315                                "line": 87,
7316                                "column": 14
7317                              },
7318                              "end": {
7319                                "line": 87,
7320                                "column": 18
7321                              }
7322                            }
7323                          },
7324                          "computed": false,
7325                          "optional": false,
7326                          "loc": {
7327                            "start": {
7328                              "line": 87,
7329                              "column": 9
7330                            },
7331                            "end": {
7332                              "line": 87,
7333                              "column": 18
7334                            }
7335                          }
7336                        },
7337                        "right": {
7338                          "type": "Identifier",
7339                          "name": "dst",
7340                          "decorators": [],
7341                          "loc": {
7342                            "start": {
7343                              "line": 87,
7344                              "column": 21
7345                            },
7346                            "end": {
7347                              "line": 87,
7348                              "column": 24
7349                            }
7350                          }
7351                        },
7352                        "loc": {
7353                          "start": {
7354                            "line": 87,
7355                            "column": 9
7356                          },
7357                          "end": {
7358                            "line": 87,
7359                            "column": 24
7360                          }
7361                        }
7362                      },
7363                      "loc": {
7364                        "start": {
7365                          "line": 87,
7366                          "column": 9
7367                        },
7368                        "end": {
7369                          "line": 87,
7370                          "column": 25
7371                        }
7372                      }
7373                    },
7374                    {
7375                      "type": "ExpressionStatement",
7376                      "expression": {
7377                        "type": "AssignmentExpression",
7378                        "operator": "=",
7379                        "left": {
7380                          "type": "MemberExpression",
7381                          "object": {
7382                            "type": "MemberExpression",
7383                            "object": {
7384                              "type": "ThisExpression",
7385                              "loc": {
7386                                "start": {
7387                                  "line": 88,
7388                                  "column": 9
7389                                },
7390                                "end": {
7391                                  "line": 88,
7392                                  "column": 13
7393                                }
7394                              }
7395                            },
7396                            "property": {
7397                              "type": "Identifier",
7398                              "name": "data",
7399                              "decorators": [],
7400                              "loc": {
7401                                "start": {
7402                                  "line": 88,
7403                                  "column": 14
7404                                },
7405                                "end": {
7406                                  "line": 88,
7407                                  "column": 18
7408                                }
7409                              }
7410                            },
7411                            "computed": false,
7412                            "optional": false,
7413                            "loc": {
7414                              "start": {
7415                                "line": 88,
7416                                "column": 9
7417                              },
7418                              "end": {
7419                                "line": 88,
7420                                "column": 18
7421                              }
7422                            }
7423                          },
7424                          "property": {
7425                            "type": "NumberLiteral",
7426                            "value": 0,
7427                            "loc": {
7428                              "start": {
7429                                "line": 88,
7430                                "column": 19
7431                              },
7432                              "end": {
7433                                "line": 88,
7434                                "column": 20
7435                              }
7436                            }
7437                          },
7438                          "computed": true,
7439                          "optional": false,
7440                          "loc": {
7441                            "start": {
7442                              "line": 88,
7443                              "column": 9
7444                            },
7445                            "end": {
7446                              "line": 88,
7447                              "column": 21
7448                            }
7449                          }
7450                        },
7451                        "right": {
7452                          "type": "Identifier",
7453                          "name": "e",
7454                          "decorators": [],
7455                          "loc": {
7456                            "start": {
7457                              "line": 88,
7458                              "column": 24
7459                            },
7460                            "end": {
7461                              "line": 88,
7462                              "column": 25
7463                            }
7464                          }
7465                        },
7466                        "loc": {
7467                          "start": {
7468                            "line": 88,
7469                            "column": 9
7470                          },
7471                          "end": {
7472                            "line": 88,
7473                            "column": 25
7474                          }
7475                        }
7476                      },
7477                      "loc": {
7478                        "start": {
7479                          "line": 88,
7480                          "column": 9
7481                        },
7482                        "end": {
7483                          "line": 88,
7484                          "column": 26
7485                        }
7486                      }
7487                    },
7488                    {
7489                      "type": "ExpressionStatement",
7490                      "expression": {
7491                        "type": "UpdateExpression",
7492                        "operator": "++",
7493                        "prefix": true,
7494                        "argument": {
7495                          "type": "MemberExpression",
7496                          "object": {
7497                            "type": "ThisExpression",
7498                            "loc": {
7499                              "start": {
7500                                "line": 89,
7501                                "column": 11
7502                              },
7503                              "end": {
7504                                "line": 89,
7505                                "column": 15
7506                              }
7507                            }
7508                          },
7509                          "property": {
7510                            "type": "Identifier",
7511                            "name": "curSize",
7512                            "decorators": [],
7513                            "loc": {
7514                              "start": {
7515                                "line": 89,
7516                                "column": 16
7517                              },
7518                              "end": {
7519                                "line": 89,
7520                                "column": 23
7521                              }
7522                            }
7523                          },
7524                          "computed": false,
7525                          "optional": false,
7526                          "loc": {
7527                            "start": {
7528                              "line": 89,
7529                              "column": 11
7530                            },
7531                            "end": {
7532                              "line": 89,
7533                              "column": 23
7534                            }
7535                          }
7536                        },
7537                        "loc": {
7538                          "start": {
7539                            "line": 89,
7540                            "column": 9
7541                          },
7542                          "end": {
7543                            "line": 89,
7544                            "column": 23
7545                          }
7546                        }
7547                      },
7548                      "loc": {
7549                        "start": {
7550                          "line": 89,
7551                          "column": 9
7552                        },
7553                        "end": {
7554                          "line": 89,
7555                          "column": 24
7556                        }
7557                      }
7558                    }
7559                  ],
7560                  "loc": {
7561                    "start": {
7562                      "line": 79,
7563                      "column": 43
7564                    },
7565                    "end": {
7566                      "line": 90,
7567                      "column": 6
7568                    }
7569                  }
7570                },
7571                "loc": {
7572                  "start": {
7573                    "line": 79,
7574                    "column": 30
7575                  },
7576                  "end": {
7577                    "line": 90,
7578                    "column": 6
7579                  }
7580                }
7581              },
7582              "loc": {
7583                "start": {
7584                  "line": 79,
7585                  "column": 30
7586                },
7587                "end": {
7588                  "line": 90,
7589                  "column": 6
7590                }
7591              }
7592            },
7593            "overloads": [],
7594            "decorators": [],
7595            "loc": {
7596              "start": {
7597                "line": 79,
7598                "column": 5
7599              },
7600              "end": {
7601                "line": 90,
7602                "column": 6
7603              }
7604            }
7605          },
7606          {
7607            "type": "MethodDefinition",
7608            "key": {
7609              "type": "Identifier",
7610              "name": "popFront",
7611              "decorators": [],
7612              "loc": {
7613                "start": {
7614                  "line": 92,
7615                  "column": 21
7616                },
7617                "end": {
7618                  "line": 92,
7619                  "column": 29
7620                }
7621              }
7622            },
7623            "kind": "method",
7624            "accessibility": "public",
7625            "static": false,
7626            "optional": false,
7627            "computed": false,
7628            "value": {
7629              "type": "FunctionExpression",
7630              "function": {
7631                "type": "ScriptFunction",
7632                "id": {
7633                  "type": "Identifier",
7634                  "name": "popFront",
7635                  "decorators": [],
7636                  "loc": {
7637                    "start": {
7638                      "line": 92,
7639                      "column": 21
7640                    },
7641                    "end": {
7642                      "line": 92,
7643                      "column": 29
7644                    }
7645                  }
7646                },
7647                "generator": false,
7648                "async": false,
7649                "expression": false,
7650                "params": [],
7651                "returnType": {
7652                  "type": "ETSTypeReference",
7653                  "part": {
7654                    "type": "ETSTypeReferencePart",
7655                    "name": {
7656                      "type": "Identifier",
7657                      "name": "T",
7658                      "decorators": [],
7659                      "loc": {
7660                        "start": {
7661                          "line": 92,
7662                          "column": 33
7663                        },
7664                        "end": {
7665                          "line": 92,
7666                          "column": 34
7667                        }
7668                      }
7669                    },
7670                    "loc": {
7671                      "start": {
7672                        "line": 92,
7673                        "column": 33
7674                      },
7675                      "end": {
7676                        "line": 92,
7677                        "column": 36
7678                      }
7679                    }
7680                  },
7681                  "loc": {
7682                    "start": {
7683                      "line": 92,
7684                      "column": 33
7685                    },
7686                    "end": {
7687                      "line": 92,
7688                      "column": 36
7689                    }
7690                  }
7691                },
7692                "body": {
7693                  "type": "BlockStatement",
7694                  "statements": [
7695                    {
7696                      "type": "AssertStatement",
7697                      "test": {
7698                        "type": "BinaryExpression",
7699                        "operator": ">",
7700                        "left": {
7701                          "type": "MemberExpression",
7702                          "object": {
7703                            "type": "ThisExpression",
7704                            "loc": {
7705                              "start": {
7706                                "line": 93,
7707                                "column": 17
7708                              },
7709                              "end": {
7710                                "line": 93,
7711                                "column": 21
7712                              }
7713                            }
7714                          },
7715                          "property": {
7716                            "type": "Identifier",
7717                            "name": "curSize",
7718                            "decorators": [],
7719                            "loc": {
7720                              "start": {
7721                                "line": 93,
7722                                "column": 22
7723                              },
7724                              "end": {
7725                                "line": 93,
7726                                "column": 29
7727                              }
7728                            }
7729                          },
7730                          "computed": false,
7731                          "optional": false,
7732                          "loc": {
7733                            "start": {
7734                              "line": 93,
7735                              "column": 17
7736                            },
7737                            "end": {
7738                              "line": 93,
7739                              "column": 29
7740                            }
7741                          }
7742                        },
7743                        "right": {
7744                          "type": "NumberLiteral",
7745                          "value": 0,
7746                          "loc": {
7747                            "start": {
7748                              "line": 93,
7749                              "column": 32
7750                            },
7751                            "end": {
7752                              "line": 93,
7753                              "column": 33
7754                            }
7755                          }
7756                        },
7757                        "loc": {
7758                          "start": {
7759                            "line": 93,
7760                            "column": 16
7761                          },
7762                          "end": {
7763                            "line": 93,
7764                            "column": 34
7765                          }
7766                        }
7767                      },
7768                      "second": {
7769                        "type": "StringLiteral",
7770                        "value": "No data to popFront from ArrayAsList!",
7771                        "loc": {
7772                          "start": {
7773                            "line": 93,
7774                            "column": 36
7775                          },
7776                          "end": {
7777                            "line": 93,
7778                            "column": 75
7779                          }
7780                        }
7781                      },
7782                      "loc": {
7783                        "start": {
7784                          "line": 93,
7785                          "column": 9
7786                        },
7787                        "end": {
7788                          "line": 93,
7789                          "column": 75
7790                        }
7791                      }
7792                    },
7793                    {
7794                      "type": "VariableDeclaration",
7795                      "declarations": [
7796                        {
7797                          "type": "VariableDeclarator",
7798                          "id": {
7799                            "type": "Identifier",
7800                            "name": "res",
7801                            "typeAnnotation": {
7802                              "type": "ETSTypeReference",
7803                              "part": {
7804                                "type": "ETSTypeReferencePart",
7805                                "name": {
7806                                  "type": "Identifier",
7807                                  "name": "T",
7808                                  "decorators": [],
7809                                  "loc": {
7810                                    "start": {
7811                                      "line": 94,
7812                                      "column": 18
7813                                    },
7814                                    "end": {
7815                                      "line": 94,
7816                                      "column": 19
7817                                    }
7818                                  }
7819                                },
7820                                "loc": {
7821                                  "start": {
7822                                    "line": 94,
7823                                    "column": 18
7824                                  },
7825                                  "end": {
7826                                    "line": 94,
7827                                    "column": 21
7828                                  }
7829                                }
7830                              },
7831                              "loc": {
7832                                "start": {
7833                                  "line": 94,
7834                                  "column": 18
7835                                },
7836                                "end": {
7837                                  "line": 94,
7838                                  "column": 21
7839                                }
7840                              }
7841                            },
7842                            "decorators": [],
7843                            "loc": {
7844                              "start": {
7845                                "line": 94,
7846                                "column": 13
7847                              },
7848                              "end": {
7849                                "line": 94,
7850                                "column": 16
7851                              }
7852                            }
7853                          },
7854                          "init": {
7855                            "type": "MemberExpression",
7856                            "object": {
7857                              "type": "MemberExpression",
7858                              "object": {
7859                                "type": "ThisExpression",
7860                                "loc": {
7861                                  "start": {
7862                                    "line": 94,
7863                                    "column": 22
7864                                  },
7865                                  "end": {
7866                                    "line": 94,
7867                                    "column": 26
7868                                  }
7869                                }
7870                              },
7871                              "property": {
7872                                "type": "Identifier",
7873                                "name": "data",
7874                                "decorators": [],
7875                                "loc": {
7876                                  "start": {
7877                                    "line": 94,
7878                                    "column": 27
7879                                  },
7880                                  "end": {
7881                                    "line": 94,
7882                                    "column": 31
7883                                  }
7884                                }
7885                              },
7886                              "computed": false,
7887                              "optional": false,
7888                              "loc": {
7889                                "start": {
7890                                  "line": 94,
7891                                  "column": 22
7892                                },
7893                                "end": {
7894                                  "line": 94,
7895                                  "column": 31
7896                                }
7897                              }
7898                            },
7899                            "property": {
7900                              "type": "NumberLiteral",
7901                              "value": 0,
7902                              "loc": {
7903                                "start": {
7904                                  "line": 94,
7905                                  "column": 32
7906                                },
7907                                "end": {
7908                                  "line": 94,
7909                                  "column": 33
7910                                }
7911                              }
7912                            },
7913                            "computed": true,
7914                            "optional": false,
7915                            "loc": {
7916                              "start": {
7917                                "line": 94,
7918                                "column": 22
7919                              },
7920                              "end": {
7921                                "line": 94,
7922                                "column": 34
7923                              }
7924                            }
7925                          },
7926                          "loc": {
7927                            "start": {
7928                              "line": 94,
7929                              "column": 13
7930                            },
7931                            "end": {
7932                              "line": 94,
7933                              "column": 34
7934                            }
7935                          }
7936                        }
7937                      ],
7938                      "kind": "let",
7939                      "loc": {
7940                        "start": {
7941                          "line": 94,
7942                          "column": 9
7943                        },
7944                        "end": {
7945                          "line": 94,
7946                          "column": 35
7947                        }
7948                      }
7949                    },
7950                    {
7951                      "type": "ForUpdateStatement",
7952                      "init": {
7953                        "type": "VariableDeclaration",
7954                        "declarations": [
7955                          {
7956                            "type": "VariableDeclarator",
7957                            "id": {
7958                              "type": "Identifier",
7959                              "name": "i",
7960                              "decorators": [],
7961                              "loc": {
7962                                "start": {
7963                                  "line": 95,
7964                                  "column": 18
7965                                },
7966                                "end": {
7967                                  "line": 95,
7968                                  "column": 19
7969                                }
7970                              }
7971                            },
7972                            "init": {
7973                              "type": "NumberLiteral",
7974                              "value": 1,
7975                              "loc": {
7976                                "start": {
7977                                  "line": 95,
7978                                  "column": 22
7979                                },
7980                                "end": {
7981                                  "line": 95,
7982                                  "column": 23
7983                                }
7984                              }
7985                            },
7986                            "loc": {
7987                              "start": {
7988                                "line": 95,
7989                                "column": 18
7990                              },
7991                              "end": {
7992                                "line": 95,
7993                                "column": 23
7994                              }
7995                            }
7996                          }
7997                        ],
7998                        "kind": "let",
7999                        "loc": {
8000                          "start": {
8001                            "line": 95,
8002                            "column": 14
8003                          },
8004                          "end": {
8005                            "line": 95,
8006                            "column": 23
8007                          }
8008                        }
8009                      },
8010                      "test": {
8011                        "type": "BinaryExpression",
8012                        "operator": "<",
8013                        "left": {
8014                          "type": "Identifier",
8015                          "name": "i",
8016                          "decorators": [],
8017                          "loc": {
8018                            "start": {
8019                              "line": 95,
8020                              "column": 25
8021                            },
8022                            "end": {
8023                              "line": 95,
8024                              "column": 26
8025                            }
8026                          }
8027                        },
8028                        "right": {
8029                          "type": "MemberExpression",
8030                          "object": {
8031                            "type": "ThisExpression",
8032                            "loc": {
8033                              "start": {
8034                                "line": 95,
8035                                "column": 29
8036                              },
8037                              "end": {
8038                                "line": 95,
8039                                "column": 33
8040                              }
8041                            }
8042                          },
8043                          "property": {
8044                            "type": "Identifier",
8045                            "name": "curSize",
8046                            "decorators": [],
8047                            "loc": {
8048                              "start": {
8049                                "line": 95,
8050                                "column": 34
8051                              },
8052                              "end": {
8053                                "line": 95,
8054                                "column": 41
8055                              }
8056                            }
8057                          },
8058                          "computed": false,
8059                          "optional": false,
8060                          "loc": {
8061                            "start": {
8062                              "line": 95,
8063                              "column": 29
8064                            },
8065                            "end": {
8066                              "line": 95,
8067                              "column": 41
8068                            }
8069                          }
8070                        },
8071                        "loc": {
8072                          "start": {
8073                            "line": 95,
8074                            "column": 25
8075                          },
8076                          "end": {
8077                            "line": 95,
8078                            "column": 41
8079                          }
8080                        }
8081                      },
8082                      "update": {
8083                        "type": "UpdateExpression",
8084                        "operator": "++",
8085                        "prefix": true,
8086                        "argument": {
8087                          "type": "Identifier",
8088                          "name": "i",
8089                          "decorators": [],
8090                          "loc": {
8091                            "start": {
8092                              "line": 95,
8093                              "column": 45
8094                            },
8095                            "end": {
8096                              "line": 95,
8097                              "column": 46
8098                            }
8099                          }
8100                        },
8101                        "loc": {
8102                          "start": {
8103                            "line": 95,
8104                            "column": 43
8105                          },
8106                          "end": {
8107                            "line": 95,
8108                            "column": 46
8109                          }
8110                        }
8111                      },
8112                      "body": {
8113                        "type": "BlockStatement",
8114                        "statements": [
8115                          {
8116                            "type": "ExpressionStatement",
8117                            "expression": {
8118                              "type": "AssignmentExpression",
8119                              "operator": "=",
8120                              "left": {
8121                                "type": "MemberExpression",
8122                                "object": {
8123                                  "type": "MemberExpression",
8124                                  "object": {
8125                                    "type": "ThisExpression",
8126                                    "loc": {
8127                                      "start": {
8128                                        "line": 96,
8129                                        "column": 13
8130                                      },
8131                                      "end": {
8132                                        "line": 96,
8133                                        "column": 17
8134                                      }
8135                                    }
8136                                  },
8137                                  "property": {
8138                                    "type": "Identifier",
8139                                    "name": "data",
8140                                    "decorators": [],
8141                                    "loc": {
8142                                      "start": {
8143                                        "line": 96,
8144                                        "column": 18
8145                                      },
8146                                      "end": {
8147                                        "line": 96,
8148                                        "column": 22
8149                                      }
8150                                    }
8151                                  },
8152                                  "computed": false,
8153                                  "optional": false,
8154                                  "loc": {
8155                                    "start": {
8156                                      "line": 96,
8157                                      "column": 13
8158                                    },
8159                                    "end": {
8160                                      "line": 96,
8161                                      "column": 22
8162                                    }
8163                                  }
8164                                },
8165                                "property": {
8166                                  "type": "BinaryExpression",
8167                                  "operator": "-",
8168                                  "left": {
8169                                    "type": "Identifier",
8170                                    "name": "i",
8171                                    "decorators": [],
8172                                    "loc": {
8173                                      "start": {
8174                                        "line": 96,
8175                                        "column": 23
8176                                      },
8177                                      "end": {
8178                                        "line": 96,
8179                                        "column": 24
8180                                      }
8181                                    }
8182                                  },
8183                                  "right": {
8184                                    "type": "NumberLiteral",
8185                                    "value": 1,
8186                                    "loc": {
8187                                      "start": {
8188                                        "line": 96,
8189                                        "column": 25
8190                                      },
8191                                      "end": {
8192                                        "line": 96,
8193                                        "column": 26
8194                                      }
8195                                    }
8196                                  },
8197                                  "loc": {
8198                                    "start": {
8199                                      "line": 96,
8200                                      "column": 23
8201                                    },
8202                                    "end": {
8203                                      "line": 96,
8204                                      "column": 26
8205                                    }
8206                                  }
8207                                },
8208                                "computed": true,
8209                                "optional": false,
8210                                "loc": {
8211                                  "start": {
8212                                    "line": 96,
8213                                    "column": 13
8214                                  },
8215                                  "end": {
8216                                    "line": 96,
8217                                    "column": 27
8218                                  }
8219                                }
8220                              },
8221                              "right": {
8222                                "type": "MemberExpression",
8223                                "object": {
8224                                  "type": "MemberExpression",
8225                                  "object": {
8226                                    "type": "ThisExpression",
8227                                    "loc": {
8228                                      "start": {
8229                                        "line": 96,
8230                                        "column": 30
8231                                      },
8232                                      "end": {
8233                                        "line": 96,
8234                                        "column": 34
8235                                      }
8236                                    }
8237                                  },
8238                                  "property": {
8239                                    "type": "Identifier",
8240                                    "name": "data",
8241                                    "decorators": [],
8242                                    "loc": {
8243                                      "start": {
8244                                        "line": 96,
8245                                        "column": 35
8246                                      },
8247                                      "end": {
8248                                        "line": 96,
8249                                        "column": 39
8250                                      }
8251                                    }
8252                                  },
8253                                  "computed": false,
8254                                  "optional": false,
8255                                  "loc": {
8256                                    "start": {
8257                                      "line": 96,
8258                                      "column": 30
8259                                    },
8260                                    "end": {
8261                                      "line": 96,
8262                                      "column": 39
8263                                    }
8264                                  }
8265                                },
8266                                "property": {
8267                                  "type": "Identifier",
8268                                  "name": "i",
8269                                  "decorators": [],
8270                                  "loc": {
8271                                    "start": {
8272                                      "line": 96,
8273                                      "column": 40
8274                                    },
8275                                    "end": {
8276                                      "line": 96,
8277                                      "column": 41
8278                                    }
8279                                  }
8280                                },
8281                                "computed": true,
8282                                "optional": false,
8283                                "loc": {
8284                                  "start": {
8285                                    "line": 96,
8286                                    "column": 30
8287                                  },
8288                                  "end": {
8289                                    "line": 96,
8290                                    "column": 42
8291                                  }
8292                                }
8293                              },
8294                              "loc": {
8295                                "start": {
8296                                  "line": 96,
8297                                  "column": 13
8298                                },
8299                                "end": {
8300                                  "line": 96,
8301                                  "column": 42
8302                                }
8303                              }
8304                            },
8305                            "loc": {
8306                              "start": {
8307                                "line": 96,
8308                                "column": 13
8309                              },
8310                              "end": {
8311                                "line": 96,
8312                                "column": 43
8313                              }
8314                            }
8315                          }
8316                        ],
8317                        "loc": {
8318                          "start": {
8319                            "line": 95,
8320                            "column": 48
8321                          },
8322                          "end": {
8323                            "line": 97,
8324                            "column": 10
8325                          }
8326                        }
8327                      },
8328                      "loc": {
8329                        "start": {
8330                          "line": 95,
8331                          "column": 9
8332                        },
8333                        "end": {
8334                          "line": 97,
8335                          "column": 10
8336                        }
8337                      }
8338                    },
8339                    {
8340                      "type": "ExpressionStatement",
8341                      "expression": {
8342                        "type": "UpdateExpression",
8343                        "operator": "--",
8344                        "prefix": true,
8345                        "argument": {
8346                          "type": "MemberExpression",
8347                          "object": {
8348                            "type": "ThisExpression",
8349                            "loc": {
8350                              "start": {
8351                                "line": 98,
8352                                "column": 11
8353                              },
8354                              "end": {
8355                                "line": 98,
8356                                "column": 15
8357                              }
8358                            }
8359                          },
8360                          "property": {
8361                            "type": "Identifier",
8362                            "name": "curSize",
8363                            "decorators": [],
8364                            "loc": {
8365                              "start": {
8366                                "line": 98,
8367                                "column": 16
8368                              },
8369                              "end": {
8370                                "line": 98,
8371                                "column": 23
8372                              }
8373                            }
8374                          },
8375                          "computed": false,
8376                          "optional": false,
8377                          "loc": {
8378                            "start": {
8379                              "line": 98,
8380                              "column": 11
8381                            },
8382                            "end": {
8383                              "line": 98,
8384                              "column": 23
8385                            }
8386                          }
8387                        },
8388                        "loc": {
8389                          "start": {
8390                            "line": 98,
8391                            "column": 9
8392                          },
8393                          "end": {
8394                            "line": 98,
8395                            "column": 23
8396                          }
8397                        }
8398                      },
8399                      "loc": {
8400                        "start": {
8401                          "line": 98,
8402                          "column": 9
8403                        },
8404                        "end": {
8405                          "line": 98,
8406                          "column": 24
8407                        }
8408                      }
8409                    },
8410                    {
8411                      "type": "ReturnStatement",
8412                      "argument": {
8413                        "type": "Identifier",
8414                        "name": "res",
8415                        "decorators": [],
8416                        "loc": {
8417                          "start": {
8418                            "line": 99,
8419                            "column": 16
8420                          },
8421                          "end": {
8422                            "line": 99,
8423                            "column": 19
8424                          }
8425                        }
8426                      },
8427                      "loc": {
8428                        "start": {
8429                          "line": 99,
8430                          "column": 9
8431                        },
8432                        "end": {
8433                          "line": 99,
8434                          "column": 20
8435                        }
8436                      }
8437                    }
8438                  ],
8439                  "loc": {
8440                    "start": {
8441                      "line": 92,
8442                      "column": 35
8443                    },
8444                    "end": {
8445                      "line": 100,
8446                      "column": 6
8447                    }
8448                  }
8449                },
8450                "loc": {
8451                  "start": {
8452                    "line": 92,
8453                    "column": 29
8454                  },
8455                  "end": {
8456                    "line": 100,
8457                    "column": 6
8458                  }
8459                }
8460              },
8461              "loc": {
8462                "start": {
8463                  "line": 92,
8464                  "column": 29
8465                },
8466                "end": {
8467                  "line": 100,
8468                  "column": 6
8469                }
8470              }
8471            },
8472            "overloads": [],
8473            "decorators": [],
8474            "loc": {
8475              "start": {
8476                "line": 92,
8477                "column": 5
8478              },
8479              "end": {
8480                "line": 100,
8481                "column": 6
8482              }
8483            }
8484          },
8485          {
8486            "type": "MethodDefinition",
8487            "key": {
8488              "type": "Identifier",
8489              "name": "pushBack",
8490              "decorators": [],
8491              "loc": {
8492                "start": {
8493                  "line": 102,
8494                  "column": 21
8495                },
8496                "end": {
8497                  "line": 102,
8498                  "column": 29
8499                }
8500              }
8501            },
8502            "kind": "method",
8503            "accessibility": "public",
8504            "static": false,
8505            "optional": false,
8506            "computed": false,
8507            "value": {
8508              "type": "FunctionExpression",
8509              "function": {
8510                "type": "ScriptFunction",
8511                "id": {
8512                  "type": "Identifier",
8513                  "name": "pushBack",
8514                  "decorators": [],
8515                  "loc": {
8516                    "start": {
8517                      "line": 102,
8518                      "column": 21
8519                    },
8520                    "end": {
8521                      "line": 102,
8522                      "column": 29
8523                    }
8524                  }
8525                },
8526                "generator": false,
8527                "async": false,
8528                "expression": false,
8529                "params": [
8530                  {
8531                    "type": "ETSParameterExpression",
8532                    "name": {
8533                      "type": "Identifier",
8534                      "name": "e",
8535                      "typeAnnotation": {
8536                        "type": "ETSTypeReference",
8537                        "part": {
8538                          "type": "ETSTypeReferencePart",
8539                          "name": {
8540                            "type": "Identifier",
8541                            "name": "T",
8542                            "decorators": [],
8543                            "loc": {
8544                              "start": {
8545                                "line": 102,
8546                                "column": 33
8547                              },
8548                              "end": {
8549                                "line": 102,
8550                                "column": 34
8551                              }
8552                            }
8553                          },
8554                          "loc": {
8555                            "start": {
8556                              "line": 102,
8557                              "column": 33
8558                            },
8559                            "end": {
8560                              "line": 102,
8561                              "column": 35
8562                            }
8563                          }
8564                        },
8565                        "loc": {
8566                          "start": {
8567                            "line": 102,
8568                            "column": 33
8569                          },
8570                          "end": {
8571                            "line": 102,
8572                            "column": 35
8573                          }
8574                        }
8575                      },
8576                      "decorators": [],
8577                      "loc": {
8578                        "start": {
8579                          "line": 102,
8580                          "column": 30
8581                        },
8582                        "end": {
8583                          "line": 102,
8584                          "column": 35
8585                        }
8586                      }
8587                    },
8588                    "loc": {
8589                      "start": {
8590                        "line": 102,
8591                        "column": 30
8592                      },
8593                      "end": {
8594                        "line": 102,
8595                        "column": 35
8596                      }
8597                    }
8598                  }
8599                ],
8600                "returnType": {
8601                  "type": "ETSPrimitiveType",
8602                  "loc": {
8603                    "start": {
8604                      "line": 102,
8605                      "column": 37
8606                    },
8607                    "end": {
8608                      "line": 102,
8609                      "column": 41
8610                    }
8611                  }
8612                },
8613                "body": {
8614                  "type": "BlockStatement",
8615                  "statements": [
8616                    {
8617                      "type": "IfStatement",
8618                      "test": {
8619                        "type": "BinaryExpression",
8620                        "operator": "==",
8621                        "left": {
8622                          "type": "MemberExpression",
8623                          "object": {
8624                            "type": "ThisExpression",
8625                            "loc": {
8626                              "start": {
8627                                "line": 103,
8628                                "column": 13
8629                              },
8630                              "end": {
8631                                "line": 103,
8632                                "column": 17
8633                              }
8634                            }
8635                          },
8636                          "property": {
8637                            "type": "Identifier",
8638                            "name": "curSize",
8639                            "decorators": [],
8640                            "loc": {
8641                              "start": {
8642                                "line": 103,
8643                                "column": 18
8644                              },
8645                              "end": {
8646                                "line": 103,
8647                                "column": 25
8648                              }
8649                            }
8650                          },
8651                          "computed": false,
8652                          "optional": false,
8653                          "loc": {
8654                            "start": {
8655                              "line": 103,
8656                              "column": 13
8657                            },
8658                            "end": {
8659                              "line": 103,
8660                              "column": 25
8661                            }
8662                          }
8663                        },
8664                        "right": {
8665                          "type": "MemberExpression",
8666                          "object": {
8667                            "type": "MemberExpression",
8668                            "object": {
8669                              "type": "ThisExpression",
8670                              "loc": {
8671                                "start": {
8672                                  "line": 103,
8673                                  "column": 29
8674                                },
8675                                "end": {
8676                                  "line": 103,
8677                                  "column": 33
8678                                }
8679                              }
8680                            },
8681                            "property": {
8682                              "type": "Identifier",
8683                              "name": "data",
8684                              "decorators": [],
8685                              "loc": {
8686                                "start": {
8687                                  "line": 103,
8688                                  "column": 34
8689                                },
8690                                "end": {
8691                                  "line": 103,
8692                                  "column": 38
8693                                }
8694                              }
8695                            },
8696                            "computed": false,
8697                            "optional": false,
8698                            "loc": {
8699                              "start": {
8700                                "line": 103,
8701                                "column": 29
8702                              },
8703                              "end": {
8704                                "line": 103,
8705                                "column": 38
8706                              }
8707                            }
8708                          },
8709                          "property": {
8710                            "type": "Identifier",
8711                            "name": "length",
8712                            "decorators": [],
8713                            "loc": {
8714                              "start": {
8715                                "line": 103,
8716                                "column": 39
8717                              },
8718                              "end": {
8719                                "line": 103,
8720                                "column": 45
8721                              }
8722                            }
8723                          },
8724                          "computed": false,
8725                          "optional": false,
8726                          "loc": {
8727                            "start": {
8728                              "line": 103,
8729                              "column": 29
8730                            },
8731                            "end": {
8732                              "line": 103,
8733                              "column": 45
8734                            }
8735                          }
8736                        },
8737                        "loc": {
8738                          "start": {
8739                            "line": 103,
8740                            "column": 13
8741                          },
8742                          "end": {
8743                            "line": 103,
8744                            "column": 45
8745                          }
8746                        }
8747                      },
8748                      "consequent": {
8749                        "type": "BlockStatement",
8750                        "statements": [
8751                          {
8752                            "type": "VariableDeclaration",
8753                            "declarations": [
8754                              {
8755                                "type": "VariableDeclarator",
8756                                "id": {
8757                                  "type": "Identifier",
8758                                  "name": "newData",
8759                                  "decorators": [],
8760                                  "loc": {
8761                                    "start": {
8762                                      "line": 104,
8763                                      "column": 17
8764                                    },
8765                                    "end": {
8766                                      "line": 104,
8767                                      "column": 24
8768                                    }
8769                                  }
8770                                },
8771                                "init": {
8772                                  "type": "ETSNewArrayInstanceExpression",
8773                                  "typeReference": {
8774                                    "type": "ETSTypeReference",
8775                                    "part": {
8776                                      "type": "ETSTypeReferencePart",
8777                                      "name": {
8778                                        "type": "Identifier",
8779                                        "name": "T",
8780                                        "decorators": [],
8781                                        "loc": {
8782                                          "start": {
8783                                            "line": 104,
8784                                            "column": 31
8785                                          },
8786                                          "end": {
8787                                            "line": 104,
8788                                            "column": 32
8789                                          }
8790                                        }
8791                                      },
8792                                      "loc": {
8793                                        "start": {
8794                                          "line": 104,
8795                                          "column": 31
8796                                        },
8797                                        "end": {
8798                                          "line": 104,
8799                                          "column": 33
8800                                        }
8801                                      }
8802                                    },
8803                                    "loc": {
8804                                      "start": {
8805                                        "line": 104,
8806                                        "column": 31
8807                                      },
8808                                      "end": {
8809                                        "line": 104,
8810                                        "column": 33
8811                                      }
8812                                    }
8813                                  },
8814                                  "dimension": {
8815                                    "type": "CallExpression",
8816                                    "callee": {
8817                                      "type": "MemberExpression",
8818                                      "object": {
8819                                        "type": "ThisExpression",
8820                                        "loc": {
8821                                          "start": {
8822                                            "line": 104,
8823                                            "column": 33
8824                                          },
8825                                          "end": {
8826                                            "line": 104,
8827                                            "column": 37
8828                                          }
8829                                        }
8830                                      },
8831                                      "property": {
8832                                        "type": "Identifier",
8833                                        "name": "getNewCapacity",
8834                                        "decorators": [],
8835                                        "loc": {
8836                                          "start": {
8837                                            "line": 104,
8838                                            "column": 38
8839                                          },
8840                                          "end": {
8841                                            "line": 104,
8842                                            "column": 52
8843                                          }
8844                                        }
8845                                      },
8846                                      "computed": false,
8847                                      "optional": false,
8848                                      "loc": {
8849                                        "start": {
8850                                          "line": 104,
8851                                          "column": 33
8852                                        },
8853                                        "end": {
8854                                          "line": 104,
8855                                          "column": 52
8856                                        }
8857                                      }
8858                                    },
8859                                    "arguments": [
8860                                      {
8861                                        "type": "MemberExpression",
8862                                        "object": {
8863                                          "type": "MemberExpression",
8864                                          "object": {
8865                                            "type": "ThisExpression",
8866                                            "loc": {
8867                                              "start": {
8868                                                "line": 104,
8869                                                "column": 53
8870                                              },
8871                                              "end": {
8872                                                "line": 104,
8873                                                "column": 57
8874                                              }
8875                                            }
8876                                          },
8877                                          "property": {
8878                                            "type": "Identifier",
8879                                            "name": "data",
8880                                            "decorators": [],
8881                                            "loc": {
8882                                              "start": {
8883                                                "line": 104,
8884                                                "column": 58
8885                                              },
8886                                              "end": {
8887                                                "line": 104,
8888                                                "column": 62
8889                                              }
8890                                            }
8891                                          },
8892                                          "computed": false,
8893                                          "optional": false,
8894                                          "loc": {
8895                                            "start": {
8896                                              "line": 104,
8897                                              "column": 53
8898                                            },
8899                                            "end": {
8900                                              "line": 104,
8901                                              "column": 62
8902                                            }
8903                                          }
8904                                        },
8905                                        "property": {
8906                                          "type": "Identifier",
8907                                          "name": "length",
8908                                          "decorators": [],
8909                                          "loc": {
8910                                            "start": {
8911                                              "line": 104,
8912                                              "column": 63
8913                                            },
8914                                            "end": {
8915                                              "line": 104,
8916                                              "column": 69
8917                                            }
8918                                          }
8919                                        },
8920                                        "computed": false,
8921                                        "optional": false,
8922                                        "loc": {
8923                                          "start": {
8924                                            "line": 104,
8925                                            "column": 53
8926                                          },
8927                                          "end": {
8928                                            "line": 104,
8929                                            "column": 69
8930                                          }
8931                                        }
8932                                      }
8933                                    ],
8934                                    "optional": false,
8935                                    "loc": {
8936                                      "start": {
8937                                        "line": 104,
8938                                        "column": 33
8939                                      },
8940                                      "end": {
8941                                        "line": 104,
8942                                        "column": 70
8943                                      }
8944                                    }
8945                                  },
8946                                  "loc": {
8947                                    "start": {
8948                                      "line": 104,
8949                                      "column": 27
8950                                    },
8951                                    "end": {
8952                                      "line": 104,
8953                                      "column": 71
8954                                    }
8955                                  }
8956                                },
8957                                "loc": {
8958                                  "start": {
8959                                    "line": 104,
8960                                    "column": 17
8961                                  },
8962                                  "end": {
8963                                    "line": 104,
8964                                    "column": 71
8965                                  }
8966                                }
8967                              }
8968                            ],
8969                            "kind": "let",
8970                            "loc": {
8971                              "start": {
8972                                "line": 104,
8973                                "column": 13
8974                              },
8975                              "end": {
8976                                "line": 104,
8977                                "column": 72
8978                              }
8979                            }
8980                          },
8981                          {
8982                            "type": "ForUpdateStatement",
8983                            "init": {
8984                              "type": "VariableDeclaration",
8985                              "declarations": [
8986                                {
8987                                  "type": "VariableDeclarator",
8988                                  "id": {
8989                                    "type": "Identifier",
8990                                    "name": "i",
8991                                    "decorators": [],
8992                                    "loc": {
8993                                      "start": {
8994                                        "line": 105,
8995                                        "column": 22
8996                                      },
8997                                      "end": {
8998                                        "line": 105,
8999                                        "column": 23
9000                                      }
9001                                    }
9002                                  },
9003                                  "init": {
9004                                    "type": "NumberLiteral",
9005                                    "value": 0,
9006                                    "loc": {
9007                                      "start": {
9008                                        "line": 105,
9009                                        "column": 26
9010                                      },
9011                                      "end": {
9012                                        "line": 105,
9013                                        "column": 27
9014                                      }
9015                                    }
9016                                  },
9017                                  "loc": {
9018                                    "start": {
9019                                      "line": 105,
9020                                      "column": 22
9021                                    },
9022                                    "end": {
9023                                      "line": 105,
9024                                      "column": 27
9025                                    }
9026                                  }
9027                                }
9028                              ],
9029                              "kind": "let",
9030                              "loc": {
9031                                "start": {
9032                                  "line": 105,
9033                                  "column": 18
9034                                },
9035                                "end": {
9036                                  "line": 105,
9037                                  "column": 27
9038                                }
9039                              }
9040                            },
9041                            "test": {
9042                              "type": "BinaryExpression",
9043                              "operator": "<",
9044                              "left": {
9045                                "type": "Identifier",
9046                                "name": "i",
9047                                "decorators": [],
9048                                "loc": {
9049                                  "start": {
9050                                    "line": 105,
9051                                    "column": 29
9052                                  },
9053                                  "end": {
9054                                    "line": 105,
9055                                    "column": 30
9056                                  }
9057                                }
9058                              },
9059                              "right": {
9060                                "type": "MemberExpression",
9061                                "object": {
9062                                  "type": "ThisExpression",
9063                                  "loc": {
9064                                    "start": {
9065                                      "line": 105,
9066                                      "column": 33
9067                                    },
9068                                    "end": {
9069                                      "line": 105,
9070                                      "column": 37
9071                                    }
9072                                  }
9073                                },
9074                                "property": {
9075                                  "type": "Identifier",
9076                                  "name": "curSize",
9077                                  "decorators": [],
9078                                  "loc": {
9079                                    "start": {
9080                                      "line": 105,
9081                                      "column": 38
9082                                    },
9083                                    "end": {
9084                                      "line": 105,
9085                                      "column": 45
9086                                    }
9087                                  }
9088                                },
9089                                "computed": false,
9090                                "optional": false,
9091                                "loc": {
9092                                  "start": {
9093                                    "line": 105,
9094                                    "column": 33
9095                                  },
9096                                  "end": {
9097                                    "line": 105,
9098                                    "column": 45
9099                                  }
9100                                }
9101                              },
9102                              "loc": {
9103                                "start": {
9104                                  "line": 105,
9105                                  "column": 29
9106                                },
9107                                "end": {
9108                                  "line": 105,
9109                                  "column": 45
9110                                }
9111                              }
9112                            },
9113                            "update": {
9114                              "type": "UpdateExpression",
9115                              "operator": "++",
9116                              "prefix": true,
9117                              "argument": {
9118                                "type": "Identifier",
9119                                "name": "i",
9120                                "decorators": [],
9121                                "loc": {
9122                                  "start": {
9123                                    "line": 105,
9124                                    "column": 49
9125                                  },
9126                                  "end": {
9127                                    "line": 105,
9128                                    "column": 50
9129                                  }
9130                                }
9131                              },
9132                              "loc": {
9133                                "start": {
9134                                  "line": 105,
9135                                  "column": 47
9136                                },
9137                                "end": {
9138                                  "line": 105,
9139                                  "column": 50
9140                                }
9141                              }
9142                            },
9143                            "body": {
9144                              "type": "BlockStatement",
9145                              "statements": [
9146                                {
9147                                  "type": "ExpressionStatement",
9148                                  "expression": {
9149                                    "type": "AssignmentExpression",
9150                                    "operator": "=",
9151                                    "left": {
9152                                      "type": "MemberExpression",
9153                                      "object": {
9154                                        "type": "Identifier",
9155                                        "name": "newData",
9156                                        "decorators": [],
9157                                        "loc": {
9158                                          "start": {
9159                                            "line": 106,
9160                                            "column": 17
9161                                          },
9162                                          "end": {
9163                                            "line": 106,
9164                                            "column": 24
9165                                          }
9166                                        }
9167                                      },
9168                                      "property": {
9169                                        "type": "Identifier",
9170                                        "name": "i",
9171                                        "decorators": [],
9172                                        "loc": {
9173                                          "start": {
9174                                            "line": 106,
9175                                            "column": 25
9176                                          },
9177                                          "end": {
9178                                            "line": 106,
9179                                            "column": 26
9180                                          }
9181                                        }
9182                                      },
9183                                      "computed": true,
9184                                      "optional": false,
9185                                      "loc": {
9186                                        "start": {
9187                                          "line": 106,
9188                                          "column": 17
9189                                        },
9190                                        "end": {
9191                                          "line": 106,
9192                                          "column": 27
9193                                        }
9194                                      }
9195                                    },
9196                                    "right": {
9197                                      "type": "MemberExpression",
9198                                      "object": {
9199                                        "type": "MemberExpression",
9200                                        "object": {
9201                                          "type": "ThisExpression",
9202                                          "loc": {
9203                                            "start": {
9204                                              "line": 106,
9205                                              "column": 30
9206                                            },
9207                                            "end": {
9208                                              "line": 106,
9209                                              "column": 34
9210                                            }
9211                                          }
9212                                        },
9213                                        "property": {
9214                                          "type": "Identifier",
9215                                          "name": "data",
9216                                          "decorators": [],
9217                                          "loc": {
9218                                            "start": {
9219                                              "line": 106,
9220                                              "column": 35
9221                                            },
9222                                            "end": {
9223                                              "line": 106,
9224                                              "column": 39
9225                                            }
9226                                          }
9227                                        },
9228                                        "computed": false,
9229                                        "optional": false,
9230                                        "loc": {
9231                                          "start": {
9232                                            "line": 106,
9233                                            "column": 30
9234                                          },
9235                                          "end": {
9236                                            "line": 106,
9237                                            "column": 39
9238                                          }
9239                                        }
9240                                      },
9241                                      "property": {
9242                                        "type": "Identifier",
9243                                        "name": "i",
9244                                        "decorators": [],
9245                                        "loc": {
9246                                          "start": {
9247                                            "line": 106,
9248                                            "column": 40
9249                                          },
9250                                          "end": {
9251                                            "line": 106,
9252                                            "column": 41
9253                                          }
9254                                        }
9255                                      },
9256                                      "computed": true,
9257                                      "optional": false,
9258                                      "loc": {
9259                                        "start": {
9260                                          "line": 106,
9261                                          "column": 30
9262                                        },
9263                                        "end": {
9264                                          "line": 106,
9265                                          "column": 42
9266                                        }
9267                                      }
9268                                    },
9269                                    "loc": {
9270                                      "start": {
9271                                        "line": 106,
9272                                        "column": 17
9273                                      },
9274                                      "end": {
9275                                        "line": 106,
9276                                        "column": 42
9277                                      }
9278                                    }
9279                                  },
9280                                  "loc": {
9281                                    "start": {
9282                                      "line": 106,
9283                                      "column": 17
9284                                    },
9285                                    "end": {
9286                                      "line": 106,
9287                                      "column": 43
9288                                    }
9289                                  }
9290                                }
9291                              ],
9292                              "loc": {
9293                                "start": {
9294                                  "line": 105,
9295                                  "column": 52
9296                                },
9297                                "end": {
9298                                  "line": 107,
9299                                  "column": 14
9300                                }
9301                              }
9302                            },
9303                            "loc": {
9304                              "start": {
9305                                "line": 105,
9306                                "column": 13
9307                              },
9308                              "end": {
9309                                "line": 107,
9310                                "column": 14
9311                              }
9312                            }
9313                          },
9314                          {
9315                            "type": "ExpressionStatement",
9316                            "expression": {
9317                              "type": "AssignmentExpression",
9318                              "operator": "=",
9319                              "left": {
9320                                "type": "MemberExpression",
9321                                "object": {
9322                                  "type": "ThisExpression",
9323                                  "loc": {
9324                                    "start": {
9325                                      "line": 108,
9326                                      "column": 13
9327                                    },
9328                                    "end": {
9329                                      "line": 108,
9330                                      "column": 17
9331                                    }
9332                                  }
9333                                },
9334                                "property": {
9335                                  "type": "Identifier",
9336                                  "name": "data",
9337                                  "decorators": [],
9338                                  "loc": {
9339                                    "start": {
9340                                      "line": 108,
9341                                      "column": 18
9342                                    },
9343                                    "end": {
9344                                      "line": 108,
9345                                      "column": 22
9346                                    }
9347                                  }
9348                                },
9349                                "computed": false,
9350                                "optional": false,
9351                                "loc": {
9352                                  "start": {
9353                                    "line": 108,
9354                                    "column": 13
9355                                  },
9356                                  "end": {
9357                                    "line": 108,
9358                                    "column": 22
9359                                  }
9360                                }
9361                              },
9362                              "right": {
9363                                "type": "Identifier",
9364                                "name": "newData",
9365                                "decorators": [],
9366                                "loc": {
9367                                  "start": {
9368                                    "line": 108,
9369                                    "column": 25
9370                                  },
9371                                  "end": {
9372                                    "line": 108,
9373                                    "column": 32
9374                                  }
9375                                }
9376                              },
9377                              "loc": {
9378                                "start": {
9379                                  "line": 108,
9380                                  "column": 13
9381                                },
9382                                "end": {
9383                                  "line": 108,
9384                                  "column": 32
9385                                }
9386                              }
9387                            },
9388                            "loc": {
9389                              "start": {
9390                                "line": 108,
9391                                "column": 13
9392                              },
9393                              "end": {
9394                                "line": 108,
9395                                "column": 33
9396                              }
9397                            }
9398                          }
9399                        ],
9400                        "loc": {
9401                          "start": {
9402                            "line": 103,
9403                            "column": 47
9404                          },
9405                          "end": {
9406                            "line": 109,
9407                            "column": 10
9408                          }
9409                        }
9410                      },
9411                      "alternate": null,
9412                      "loc": {
9413                        "start": {
9414                          "line": 103,
9415                          "column": 9
9416                        },
9417                        "end": {
9418                          "line": 109,
9419                          "column": 10
9420                        }
9421                      }
9422                    },
9423                    {
9424                      "type": "ExpressionStatement",
9425                      "expression": {
9426                        "type": "AssignmentExpression",
9427                        "operator": "=",
9428                        "left": {
9429                          "type": "MemberExpression",
9430                          "object": {
9431                            "type": "MemberExpression",
9432                            "object": {
9433                              "type": "ThisExpression",
9434                              "loc": {
9435                                "start": {
9436                                  "line": 110,
9437                                  "column": 9
9438                                },
9439                                "end": {
9440                                  "line": 110,
9441                                  "column": 13
9442                                }
9443                              }
9444                            },
9445                            "property": {
9446                              "type": "Identifier",
9447                              "name": "data",
9448                              "decorators": [],
9449                              "loc": {
9450                                "start": {
9451                                  "line": 110,
9452                                  "column": 14
9453                                },
9454                                "end": {
9455                                  "line": 110,
9456                                  "column": 18
9457                                }
9458                              }
9459                            },
9460                            "computed": false,
9461                            "optional": false,
9462                            "loc": {
9463                              "start": {
9464                                "line": 110,
9465                                "column": 9
9466                              },
9467                              "end": {
9468                                "line": 110,
9469                                "column": 18
9470                              }
9471                            }
9472                          },
9473                          "property": {
9474                            "type": "MemberExpression",
9475                            "object": {
9476                              "type": "ThisExpression",
9477                              "loc": {
9478                                "start": {
9479                                  "line": 110,
9480                                  "column": 19
9481                                },
9482                                "end": {
9483                                  "line": 110,
9484                                  "column": 23
9485                                }
9486                              }
9487                            },
9488                            "property": {
9489                              "type": "Identifier",
9490                              "name": "curSize",
9491                              "decorators": [],
9492                              "loc": {
9493                                "start": {
9494                                  "line": 110,
9495                                  "column": 24
9496                                },
9497                                "end": {
9498                                  "line": 110,
9499                                  "column": 31
9500                                }
9501                              }
9502                            },
9503                            "computed": false,
9504                            "optional": false,
9505                            "loc": {
9506                              "start": {
9507                                "line": 110,
9508                                "column": 19
9509                              },
9510                              "end": {
9511                                "line": 110,
9512                                "column": 31
9513                              }
9514                            }
9515                          },
9516                          "computed": true,
9517                          "optional": false,
9518                          "loc": {
9519                            "start": {
9520                              "line": 110,
9521                              "column": 9
9522                            },
9523                            "end": {
9524                              "line": 110,
9525                              "column": 32
9526                            }
9527                          }
9528                        },
9529                        "right": {
9530                          "type": "Identifier",
9531                          "name": "e",
9532                          "decorators": [],
9533                          "loc": {
9534                            "start": {
9535                              "line": 110,
9536                              "column": 35
9537                            },
9538                            "end": {
9539                              "line": 110,
9540                              "column": 36
9541                            }
9542                          }
9543                        },
9544                        "loc": {
9545                          "start": {
9546                            "line": 110,
9547                            "column": 9
9548                          },
9549                          "end": {
9550                            "line": 110,
9551                            "column": 36
9552                          }
9553                        }
9554                      },
9555                      "loc": {
9556                        "start": {
9557                          "line": 110,
9558                          "column": 9
9559                        },
9560                        "end": {
9561                          "line": 110,
9562                          "column": 37
9563                        }
9564                      }
9565                    },
9566                    {
9567                      "type": "ExpressionStatement",
9568                      "expression": {
9569                        "type": "UpdateExpression",
9570                        "operator": "++",
9571                        "prefix": true,
9572                        "argument": {
9573                          "type": "MemberExpression",
9574                          "object": {
9575                            "type": "ThisExpression",
9576                            "loc": {
9577                              "start": {
9578                                "line": 111,
9579                                "column": 11
9580                              },
9581                              "end": {
9582                                "line": 111,
9583                                "column": 15
9584                              }
9585                            }
9586                          },
9587                          "property": {
9588                            "type": "Identifier",
9589                            "name": "curSize",
9590                            "decorators": [],
9591                            "loc": {
9592                              "start": {
9593                                "line": 111,
9594                                "column": 16
9595                              },
9596                              "end": {
9597                                "line": 111,
9598                                "column": 23
9599                              }
9600                            }
9601                          },
9602                          "computed": false,
9603                          "optional": false,
9604                          "loc": {
9605                            "start": {
9606                              "line": 111,
9607                              "column": 11
9608                            },
9609                            "end": {
9610                              "line": 111,
9611                              "column": 23
9612                            }
9613                          }
9614                        },
9615                        "loc": {
9616                          "start": {
9617                            "line": 111,
9618                            "column": 9
9619                          },
9620                          "end": {
9621                            "line": 111,
9622                            "column": 23
9623                          }
9624                        }
9625                      },
9626                      "loc": {
9627                        "start": {
9628                          "line": 111,
9629                          "column": 9
9630                        },
9631                        "end": {
9632                          "line": 111,
9633                          "column": 24
9634                        }
9635                      }
9636                    }
9637                  ],
9638                  "loc": {
9639                    "start": {
9640                      "line": 102,
9641                      "column": 42
9642                    },
9643                    "end": {
9644                      "line": 112,
9645                      "column": 6
9646                    }
9647                  }
9648                },
9649                "loc": {
9650                  "start": {
9651                    "line": 102,
9652                    "column": 29
9653                  },
9654                  "end": {
9655                    "line": 112,
9656                    "column": 6
9657                  }
9658                }
9659              },
9660              "loc": {
9661                "start": {
9662                  "line": 102,
9663                  "column": 29
9664                },
9665                "end": {
9666                  "line": 112,
9667                  "column": 6
9668                }
9669              }
9670            },
9671            "overloads": [],
9672            "decorators": [],
9673            "loc": {
9674              "start": {
9675                "line": 102,
9676                "column": 5
9677              },
9678              "end": {
9679                "line": 112,
9680                "column": 6
9681              }
9682            }
9683          },
9684          {
9685            "type": "MethodDefinition",
9686            "key": {
9687              "type": "Identifier",
9688              "name": "popBack",
9689              "decorators": [],
9690              "loc": {
9691                "start": {
9692                  "line": 114,
9693                  "column": 21
9694                },
9695                "end": {
9696                  "line": 114,
9697                  "column": 28
9698                }
9699              }
9700            },
9701            "kind": "method",
9702            "accessibility": "public",
9703            "static": false,
9704            "optional": false,
9705            "computed": false,
9706            "value": {
9707              "type": "FunctionExpression",
9708              "function": {
9709                "type": "ScriptFunction",
9710                "id": {
9711                  "type": "Identifier",
9712                  "name": "popBack",
9713                  "decorators": [],
9714                  "loc": {
9715                    "start": {
9716                      "line": 114,
9717                      "column": 21
9718                    },
9719                    "end": {
9720                      "line": 114,
9721                      "column": 28
9722                    }
9723                  }
9724                },
9725                "generator": false,
9726                "async": false,
9727                "expression": false,
9728                "params": [],
9729                "returnType": {
9730                  "type": "ETSTypeReference",
9731                  "part": {
9732                    "type": "ETSTypeReferencePart",
9733                    "name": {
9734                      "type": "Identifier",
9735                      "name": "T",
9736                      "decorators": [],
9737                      "loc": {
9738                        "start": {
9739                          "line": 114,
9740                          "column": 32
9741                        },
9742                        "end": {
9743                          "line": 114,
9744                          "column": 33
9745                        }
9746                      }
9747                    },
9748                    "loc": {
9749                      "start": {
9750                        "line": 114,
9751                        "column": 32
9752                      },
9753                      "end": {
9754                        "line": 114,
9755                        "column": 35
9756                      }
9757                    }
9758                  },
9759                  "loc": {
9760                    "start": {
9761                      "line": 114,
9762                      "column": 32
9763                    },
9764                    "end": {
9765                      "line": 114,
9766                      "column": 35
9767                    }
9768                  }
9769                },
9770                "body": {
9771                  "type": "BlockStatement",
9772                  "statements": [
9773                    {
9774                      "type": "AssertStatement",
9775                      "test": {
9776                        "type": "BinaryExpression",
9777                        "operator": ">",
9778                        "left": {
9779                          "type": "MemberExpression",
9780                          "object": {
9781                            "type": "ThisExpression",
9782                            "loc": {
9783                              "start": {
9784                                "line": 115,
9785                                "column": 17
9786                              },
9787                              "end": {
9788                                "line": 115,
9789                                "column": 21
9790                              }
9791                            }
9792                          },
9793                          "property": {
9794                            "type": "Identifier",
9795                            "name": "curSize",
9796                            "decorators": [],
9797                            "loc": {
9798                              "start": {
9799                                "line": 115,
9800                                "column": 22
9801                              },
9802                              "end": {
9803                                "line": 115,
9804                                "column": 29
9805                              }
9806                            }
9807                          },
9808                          "computed": false,
9809                          "optional": false,
9810                          "loc": {
9811                            "start": {
9812                              "line": 115,
9813                              "column": 17
9814                            },
9815                            "end": {
9816                              "line": 115,
9817                              "column": 29
9818                            }
9819                          }
9820                        },
9821                        "right": {
9822                          "type": "NumberLiteral",
9823                          "value": 0,
9824                          "loc": {
9825                            "start": {
9826                              "line": 115,
9827                              "column": 32
9828                            },
9829                            "end": {
9830                              "line": 115,
9831                              "column": 33
9832                            }
9833                          }
9834                        },
9835                        "loc": {
9836                          "start": {
9837                            "line": 115,
9838                            "column": 16
9839                          },
9840                          "end": {
9841                            "line": 115,
9842                            "column": 34
9843                          }
9844                        }
9845                      },
9846                      "second": {
9847                        "type": "StringLiteral",
9848                        "value": "No data to popBack in ArrayAsList!",
9849                        "loc": {
9850                          "start": {
9851                            "line": 115,
9852                            "column": 36
9853                          },
9854                          "end": {
9855                            "line": 115,
9856                            "column": 72
9857                          }
9858                        }
9859                      },
9860                      "loc": {
9861                        "start": {
9862                          "line": 115,
9863                          "column": 9
9864                        },
9865                        "end": {
9866                          "line": 115,
9867                          "column": 72
9868                        }
9869                      }
9870                    },
9871                    {
9872                      "type": "ExpressionStatement",
9873                      "expression": {
9874                        "type": "UpdateExpression",
9875                        "operator": "--",
9876                        "prefix": true,
9877                        "argument": {
9878                          "type": "MemberExpression",
9879                          "object": {
9880                            "type": "ThisExpression",
9881                            "loc": {
9882                              "start": {
9883                                "line": 116,
9884                                "column": 11
9885                              },
9886                              "end": {
9887                                "line": 116,
9888                                "column": 15
9889                              }
9890                            }
9891                          },
9892                          "property": {
9893                            "type": "Identifier",
9894                            "name": "curSize",
9895                            "decorators": [],
9896                            "loc": {
9897                              "start": {
9898                                "line": 116,
9899                                "column": 16
9900                              },
9901                              "end": {
9902                                "line": 116,
9903                                "column": 23
9904                              }
9905                            }
9906                          },
9907                          "computed": false,
9908                          "optional": false,
9909                          "loc": {
9910                            "start": {
9911                              "line": 116,
9912                              "column": 11
9913                            },
9914                            "end": {
9915                              "line": 116,
9916                              "column": 23
9917                            }
9918                          }
9919                        },
9920                        "loc": {
9921                          "start": {
9922                            "line": 116,
9923                            "column": 9
9924                          },
9925                          "end": {
9926                            "line": 116,
9927                            "column": 23
9928                          }
9929                        }
9930                      },
9931                      "loc": {
9932                        "start": {
9933                          "line": 116,
9934                          "column": 9
9935                        },
9936                        "end": {
9937                          "line": 116,
9938                          "column": 24
9939                        }
9940                      }
9941                    },
9942                    {
9943                      "type": "ReturnStatement",
9944                      "argument": {
9945                        "type": "MemberExpression",
9946                        "object": {
9947                          "type": "MemberExpression",
9948                          "object": {
9949                            "type": "ThisExpression",
9950                            "loc": {
9951                              "start": {
9952                                "line": 117,
9953                                "column": 16
9954                              },
9955                              "end": {
9956                                "line": 117,
9957                                "column": 20
9958                              }
9959                            }
9960                          },
9961                          "property": {
9962                            "type": "Identifier",
9963                            "name": "data",
9964                            "decorators": [],
9965                            "loc": {
9966                              "start": {
9967                                "line": 117,
9968                                "column": 21
9969                              },
9970                              "end": {
9971                                "line": 117,
9972                                "column": 25
9973                              }
9974                            }
9975                          },
9976                          "computed": false,
9977                          "optional": false,
9978                          "loc": {
9979                            "start": {
9980                              "line": 117,
9981                              "column": 16
9982                            },
9983                            "end": {
9984                              "line": 117,
9985                              "column": 25
9986                            }
9987                          }
9988                        },
9989                        "property": {
9990                          "type": "MemberExpression",
9991                          "object": {
9992                            "type": "ThisExpression",
9993                            "loc": {
9994                              "start": {
9995                                "line": 117,
9996                                "column": 26
9997                              },
9998                              "end": {
9999                                "line": 117,
10000                                "column": 30
10001                              }
10002                            }
10003                          },
10004                          "property": {
10005                            "type": "Identifier",
10006                            "name": "curSize",
10007                            "decorators": [],
10008                            "loc": {
10009                              "start": {
10010                                "line": 117,
10011                                "column": 31
10012                              },
10013                              "end": {
10014                                "line": 117,
10015                                "column": 38
10016                              }
10017                            }
10018                          },
10019                          "computed": false,
10020                          "optional": false,
10021                          "loc": {
10022                            "start": {
10023                              "line": 117,
10024                              "column": 26
10025                            },
10026                            "end": {
10027                              "line": 117,
10028                              "column": 38
10029                            }
10030                          }
10031                        },
10032                        "computed": true,
10033                        "optional": false,
10034                        "loc": {
10035                          "start": {
10036                            "line": 117,
10037                            "column": 16
10038                          },
10039                          "end": {
10040                            "line": 117,
10041                            "column": 39
10042                          }
10043                        }
10044                      },
10045                      "loc": {
10046                        "start": {
10047                          "line": 117,
10048                          "column": 9
10049                        },
10050                        "end": {
10051                          "line": 117,
10052                          "column": 40
10053                        }
10054                      }
10055                    }
10056                  ],
10057                  "loc": {
10058                    "start": {
10059                      "line": 114,
10060                      "column": 34
10061                    },
10062                    "end": {
10063                      "line": 118,
10064                      "column": 6
10065                    }
10066                  }
10067                },
10068                "loc": {
10069                  "start": {
10070                    "line": 114,
10071                    "column": 28
10072                  },
10073                  "end": {
10074                    "line": 118,
10075                    "column": 6
10076                  }
10077                }
10078              },
10079              "loc": {
10080                "start": {
10081                  "line": 114,
10082                  "column": 28
10083                },
10084                "end": {
10085                  "line": 118,
10086                  "column": 6
10087                }
10088              }
10089            },
10090            "overloads": [],
10091            "decorators": [],
10092            "loc": {
10093              "start": {
10094                "line": 114,
10095                "column": 5
10096              },
10097              "end": {
10098                "line": 118,
10099                "column": 6
10100              }
10101            }
10102          },
10103          {
10104            "type": "MethodDefinition",
10105            "key": {
10106              "type": "Identifier",
10107              "name": "size",
10108              "decorators": [],
10109              "loc": {
10110                "start": {
10111                  "line": 120,
10112                  "column": 21
10113                },
10114                "end": {
10115                  "line": 120,
10116                  "column": 25
10117                }
10118              }
10119            },
10120            "kind": "method",
10121            "accessibility": "public",
10122            "static": false,
10123            "optional": false,
10124            "computed": false,
10125            "value": {
10126              "type": "FunctionExpression",
10127              "function": {
10128                "type": "ScriptFunction",
10129                "id": {
10130                  "type": "Identifier",
10131                  "name": "size",
10132                  "decorators": [],
10133                  "loc": {
10134                    "start": {
10135                      "line": 120,
10136                      "column": 21
10137                    },
10138                    "end": {
10139                      "line": 120,
10140                      "column": 25
10141                    }
10142                  }
10143                },
10144                "generator": false,
10145                "async": false,
10146                "expression": false,
10147                "params": [],
10148                "returnType": {
10149                  "type": "ETSPrimitiveType",
10150                  "loc": {
10151                    "start": {
10152                      "line": 120,
10153                      "column": 29
10154                    },
10155                    "end": {
10156                      "line": 120,
10157                      "column": 32
10158                    }
10159                  }
10160                },
10161                "body": {
10162                  "type": "BlockStatement",
10163                  "statements": [
10164                    {
10165                      "type": "ReturnStatement",
10166                      "argument": {
10167                        "type": "MemberExpression",
10168                        "object": {
10169                          "type": "ThisExpression",
10170                          "loc": {
10171                            "start": {
10172                              "line": 121,
10173                              "column": 16
10174                            },
10175                            "end": {
10176                              "line": 121,
10177                              "column": 20
10178                            }
10179                          }
10180                        },
10181                        "property": {
10182                          "type": "Identifier",
10183                          "name": "curSize",
10184                          "decorators": [],
10185                          "loc": {
10186                            "start": {
10187                              "line": 121,
10188                              "column": 21
10189                            },
10190                            "end": {
10191                              "line": 121,
10192                              "column": 28
10193                            }
10194                          }
10195                        },
10196                        "computed": false,
10197                        "optional": false,
10198                        "loc": {
10199                          "start": {
10200                            "line": 121,
10201                            "column": 16
10202                          },
10203                          "end": {
10204                            "line": 121,
10205                            "column": 28
10206                          }
10207                        }
10208                      },
10209                      "loc": {
10210                        "start": {
10211                          "line": 121,
10212                          "column": 9
10213                        },
10214                        "end": {
10215                          "line": 121,
10216                          "column": 29
10217                        }
10218                      }
10219                    }
10220                  ],
10221                  "loc": {
10222                    "start": {
10223                      "line": 120,
10224                      "column": 33
10225                    },
10226                    "end": {
10227                      "line": 122,
10228                      "column": 6
10229                    }
10230                  }
10231                },
10232                "loc": {
10233                  "start": {
10234                    "line": 120,
10235                    "column": 25
10236                  },
10237                  "end": {
10238                    "line": 122,
10239                    "column": 6
10240                  }
10241                }
10242              },
10243              "loc": {
10244                "start": {
10245                  "line": 120,
10246                  "column": 25
10247                },
10248                "end": {
10249                  "line": 122,
10250                  "column": 6
10251                }
10252              }
10253            },
10254            "overloads": [],
10255            "decorators": [],
10256            "loc": {
10257              "start": {
10258                "line": 120,
10259                "column": 5
10260              },
10261              "end": {
10262                "line": 122,
10263                "column": 6
10264              }
10265            }
10266          },
10267          {
10268            "type": "MethodDefinition",
10269            "key": {
10270              "type": "Identifier",
10271              "name": "at",
10272              "decorators": [],
10273              "loc": {
10274                "start": {
10275                  "line": 124,
10276                  "column": 21
10277                },
10278                "end": {
10279                  "line": 124,
10280                  "column": 23
10281                }
10282              }
10283            },
10284            "kind": "method",
10285            "accessibility": "public",
10286            "static": false,
10287            "optional": false,
10288            "computed": false,
10289            "value": {
10290              "type": "FunctionExpression",
10291              "function": {
10292                "type": "ScriptFunction",
10293                "id": {
10294                  "type": "Identifier",
10295                  "name": "at",
10296                  "decorators": [],
10297                  "loc": {
10298                    "start": {
10299                      "line": 124,
10300                      "column": 21
10301                    },
10302                    "end": {
10303                      "line": 124,
10304                      "column": 23
10305                    }
10306                  }
10307                },
10308                "generator": false,
10309                "async": false,
10310                "expression": false,
10311                "params": [
10312                  {
10313                    "type": "ETSParameterExpression",
10314                    "name": {
10315                      "type": "Identifier",
10316                      "name": "index",
10317                      "typeAnnotation": {
10318                        "type": "ETSPrimitiveType",
10319                        "loc": {
10320                          "start": {
10321                            "line": 124,
10322                            "column": 31
10323                          },
10324                          "end": {
10325                            "line": 124,
10326                            "column": 34
10327                          }
10328                        }
10329                      },
10330                      "decorators": [],
10331                      "loc": {
10332                        "start": {
10333                          "line": 124,
10334                          "column": 24
10335                        },
10336                        "end": {
10337                          "line": 124,
10338                          "column": 34
10339                        }
10340                      }
10341                    },
10342                    "loc": {
10343                      "start": {
10344                        "line": 124,
10345                        "column": 24
10346                      },
10347                      "end": {
10348                        "line": 124,
10349                        "column": 34
10350                      }
10351                    }
10352                  }
10353                ],
10354                "returnType": {
10355                  "type": "ETSTypeReference",
10356                  "part": {
10357                    "type": "ETSTypeReferencePart",
10358                    "name": {
10359                      "type": "Identifier",
10360                      "name": "T",
10361                      "decorators": [],
10362                      "loc": {
10363                        "start": {
10364                          "line": 124,
10365                          "column": 37
10366                        },
10367                        "end": {
10368                          "line": 124,
10369                          "column": 38
10370                        }
10371                      }
10372                    },
10373                    "loc": {
10374                      "start": {
10375                        "line": 124,
10376                        "column": 37
10377                      },
10378                      "end": {
10379                        "line": 124,
10380                        "column": 40
10381                      }
10382                    }
10383                  },
10384                  "loc": {
10385                    "start": {
10386                      "line": 124,
10387                      "column": 37
10388                    },
10389                    "end": {
10390                      "line": 124,
10391                      "column": 40
10392                    }
10393                  }
10394                },
10395                "body": {
10396                  "type": "BlockStatement",
10397                  "statements": [
10398                    {
10399                      "type": "ReturnStatement",
10400                      "argument": {
10401                        "type": "MemberExpression",
10402                        "object": {
10403                          "type": "MemberExpression",
10404                          "object": {
10405                            "type": "ThisExpression",
10406                            "loc": {
10407                              "start": {
10408                                "line": 125,
10409                                "column": 16
10410                              },
10411                              "end": {
10412                                "line": 125,
10413                                "column": 20
10414                              }
10415                            }
10416                          },
10417                          "property": {
10418                            "type": "Identifier",
10419                            "name": "data",
10420                            "decorators": [],
10421                            "loc": {
10422                              "start": {
10423                                "line": 125,
10424                                "column": 21
10425                              },
10426                              "end": {
10427                                "line": 125,
10428                                "column": 25
10429                              }
10430                            }
10431                          },
10432                          "computed": false,
10433                          "optional": false,
10434                          "loc": {
10435                            "start": {
10436                              "line": 125,
10437                              "column": 16
10438                            },
10439                            "end": {
10440                              "line": 125,
10441                              "column": 25
10442                            }
10443                          }
10444                        },
10445                        "property": {
10446                          "type": "Identifier",
10447                          "name": "index",
10448                          "decorators": [],
10449                          "loc": {
10450                            "start": {
10451                              "line": 125,
10452                              "column": 26
10453                            },
10454                            "end": {
10455                              "line": 125,
10456                              "column": 31
10457                            }
10458                          }
10459                        },
10460                        "computed": true,
10461                        "optional": false,
10462                        "loc": {
10463                          "start": {
10464                            "line": 125,
10465                            "column": 16
10466                          },
10467                          "end": {
10468                            "line": 125,
10469                            "column": 32
10470                          }
10471                        }
10472                      },
10473                      "loc": {
10474                        "start": {
10475                          "line": 125,
10476                          "column": 9
10477                        },
10478                        "end": {
10479                          "line": 125,
10480                          "column": 33
10481                        }
10482                      }
10483                    }
10484                  ],
10485                  "loc": {
10486                    "start": {
10487                      "line": 124,
10488                      "column": 39
10489                    },
10490                    "end": {
10491                      "line": 126,
10492                      "column": 6
10493                    }
10494                  }
10495                },
10496                "loc": {
10497                  "start": {
10498                    "line": 124,
10499                    "column": 23
10500                  },
10501                  "end": {
10502                    "line": 126,
10503                    "column": 6
10504                  }
10505                }
10506              },
10507              "loc": {
10508                "start": {
10509                  "line": 124,
10510                  "column": 23
10511                },
10512                "end": {
10513                  "line": 126,
10514                  "column": 6
10515                }
10516              }
10517            },
10518            "overloads": [],
10519            "decorators": [],
10520            "loc": {
10521              "start": {
10522                "line": 124,
10523                "column": 5
10524              },
10525              "end": {
10526                "line": 126,
10527                "column": 6
10528              }
10529            }
10530          },
10531          {
10532            "type": "MethodDefinition",
10533            "key": {
10534              "type": "Identifier",
10535              "name": "has",
10536              "decorators": [],
10537              "loc": {
10538                "start": {
10539                  "line": 128,
10540                  "column": 21
10541                },
10542                "end": {
10543                  "line": 128,
10544                  "column": 24
10545                }
10546              }
10547            },
10548            "kind": "method",
10549            "accessibility": "public",
10550            "static": false,
10551            "optional": false,
10552            "computed": false,
10553            "value": {
10554              "type": "FunctionExpression",
10555              "function": {
10556                "type": "ScriptFunction",
10557                "id": {
10558                  "type": "Identifier",
10559                  "name": "has",
10560                  "decorators": [],
10561                  "loc": {
10562                    "start": {
10563                      "line": 128,
10564                      "column": 21
10565                    },
10566                    "end": {
10567                      "line": 128,
10568                      "column": 24
10569                    }
10570                  }
10571                },
10572                "generator": false,
10573                "async": false,
10574                "expression": false,
10575                "params": [
10576                  {
10577                    "type": "ETSParameterExpression",
10578                    "name": {
10579                      "type": "Identifier",
10580                      "name": "e",
10581                      "typeAnnotation": {
10582                        "type": "ETSTypeReference",
10583                        "part": {
10584                          "type": "ETSTypeReferencePart",
10585                          "name": {
10586                            "type": "Identifier",
10587                            "name": "T",
10588                            "decorators": [],
10589                            "loc": {
10590                              "start": {
10591                                "line": 128,
10592                                "column": 28
10593                              },
10594                              "end": {
10595                                "line": 128,
10596                                "column": 29
10597                              }
10598                            }
10599                          },
10600                          "loc": {
10601                            "start": {
10602                              "line": 128,
10603                              "column": 28
10604                            },
10605                            "end": {
10606                              "line": 128,
10607                              "column": 30
10608                            }
10609                          }
10610                        },
10611                        "loc": {
10612                          "start": {
10613                            "line": 128,
10614                            "column": 28
10615                          },
10616                          "end": {
10617                            "line": 128,
10618                            "column": 30
10619                          }
10620                        }
10621                      },
10622                      "decorators": [],
10623                      "loc": {
10624                        "start": {
10625                          "line": 128,
10626                          "column": 25
10627                        },
10628                        "end": {
10629                          "line": 128,
10630                          "column": 30
10631                        }
10632                      }
10633                    },
10634                    "loc": {
10635                      "start": {
10636                        "line": 128,
10637                        "column": 25
10638                      },
10639                      "end": {
10640                        "line": 128,
10641                        "column": 30
10642                      }
10643                    }
10644                  }
10645                ],
10646                "returnType": {
10647                  "type": "ETSPrimitiveType",
10648                  "loc": {
10649                    "start": {
10650                      "line": 128,
10651                      "column": 32
10652                    },
10653                    "end": {
10654                      "line": 128,
10655                      "column": 39
10656                    }
10657                  }
10658                },
10659                "body": {
10660                  "type": "BlockStatement",
10661                  "statements": [
10662                    {
10663                      "type": "AssertStatement",
10664                      "test": {
10665                        "type": "BooleanLiteral",
10666                        "value": false,
10667                        "loc": {
10668                          "start": {
10669                            "line": 129,
10670                            "column": 16
10671                          },
10672                          "end": {
10673                            "line": 129,
10674                            "column": 21
10675                          }
10676                        }
10677                      },
10678                      "second": {
10679                        "type": "StringLiteral",
10680                        "value": "Not implemented: internal issue with calling equals",
10681                        "loc": {
10682                          "start": {
10683                            "line": 129,
10684                            "column": 23
10685                          },
10686                          "end": {
10687                            "line": 129,
10688                            "column": 76
10689                          }
10690                        }
10691                      },
10692                      "loc": {
10693                        "start": {
10694                          "line": 129,
10695                          "column": 9
10696                        },
10697                        "end": {
10698                          "line": 129,
10699                          "column": 77
10700                        }
10701                      }
10702                    },
10703                    {
10704                      "type": "ForUpdateStatement",
10705                      "init": {
10706                        "type": "VariableDeclaration",
10707                        "declarations": [
10708                          {
10709                            "type": "VariableDeclarator",
10710                            "id": {
10711                              "type": "Identifier",
10712                              "name": "i",
10713                              "decorators": [],
10714                              "loc": {
10715                                "start": {
10716                                  "line": 131,
10717                                  "column": 18
10718                                },
10719                                "end": {
10720                                  "line": 131,
10721                                  "column": 19
10722                                }
10723                              }
10724                            },
10725                            "init": {
10726                              "type": "NumberLiteral",
10727                              "value": 0,
10728                              "loc": {
10729                                "start": {
10730                                  "line": 131,
10731                                  "column": 22
10732                                },
10733                                "end": {
10734                                  "line": 131,
10735                                  "column": 23
10736                                }
10737                              }
10738                            },
10739                            "loc": {
10740                              "start": {
10741                                "line": 131,
10742                                "column": 18
10743                              },
10744                              "end": {
10745                                "line": 131,
10746                                "column": 23
10747                              }
10748                            }
10749                          }
10750                        ],
10751                        "kind": "let",
10752                        "loc": {
10753                          "start": {
10754                            "line": 131,
10755                            "column": 14
10756                          },
10757                          "end": {
10758                            "line": 131,
10759                            "column": 23
10760                          }
10761                        }
10762                      },
10763                      "test": {
10764                        "type": "BinaryExpression",
10765                        "operator": "<",
10766                        "left": {
10767                          "type": "Identifier",
10768                          "name": "i",
10769                          "decorators": [],
10770                          "loc": {
10771                            "start": {
10772                              "line": 131,
10773                              "column": 25
10774                            },
10775                            "end": {
10776                              "line": 131,
10777                              "column": 26
10778                            }
10779                          }
10780                        },
10781                        "right": {
10782                          "type": "MemberExpression",
10783                          "object": {
10784                            "type": "ThisExpression",
10785                            "loc": {
10786                              "start": {
10787                                "line": 131,
10788                                "column": 29
10789                              },
10790                              "end": {
10791                                "line": 131,
10792                                "column": 33
10793                              }
10794                            }
10795                          },
10796                          "property": {
10797                            "type": "Identifier",
10798                            "name": "curSize",
10799                            "decorators": [],
10800                            "loc": {
10801                              "start": {
10802                                "line": 131,
10803                                "column": 34
10804                              },
10805                              "end": {
10806                                "line": 131,
10807                                "column": 41
10808                              }
10809                            }
10810                          },
10811                          "computed": false,
10812                          "optional": false,
10813                          "loc": {
10814                            "start": {
10815                              "line": 131,
10816                              "column": 29
10817                            },
10818                            "end": {
10819                              "line": 131,
10820                              "column": 41
10821                            }
10822                          }
10823                        },
10824                        "loc": {
10825                          "start": {
10826                            "line": 131,
10827                            "column": 25
10828                          },
10829                          "end": {
10830                            "line": 131,
10831                            "column": 41
10832                          }
10833                        }
10834                      },
10835                      "update": {
10836                        "type": "UpdateExpression",
10837                        "operator": "++",
10838                        "prefix": true,
10839                        "argument": {
10840                          "type": "Identifier",
10841                          "name": "i",
10842                          "decorators": [],
10843                          "loc": {
10844                            "start": {
10845                              "line": 131,
10846                              "column": 45
10847                            },
10848                            "end": {
10849                              "line": 131,
10850                              "column": 46
10851                            }
10852                          }
10853                        },
10854                        "loc": {
10855                          "start": {
10856                            "line": 131,
10857                            "column": 43
10858                          },
10859                          "end": {
10860                            "line": 131,
10861                            "column": 46
10862                          }
10863                        }
10864                      },
10865                      "body": {
10866                        "type": "BlockStatement",
10867                        "statements": [
10868                          {
10869                            "type": "IfStatement",
10870                            "test": {
10871                              "type": "CallExpression",
10872                              "callee": {
10873                                "type": "Identifier",
10874                                "name": "__runtimeEquals",
10875                                "decorators": [],
10876                                "loc": {
10877                                  "start": {
10878                                    "line": 132,
10879                                    "column": 17
10880                                  },
10881                                  "end": {
10882                                    "line": 132,
10883                                    "column": 32
10884                                  }
10885                                }
10886                              },
10887                              "arguments": [
10888                                {
10889                                  "type": "MemberExpression",
10890                                  "object": {
10891                                    "type": "MemberExpression",
10892                                    "object": {
10893                                      "type": "ThisExpression",
10894                                      "loc": {
10895                                        "start": {
10896                                          "line": 132,
10897                                          "column": 33
10898                                        },
10899                                        "end": {
10900                                          "line": 132,
10901                                          "column": 37
10902                                        }
10903                                      }
10904                                    },
10905                                    "property": {
10906                                      "type": "Identifier",
10907                                      "name": "data",
10908                                      "decorators": [],
10909                                      "loc": {
10910                                        "start": {
10911                                          "line": 132,
10912                                          "column": 38
10913                                        },
10914                                        "end": {
10915                                          "line": 132,
10916                                          "column": 42
10917                                        }
10918                                      }
10919                                    },
10920                                    "computed": false,
10921                                    "optional": false,
10922                                    "loc": {
10923                                      "start": {
10924                                        "line": 132,
10925                                        "column": 33
10926                                      },
10927                                      "end": {
10928                                        "line": 132,
10929                                        "column": 42
10930                                      }
10931                                    }
10932                                  },
10933                                  "property": {
10934                                    "type": "Identifier",
10935                                    "name": "i",
10936                                    "decorators": [],
10937                                    "loc": {
10938                                      "start": {
10939                                        "line": 132,
10940                                        "column": 43
10941                                      },
10942                                      "end": {
10943                                        "line": 132,
10944                                        "column": 44
10945                                      }
10946                                    }
10947                                  },
10948                                  "computed": true,
10949                                  "optional": false,
10950                                  "loc": {
10951                                    "start": {
10952                                      "line": 132,
10953                                      "column": 33
10954                                    },
10955                                    "end": {
10956                                      "line": 132,
10957                                      "column": 45
10958                                    }
10959                                  }
10960                                },
10961                                {
10962                                  "type": "Identifier",
10963                                  "name": "e",
10964                                  "decorators": [],
10965                                  "loc": {
10966                                    "start": {
10967                                      "line": 132,
10968                                      "column": 47
10969                                    },
10970                                    "end": {
10971                                      "line": 132,
10972                                      "column": 48
10973                                    }
10974                                  }
10975                                }
10976                              ],
10977                              "optional": false,
10978                              "loc": {
10979                                "start": {
10980                                  "line": 132,
10981                                  "column": 17
10982                                },
10983                                "end": {
10984                                  "line": 132,
10985                                  "column": 49
10986                                }
10987                              }
10988                            },
10989                            "consequent": {
10990                              "type": "BlockStatement",
10991                              "statements": [
10992                                {
10993                                  "type": "ReturnStatement",
10994                                  "argument": {
10995                                    "type": "BooleanLiteral",
10996                                    "value": true,
10997                                    "loc": {
10998                                      "start": {
10999                                        "line": 133,
11000                                        "column": 24
11001                                      },
11002                                      "end": {
11003                                        "line": 133,
11004                                        "column": 28
11005                                      }
11006                                    }
11007                                  },
11008                                  "loc": {
11009                                    "start": {
11010                                      "line": 133,
11011                                      "column": 17
11012                                    },
11013                                    "end": {
11014                                      "line": 133,
11015                                      "column": 29
11016                                    }
11017                                  }
11018                                }
11019                              ],
11020                              "loc": {
11021                                "start": {
11022                                  "line": 132,
11023                                  "column": 51
11024                                },
11025                                "end": {
11026                                  "line": 134,
11027                                  "column": 14
11028                                }
11029                              }
11030                            },
11031                            "alternate": null,
11032                            "loc": {
11033                              "start": {
11034                                "line": 132,
11035                                "column": 13
11036                              },
11037                              "end": {
11038                                "line": 134,
11039                                "column": 14
11040                              }
11041                            }
11042                          }
11043                        ],
11044                        "loc": {
11045                          "start": {
11046                            "line": 131,
11047                            "column": 48
11048                          },
11049                          "end": {
11050                            "line": 135,
11051                            "column": 10
11052                          }
11053                        }
11054                      },
11055                      "loc": {
11056                        "start": {
11057                          "line": 131,
11058                          "column": 9
11059                        },
11060                        "end": {
11061                          "line": 135,
11062                          "column": 10
11063                        }
11064                      }
11065                    },
11066                    {
11067                      "type": "ReturnStatement",
11068                      "argument": {
11069                        "type": "BooleanLiteral",
11070                        "value": false,
11071                        "loc": {
11072                          "start": {
11073                            "line": 137,
11074                            "column": 16
11075                          },
11076                          "end": {
11077                            "line": 137,
11078                            "column": 21
11079                          }
11080                        }
11081                      },
11082                      "loc": {
11083                        "start": {
11084                          "line": 137,
11085                          "column": 9
11086                        },
11087                        "end": {
11088                          "line": 137,
11089                          "column": 22
11090                        }
11091                      }
11092                    }
11093                  ],
11094                  "loc": {
11095                    "start": {
11096                      "line": 128,
11097                      "column": 40
11098                    },
11099                    "end": {
11100                      "line": 138,
11101                      "column": 6
11102                    }
11103                  }
11104                },
11105                "loc": {
11106                  "start": {
11107                    "line": 128,
11108                    "column": 24
11109                  },
11110                  "end": {
11111                    "line": 138,
11112                    "column": 6
11113                  }
11114                }
11115              },
11116              "loc": {
11117                "start": {
11118                  "line": 128,
11119                  "column": 24
11120                },
11121                "end": {
11122                  "line": 138,
11123                  "column": 6
11124                }
11125              }
11126            },
11127            "overloads": [],
11128            "decorators": [],
11129            "loc": {
11130              "start": {
11131                "line": 128,
11132                "column": 5
11133              },
11134              "end": {
11135                "line": 138,
11136                "column": 6
11137              }
11138            }
11139          },
11140          {
11141            "type": "MethodDefinition",
11142            "key": {
11143              "type": "Identifier",
11144              "name": "forEach",
11145              "decorators": [],
11146              "loc": {
11147                "start": {
11148                  "line": 141,
11149                  "column": 21
11150                },
11151                "end": {
11152                  "line": 141,
11153                  "column": 28
11154                }
11155              }
11156            },
11157            "kind": "method",
11158            "accessibility": "public",
11159            "static": false,
11160            "optional": false,
11161            "computed": false,
11162            "value": {
11163              "type": "FunctionExpression",
11164              "function": {
11165                "type": "ScriptFunction",
11166                "id": {
11167                  "type": "Identifier",
11168                  "name": "forEach",
11169                  "decorators": [],
11170                  "loc": {
11171                    "start": {
11172                      "line": 141,
11173                      "column": 21
11174                    },
11175                    "end": {
11176                      "line": 141,
11177                      "column": 28
11178                    }
11179                  }
11180                },
11181                "generator": false,
11182                "async": false,
11183                "expression": false,
11184                "params": [
11185                  {
11186                    "type": "ETSParameterExpression",
11187                    "name": {
11188                      "type": "Identifier",
11189                      "name": "fn",
11190                      "typeAnnotation": {
11191                        "type": "ETSFunctionType",
11192                        "params": [
11193                          {
11194                            "type": "ETSParameterExpression",
11195                            "name": {
11196                              "type": "Identifier",
11197                              "name": "e",
11198                              "typeAnnotation": {
11199                                "type": "ETSTypeReference",
11200                                "part": {
11201                                  "type": "ETSTypeReferencePart",
11202                                  "name": {
11203                                    "type": "Identifier",
11204                                    "name": "T",
11205                                    "decorators": [],
11206                                    "loc": {
11207                                      "start": {
11208                                        "line": 141,
11209                                        "column": 37
11210                                      },
11211                                      "end": {
11212                                        "line": 141,
11213                                        "column": 38
11214                                      }
11215                                    }
11216                                  },
11217                                  "loc": {
11218                                    "start": {
11219                                      "line": 141,
11220                                      "column": 37
11221                                    },
11222                                    "end": {
11223                                      "line": 141,
11224                                      "column": 39
11225                                    }
11226                                  }
11227                                },
11228                                "loc": {
11229                                  "start": {
11230                                    "line": 141,
11231                                    "column": 37
11232                                  },
11233                                  "end": {
11234                                    "line": 141,
11235                                    "column": 39
11236                                  }
11237                                }
11238                              },
11239                              "decorators": [],
11240                              "loc": {
11241                                "start": {
11242                                  "line": 141,
11243                                  "column": 34
11244                                },
11245                                "end": {
11246                                  "line": 141,
11247                                  "column": 39
11248                                }
11249                              }
11250                            },
11251                            "loc": {
11252                              "start": {
11253                                "line": 141,
11254                                "column": 34
11255                              },
11256                              "end": {
11257                                "line": 141,
11258                                "column": 39
11259                              }
11260                            }
11261                          }
11262                        ],
11263                        "returnType": {
11264                          "type": "ETSTypeReference",
11265                          "part": {
11266                            "type": "ETSTypeReferencePart",
11267                            "name": {
11268                              "type": "Identifier",
11269                              "name": "T",
11270                              "decorators": [],
11271                              "loc": {
11272                                "start": {
11273                                  "line": 141,
11274                                  "column": 43
11275                                },
11276                                "end": {
11277                                  "line": 141,
11278                                  "column": 44
11279                                }
11280                              }
11281                            },
11282                            "loc": {
11283                              "start": {
11284                                "line": 141,
11285                                "column": 43
11286                              },
11287                              "end": {
11288                                "line": 141,
11289                                "column": 45
11290                              }
11291                            }
11292                          },
11293                          "loc": {
11294                            "start": {
11295                              "line": 141,
11296                              "column": 43
11297                            },
11298                            "end": {
11299                              "line": 141,
11300                              "column": 45
11301                            }
11302                          }
11303                        },
11304                        "loc": {
11305                          "start": {
11306                            "line": 141,
11307                            "column": 33
11308                          },
11309                          "end": {
11310                            "line": 141,
11311                            "column": 45
11312                          }
11313                        }
11314                      },
11315                      "decorators": [],
11316                      "loc": {
11317                        "start": {
11318                          "line": 141,
11319                          "column": 29
11320                        },
11321                        "end": {
11322                          "line": 141,
11323                          "column": 45
11324                        }
11325                      }
11326                    },
11327                    "loc": {
11328                      "start": {
11329                        "line": 141,
11330                        "column": 29
11331                      },
11332                      "end": {
11333                        "line": 141,
11334                        "column": 45
11335                      }
11336                    }
11337                  }
11338                ],
11339                "returnType": {
11340                  "type": "ETSUnionType",
11341                  "types": [
11342                    {
11343                      "type": "ETSTypeReference",
11344                      "part": {
11345                        "type": "ETSTypeReferencePart",
11346                        "name": {
11347                          "type": "Identifier",
11348                          "name": "Listt",
11349                          "decorators": [],
11350                          "loc": {
11351                            "start": {
11352                              "line": 141,
11353                              "column": 47
11354                            },
11355                            "end": {
11356                              "line": 141,
11357                              "column": 52
11358                            }
11359                          }
11360                        },
11361                        "typeParams": {
11362                          "type": "TSTypeParameterInstantiation",
11363                          "params": [
11364                            {
11365                              "type": "ETSTypeReference",
11366                              "part": {
11367                                "type": "ETSTypeReferencePart",
11368                                "name": {
11369                                  "type": "Identifier",
11370                                  "name": "T",
11371                                  "decorators": [],
11372                                  "loc": {
11373                                    "start": {
11374                                      "line": 141,
11375                                      "column": 53
11376                                    },
11377                                    "end": {
11378                                      "line": 141,
11379                                      "column": 54
11380                                    }
11381                                  }
11382                                },
11383                                "loc": {
11384                                  "start": {
11385                                    "line": 141,
11386                                    "column": 53
11387                                  },
11388                                  "end": {
11389                                    "line": 141,
11390                                    "column": 55
11391                                  }
11392                                }
11393                              },
11394                              "loc": {
11395                                "start": {
11396                                  "line": 141,
11397                                  "column": 53
11398                                },
11399                                "end": {
11400                                  "line": 141,
11401                                  "column": 55
11402                                }
11403                              }
11404                            }
11405                          ],
11406                          "loc": {
11407                            "start": {
11408                              "line": 141,
11409                              "column": 52
11410                            },
11411                            "end": {
11412                              "line": 141,
11413                              "column": 55
11414                            }
11415                          }
11416                        },
11417                        "loc": {
11418                          "start": {
11419                            "line": 141,
11420                            "column": 47
11421                          },
11422                          "end": {
11423                            "line": 141,
11424                            "column": 57
11425                          }
11426                        }
11427                      },
11428                      "loc": {
11429                        "start": {
11430                          "line": 141,
11431                          "column": 47
11432                        },
11433                        "end": {
11434                          "line": 141,
11435                          "column": 57
11436                        }
11437                      }
11438                    },
11439                    {
11440                      "type": "ETSNullType",
11441                      "loc": {
11442                        "start": {
11443                          "line": 141,
11444                          "column": 58
11445                        },
11446                        "end": {
11447                          "line": 141,
11448                          "column": 62
11449                        }
11450                      }
11451                    }
11452                  ],
11453                  "loc": {
11454                    "start": {
11455                      "line": 141,
11456                      "column": 47
11457                    },
11458                    "end": {
11459                      "line": 141,
11460                      "column": 62
11461                    }
11462                  }
11463                },
11464                "body": {
11465                  "type": "BlockStatement",
11466                  "statements": [
11467                    {
11468                      "type": "ForUpdateStatement",
11469                      "init": {
11470                        "type": "VariableDeclaration",
11471                        "declarations": [
11472                          {
11473                            "type": "VariableDeclarator",
11474                            "id": {
11475                              "type": "Identifier",
11476                              "name": "i",
11477                              "decorators": [],
11478                              "loc": {
11479                                "start": {
11480                                  "line": 142,
11481                                  "column": 18
11482                                },
11483                                "end": {
11484                                  "line": 142,
11485                                  "column": 19
11486                                }
11487                              }
11488                            },
11489                            "init": {
11490                              "type": "NumberLiteral",
11491                              "value": 0,
11492                              "loc": {
11493                                "start": {
11494                                  "line": 142,
11495                                  "column": 22
11496                                },
11497                                "end": {
11498                                  "line": 142,
11499                                  "column": 23
11500                                }
11501                              }
11502                            },
11503                            "loc": {
11504                              "start": {
11505                                "line": 142,
11506                                "column": 18
11507                              },
11508                              "end": {
11509                                "line": 142,
11510                                "column": 23
11511                              }
11512                            }
11513                          }
11514                        ],
11515                        "kind": "let",
11516                        "loc": {
11517                          "start": {
11518                            "line": 142,
11519                            "column": 14
11520                          },
11521                          "end": {
11522                            "line": 142,
11523                            "column": 23
11524                          }
11525                        }
11526                      },
11527                      "test": {
11528                        "type": "BinaryExpression",
11529                        "operator": "<",
11530                        "left": {
11531                          "type": "Identifier",
11532                          "name": "i",
11533                          "decorators": [],
11534                          "loc": {
11535                            "start": {
11536                              "line": 142,
11537                              "column": 25
11538                            },
11539                            "end": {
11540                              "line": 142,
11541                              "column": 26
11542                            }
11543                          }
11544                        },
11545                        "right": {
11546                          "type": "MemberExpression",
11547                          "object": {
11548                            "type": "ThisExpression",
11549                            "loc": {
11550                              "start": {
11551                                "line": 142,
11552                                "column": 29
11553                              },
11554                              "end": {
11555                                "line": 142,
11556                                "column": 33
11557                              }
11558                            }
11559                          },
11560                          "property": {
11561                            "type": "Identifier",
11562                            "name": "curSize",
11563                            "decorators": [],
11564                            "loc": {
11565                              "start": {
11566                                "line": 142,
11567                                "column": 34
11568                              },
11569                              "end": {
11570                                "line": 142,
11571                                "column": 41
11572                              }
11573                            }
11574                          },
11575                          "computed": false,
11576                          "optional": false,
11577                          "loc": {
11578                            "start": {
11579                              "line": 142,
11580                              "column": 29
11581                            },
11582                            "end": {
11583                              "line": 142,
11584                              "column": 41
11585                            }
11586                          }
11587                        },
11588                        "loc": {
11589                          "start": {
11590                            "line": 142,
11591                            "column": 25
11592                          },
11593                          "end": {
11594                            "line": 142,
11595                            "column": 41
11596                          }
11597                        }
11598                      },
11599                      "update": {
11600                        "type": "UpdateExpression",
11601                        "operator": "++",
11602                        "prefix": true,
11603                        "argument": {
11604                          "type": "Identifier",
11605                          "name": "i",
11606                          "decorators": [],
11607                          "loc": {
11608                            "start": {
11609                              "line": 142,
11610                              "column": 45
11611                            },
11612                            "end": {
11613                              "line": 142,
11614                              "column": 46
11615                            }
11616                          }
11617                        },
11618                        "loc": {
11619                          "start": {
11620                            "line": 142,
11621                            "column": 43
11622                          },
11623                          "end": {
11624                            "line": 142,
11625                            "column": 46
11626                          }
11627                        }
11628                      },
11629                      "body": {
11630                        "type": "BlockStatement",
11631                        "statements": [
11632                          {
11633                            "type": "ExpressionStatement",
11634                            "expression": {
11635                              "type": "AssignmentExpression",
11636                              "operator": "=",
11637                              "left": {
11638                                "type": "MemberExpression",
11639                                "object": {
11640                                  "type": "MemberExpression",
11641                                  "object": {
11642                                    "type": "ThisExpression",
11643                                    "loc": {
11644                                      "start": {
11645                                        "line": 143,
11646                                        "column": 13
11647                                      },
11648                                      "end": {
11649                                        "line": 143,
11650                                        "column": 17
11651                                      }
11652                                    }
11653                                  },
11654                                  "property": {
11655                                    "type": "Identifier",
11656                                    "name": "data",
11657                                    "decorators": [],
11658                                    "loc": {
11659                                      "start": {
11660                                        "line": 143,
11661                                        "column": 18
11662                                      },
11663                                      "end": {
11664                                        "line": 143,
11665                                        "column": 22
11666                                      }
11667                                    }
11668                                  },
11669                                  "computed": false,
11670                                  "optional": false,
11671                                  "loc": {
11672                                    "start": {
11673                                      "line": 143,
11674                                      "column": 13
11675                                    },
11676                                    "end": {
11677                                      "line": 143,
11678                                      "column": 22
11679                                    }
11680                                  }
11681                                },
11682                                "property": {
11683                                  "type": "Identifier",
11684                                  "name": "i",
11685                                  "decorators": [],
11686                                  "loc": {
11687                                    "start": {
11688                                      "line": 143,
11689                                      "column": 23
11690                                    },
11691                                    "end": {
11692                                      "line": 143,
11693                                      "column": 24
11694                                    }
11695                                  }
11696                                },
11697                                "computed": true,
11698                                "optional": false,
11699                                "loc": {
11700                                  "start": {
11701                                    "line": 143,
11702                                    "column": 13
11703                                  },
11704                                  "end": {
11705                                    "line": 143,
11706                                    "column": 25
11707                                  }
11708                                }
11709                              },
11710                              "right": {
11711                                "type": "CallExpression",
11712                                "callee": {
11713                                  "type": "Identifier",
11714                                  "name": "fn",
11715                                  "decorators": [],
11716                                  "loc": {
11717                                    "start": {
11718                                      "line": 143,
11719                                      "column": 28
11720                                    },
11721                                    "end": {
11722                                      "line": 143,
11723                                      "column": 30
11724                                    }
11725                                  }
11726                                },
11727                                "arguments": [
11728                                  {
11729                                    "type": "MemberExpression",
11730                                    "object": {
11731                                      "type": "MemberExpression",
11732                                      "object": {
11733                                        "type": "ThisExpression",
11734                                        "loc": {
11735                                          "start": {
11736                                            "line": 143,
11737                                            "column": 31
11738                                          },
11739                                          "end": {
11740                                            "line": 143,
11741                                            "column": 35
11742                                          }
11743                                        }
11744                                      },
11745                                      "property": {
11746                                        "type": "Identifier",
11747                                        "name": "data",
11748                                        "decorators": [],
11749                                        "loc": {
11750                                          "start": {
11751                                            "line": 143,
11752                                            "column": 36
11753                                          },
11754                                          "end": {
11755                                            "line": 143,
11756                                            "column": 40
11757                                          }
11758                                        }
11759                                      },
11760                                      "computed": false,
11761                                      "optional": false,
11762                                      "loc": {
11763                                        "start": {
11764                                          "line": 143,
11765                                          "column": 31
11766                                        },
11767                                        "end": {
11768                                          "line": 143,
11769                                          "column": 40
11770                                        }
11771                                      }
11772                                    },
11773                                    "property": {
11774                                      "type": "Identifier",
11775                                      "name": "i",
11776                                      "decorators": [],
11777                                      "loc": {
11778                                        "start": {
11779                                          "line": 143,
11780                                          "column": 41
11781                                        },
11782                                        "end": {
11783                                          "line": 143,
11784                                          "column": 42
11785                                        }
11786                                      }
11787                                    },
11788                                    "computed": true,
11789                                    "optional": false,
11790                                    "loc": {
11791                                      "start": {
11792                                        "line": 143,
11793                                        "column": 31
11794                                      },
11795                                      "end": {
11796                                        "line": 143,
11797                                        "column": 43
11798                                      }
11799                                    }
11800                                  }
11801                                ],
11802                                "optional": false,
11803                                "loc": {
11804                                  "start": {
11805                                    "line": 143,
11806                                    "column": 28
11807                                  },
11808                                  "end": {
11809                                    "line": 143,
11810                                    "column": 44
11811                                  }
11812                                }
11813                              },
11814                              "loc": {
11815                                "start": {
11816                                  "line": 143,
11817                                  "column": 13
11818                                },
11819                                "end": {
11820                                  "line": 143,
11821                                  "column": 44
11822                                }
11823                              }
11824                            },
11825                            "loc": {
11826                              "start": {
11827                                "line": 143,
11828                                "column": 13
11829                              },
11830                              "end": {
11831                                "line": 143,
11832                                "column": 45
11833                              }
11834                            }
11835                          }
11836                        ],
11837                        "loc": {
11838                          "start": {
11839                            "line": 142,
11840                            "column": 48
11841                          },
11842                          "end": {
11843                            "line": 144,
11844                            "column": 10
11845                          }
11846                        }
11847                      },
11848                      "loc": {
11849                        "start": {
11850                          "line": 142,
11851                          "column": 9
11852                        },
11853                        "end": {
11854                          "line": 144,
11855                          "column": 10
11856                        }
11857                      }
11858                    },
11859                    {
11860                      "type": "ReturnStatement",
11861                      "argument": {
11862                        "type": "NullLiteral",
11863                        "value": null,
11864                        "loc": {
11865                          "start": {
11866                            "line": 145,
11867                            "column": 16
11868                          },
11869                          "end": {
11870                            "line": 145,
11871                            "column": 20
11872                          }
11873                        }
11874                      },
11875                      "loc": {
11876                        "start": {
11877                          "line": 145,
11878                          "column": 9
11879                        },
11880                        "end": {
11881                          "line": 145,
11882                          "column": 21
11883                        }
11884                      }
11885                    }
11886                  ],
11887                  "loc": {
11888                    "start": {
11889                      "line": 141,
11890                      "column": 63
11891                    },
11892                    "end": {
11893                      "line": 146,
11894                      "column": 6
11895                    }
11896                  }
11897                },
11898                "loc": {
11899                  "start": {
11900                    "line": 141,
11901                    "column": 28
11902                  },
11903                  "end": {
11904                    "line": 146,
11905                    "column": 6
11906                  }
11907                }
11908              },
11909              "loc": {
11910                "start": {
11911                  "line": 141,
11912                  "column": 28
11913                },
11914                "end": {
11915                  "line": 146,
11916                  "column": 6
11917                }
11918              }
11919            },
11920            "overloads": [],
11921            "decorators": [],
11922            "loc": {
11923              "start": {
11924                "line": 141,
11925                "column": 5
11926              },
11927              "end": {
11928                "line": 146,
11929                "column": 6
11930              }
11931            }
11932          },
11933          {
11934            "type": "MethodDefinition",
11935            "key": {
11936              "type": "Identifier",
11937              "name": "map",
11938              "decorators": [],
11939              "loc": {
11940                "start": {
11941                  "line": 148,
11942                  "column": 21
11943                },
11944                "end": {
11945                  "line": 148,
11946                  "column": 24
11947                }
11948              }
11949            },
11950            "kind": "method",
11951            "accessibility": "public",
11952            "static": false,
11953            "optional": false,
11954            "computed": false,
11955            "value": {
11956              "type": "FunctionExpression",
11957              "function": {
11958                "type": "ScriptFunction",
11959                "id": {
11960                  "type": "Identifier",
11961                  "name": "map",
11962                  "decorators": [],
11963                  "loc": {
11964                    "start": {
11965                      "line": 148,
11966                      "column": 21
11967                    },
11968                    "end": {
11969                      "line": 148,
11970                      "column": 24
11971                    }
11972                  }
11973                },
11974                "generator": false,
11975                "async": false,
11976                "expression": false,
11977                "params": [
11978                  {
11979                    "type": "ETSParameterExpression",
11980                    "name": {
11981                      "type": "Identifier",
11982                      "name": "fn",
11983                      "typeAnnotation": {
11984                        "type": "ETSFunctionType",
11985                        "params": [
11986                          {
11987                            "type": "ETSParameterExpression",
11988                            "name": {
11989                              "type": "Identifier",
11990                              "name": "e",
11991                              "typeAnnotation": {
11992                                "type": "ETSTypeReference",
11993                                "part": {
11994                                  "type": "ETSTypeReferencePart",
11995                                  "name": {
11996                                    "type": "Identifier",
11997                                    "name": "T",
11998                                    "decorators": [],
11999                                    "loc": {
12000                                      "start": {
12001                                        "line": 148,
12002                                        "column": 36
12003                                      },
12004                                      "end": {
12005                                        "line": 148,
12006                                        "column": 37
12007                                      }
12008                                    }
12009                                  },
12010                                  "loc": {
12011                                    "start": {
12012                                      "line": 148,
12013                                      "column": 36
12014                                    },
12015                                    "end": {
12016                                      "line": 148,
12017                                      "column": 38
12018                                    }
12019                                  }
12020                                },
12021                                "loc": {
12022                                  "start": {
12023                                    "line": 148,
12024                                    "column": 36
12025                                  },
12026                                  "end": {
12027                                    "line": 148,
12028                                    "column": 38
12029                                  }
12030                                }
12031                              },
12032                              "decorators": [],
12033                              "loc": {
12034                                "start": {
12035                                  "line": 148,
12036                                  "column": 33
12037                                },
12038                                "end": {
12039                                  "line": 148,
12040                                  "column": 38
12041                                }
12042                              }
12043                            },
12044                            "loc": {
12045                              "start": {
12046                                "line": 148,
12047                                "column": 33
12048                              },
12049                              "end": {
12050                                "line": 148,
12051                                "column": 38
12052                              }
12053                            }
12054                          }
12055                        ],
12056                        "returnType": {
12057                          "type": "ETSTypeReference",
12058                          "part": {
12059                            "type": "ETSTypeReferencePart",
12060                            "name": {
12061                              "type": "Identifier",
12062                              "name": "U",
12063                              "decorators": [],
12064                              "loc": {
12065                                "start": {
12066                                  "line": 148,
12067                                  "column": 42
12068                                },
12069                                "end": {
12070                                  "line": 148,
12071                                  "column": 43
12072                                }
12073                              }
12074                            },
12075                            "loc": {
12076                              "start": {
12077                                "line": 148,
12078                                "column": 42
12079                              },
12080                              "end": {
12081                                "line": 148,
12082                                "column": 44
12083                              }
12084                            }
12085                          },
12086                          "loc": {
12087                            "start": {
12088                              "line": 148,
12089                              "column": 42
12090                            },
12091                            "end": {
12092                              "line": 148,
12093                              "column": 44
12094                            }
12095                          }
12096                        },
12097                        "loc": {
12098                          "start": {
12099                            "line": 148,
12100                            "column": 32
12101                          },
12102                          "end": {
12103                            "line": 148,
12104                            "column": 44
12105                          }
12106                        }
12107                      },
12108                      "decorators": [],
12109                      "loc": {
12110                        "start": {
12111                          "line": 148,
12112                          "column": 28
12113                        },
12114                        "end": {
12115                          "line": 148,
12116                          "column": 44
12117                        }
12118                      }
12119                    },
12120                    "loc": {
12121                      "start": {
12122                        "line": 148,
12123                        "column": 28
12124                      },
12125                      "end": {
12126                        "line": 148,
12127                        "column": 44
12128                      }
12129                    }
12130                  }
12131                ],
12132                "returnType": {
12133                  "type": "ETSTypeReference",
12134                  "part": {
12135                    "type": "ETSTypeReferencePart",
12136                    "name": {
12137                      "type": "Identifier",
12138                      "name": "Listt",
12139                      "decorators": [],
12140                      "loc": {
12141                        "start": {
12142                          "line": 148,
12143                          "column": 46
12144                        },
12145                        "end": {
12146                          "line": 148,
12147                          "column": 51
12148                        }
12149                      }
12150                    },
12151                    "typeParams": {
12152                      "type": "TSTypeParameterInstantiation",
12153                      "params": [
12154                        {
12155                          "type": "ETSTypeReference",
12156                          "part": {
12157                            "type": "ETSTypeReferencePart",
12158                            "name": {
12159                              "type": "Identifier",
12160                              "name": "U",
12161                              "decorators": [],
12162                              "loc": {
12163                                "start": {
12164                                  "line": 148,
12165                                  "column": 52
12166                                },
12167                                "end": {
12168                                  "line": 148,
12169                                  "column": 53
12170                                }
12171                              }
12172                            },
12173                            "loc": {
12174                              "start": {
12175                                "line": 148,
12176                                "column": 52
12177                              },
12178                              "end": {
12179                                "line": 148,
12180                                "column": 54
12181                              }
12182                            }
12183                          },
12184                          "loc": {
12185                            "start": {
12186                              "line": 148,
12187                              "column": 52
12188                            },
12189                            "end": {
12190                              "line": 148,
12191                              "column": 54
12192                            }
12193                          }
12194                        }
12195                      ],
12196                      "loc": {
12197                        "start": {
12198                          "line": 148,
12199                          "column": 51
12200                        },
12201                        "end": {
12202                          "line": 148,
12203                          "column": 54
12204                        }
12205                      }
12206                    },
12207                    "loc": {
12208                      "start": {
12209                        "line": 148,
12210                        "column": 46
12211                      },
12212                      "end": {
12213                        "line": 148,
12214                        "column": 56
12215                      }
12216                    }
12217                  },
12218                  "loc": {
12219                    "start": {
12220                      "line": 148,
12221                      "column": 46
12222                    },
12223                    "end": {
12224                      "line": 148,
12225                      "column": 56
12226                    }
12227                  }
12228                },
12229                "typeParameters": {
12230                  "type": "TSTypeParameterDeclaration",
12231                  "params": [
12232                    {
12233                      "type": "TSTypeParameter",
12234                      "name": {
12235                        "type": "Identifier",
12236                        "name": "U",
12237                        "decorators": [],
12238                        "loc": {
12239                          "start": {
12240                            "line": 148,
12241                            "column": 25
12242                          },
12243                          "end": {
12244                            "line": 148,
12245                            "column": 26
12246                          }
12247                        }
12248                      },
12249                      "loc": {
12250                        "start": {
12251                          "line": 148,
12252                          "column": 25
12253                        },
12254                        "end": {
12255                          "line": 148,
12256                          "column": 27
12257                        }
12258                      }
12259                    }
12260                  ],
12261                  "loc": {
12262                    "start": {
12263                      "line": 148,
12264                      "column": 24
12265                    },
12266                    "end": {
12267                      "line": 148,
12268                      "column": 27
12269                    }
12270                  }
12271                },
12272                "body": {
12273                  "type": "BlockStatement",
12274                  "statements": [
12275                    {
12276                      "type": "VariableDeclaration",
12277                      "declarations": [
12278                        {
12279                          "type": "VariableDeclarator",
12280                          "id": {
12281                            "type": "Identifier",
12282                            "name": "res",
12283                            "decorators": [],
12284                            "loc": {
12285                              "start": {
12286                                "line": 149,
12287                                "column": 13
12288                              },
12289                              "end": {
12290                                "line": 149,
12291                                "column": 16
12292                              }
12293                            }
12294                          },
12295                          "init": {
12296                            "type": "ETSNewClassInstanceExpression",
12297                            "typeReference": {
12298                              "type": "ETSTypeReference",
12299                              "part": {
12300                                "type": "ETSTypeReferencePart",
12301                                "name": {
12302                                  "type": "Identifier",
12303                                  "name": "ArrayAsListt",
12304                                  "decorators": [],
12305                                  "loc": {
12306                                    "start": {
12307                                      "line": 149,
12308                                      "column": 23
12309                                    },
12310                                    "end": {
12311                                      "line": 149,
12312                                      "column": 35
12313                                    }
12314                                  }
12315                                },
12316                                "typeParams": {
12317                                  "type": "TSTypeParameterInstantiation",
12318                                  "params": [
12319                                    {
12320                                      "type": "ETSTypeReference",
12321                                      "part": {
12322                                        "type": "ETSTypeReferencePart",
12323                                        "name": {
12324                                          "type": "Identifier",
12325                                          "name": "U",
12326                                          "decorators": [],
12327                                          "loc": {
12328                                            "start": {
12329                                              "line": 149,
12330                                              "column": 36
12331                                            },
12332                                            "end": {
12333                                              "line": 149,
12334                                              "column": 37
12335                                            }
12336                                          }
12337                                        },
12338                                        "loc": {
12339                                          "start": {
12340                                            "line": 149,
12341                                            "column": 36
12342                                          },
12343                                          "end": {
12344                                            "line": 149,
12345                                            "column": 38
12346                                          }
12347                                        }
12348                                      },
12349                                      "loc": {
12350                                        "start": {
12351                                          "line": 149,
12352                                          "column": 36
12353                                        },
12354                                        "end": {
12355                                          "line": 149,
12356                                          "column": 38
12357                                        }
12358                                      }
12359                                    }
12360                                  ],
12361                                  "loc": {
12362                                    "start": {
12363                                      "line": 149,
12364                                      "column": 35
12365                                    },
12366                                    "end": {
12367                                      "line": 149,
12368                                      "column": 38
12369                                    }
12370                                  }
12371                                },
12372                                "loc": {
12373                                  "start": {
12374                                    "line": 149,
12375                                    "column": 23
12376                                  },
12377                                  "end": {
12378                                    "line": 149,
12379                                    "column": 39
12380                                  }
12381                                }
12382                              },
12383                              "loc": {
12384                                "start": {
12385                                  "line": 149,
12386                                  "column": 23
12387                                },
12388                                "end": {
12389                                  "line": 149,
12390                                  "column": 39
12391                                }
12392                              }
12393                            },
12394                            "arguments": [],
12395                            "loc": {
12396                              "start": {
12397                                "line": 149,
12398                                "column": 19
12399                              },
12400                              "end": {
12401                                "line": 149,
12402                                "column": 41
12403                              }
12404                            }
12405                          },
12406                          "loc": {
12407                            "start": {
12408                              "line": 149,
12409                              "column": 13
12410                            },
12411                            "end": {
12412                              "line": 149,
12413                              "column": 41
12414                            }
12415                          }
12416                        }
12417                      ],
12418                      "kind": "let",
12419                      "loc": {
12420                        "start": {
12421                          "line": 149,
12422                          "column": 9
12423                        },
12424                        "end": {
12425                          "line": 149,
12426                          "column": 41
12427                        }
12428                      }
12429                    },
12430                    {
12431                      "type": "ForUpdateStatement",
12432                      "init": {
12433                        "type": "VariableDeclaration",
12434                        "declarations": [
12435                          {
12436                            "type": "VariableDeclarator",
12437                            "id": {
12438                              "type": "Identifier",
12439                              "name": "i",
12440                              "decorators": [],
12441                              "loc": {
12442                                "start": {
12443                                  "line": 150,
12444                                  "column": 18
12445                                },
12446                                "end": {
12447                                  "line": 150,
12448                                  "column": 19
12449                                }
12450                              }
12451                            },
12452                            "init": {
12453                              "type": "NumberLiteral",
12454                              "value": 0,
12455                              "loc": {
12456                                "start": {
12457                                  "line": 150,
12458                                  "column": 22
12459                                },
12460                                "end": {
12461                                  "line": 150,
12462                                  "column": 23
12463                                }
12464                              }
12465                            },
12466                            "loc": {
12467                              "start": {
12468                                "line": 150,
12469                                "column": 18
12470                              },
12471                              "end": {
12472                                "line": 150,
12473                                "column": 23
12474                              }
12475                            }
12476                          }
12477                        ],
12478                        "kind": "let",
12479                        "loc": {
12480                          "start": {
12481                            "line": 150,
12482                            "column": 14
12483                          },
12484                          "end": {
12485                            "line": 150,
12486                            "column": 23
12487                          }
12488                        }
12489                      },
12490                      "test": {
12491                        "type": "BinaryExpression",
12492                        "operator": "<",
12493                        "left": {
12494                          "type": "Identifier",
12495                          "name": "i",
12496                          "decorators": [],
12497                          "loc": {
12498                            "start": {
12499                              "line": 150,
12500                              "column": 25
12501                            },
12502                            "end": {
12503                              "line": 150,
12504                              "column": 26
12505                            }
12506                          }
12507                        },
12508                        "right": {
12509                          "type": "MemberExpression",
12510                          "object": {
12511                            "type": "ThisExpression",
12512                            "loc": {
12513                              "start": {
12514                                "line": 150,
12515                                "column": 29
12516                              },
12517                              "end": {
12518                                "line": 150,
12519                                "column": 33
12520                              }
12521                            }
12522                          },
12523                          "property": {
12524                            "type": "Identifier",
12525                            "name": "curSize",
12526                            "decorators": [],
12527                            "loc": {
12528                              "start": {
12529                                "line": 150,
12530                                "column": 34
12531                              },
12532                              "end": {
12533                                "line": 150,
12534                                "column": 41
12535                              }
12536                            }
12537                          },
12538                          "computed": false,
12539                          "optional": false,
12540                          "loc": {
12541                            "start": {
12542                              "line": 150,
12543                              "column": 29
12544                            },
12545                            "end": {
12546                              "line": 150,
12547                              "column": 41
12548                            }
12549                          }
12550                        },
12551                        "loc": {
12552                          "start": {
12553                            "line": 150,
12554                            "column": 25
12555                          },
12556                          "end": {
12557                            "line": 150,
12558                            "column": 41
12559                          }
12560                        }
12561                      },
12562                      "update": {
12563                        "type": "UpdateExpression",
12564                        "operator": "++",
12565                        "prefix": true,
12566                        "argument": {
12567                          "type": "Identifier",
12568                          "name": "i",
12569                          "decorators": [],
12570                          "loc": {
12571                            "start": {
12572                              "line": 150,
12573                              "column": 45
12574                            },
12575                            "end": {
12576                              "line": 150,
12577                              "column": 46
12578                            }
12579                          }
12580                        },
12581                        "loc": {
12582                          "start": {
12583                            "line": 150,
12584                            "column": 43
12585                          },
12586                          "end": {
12587                            "line": 150,
12588                            "column": 46
12589                          }
12590                        }
12591                      },
12592                      "body": {
12593                        "type": "BlockStatement",
12594                        "statements": [
12595                          {
12596                            "type": "ExpressionStatement",
12597                            "expression": {
12598                              "type": "CallExpression",
12599                              "callee": {
12600                                "type": "MemberExpression",
12601                                "object": {
12602                                  "type": "Identifier",
12603                                  "name": "res",
12604                                  "decorators": [],
12605                                  "loc": {
12606                                    "start": {
12607                                      "line": 151,
12608                                      "column": 13
12609                                    },
12610                                    "end": {
12611                                      "line": 151,
12612                                      "column": 16
12613                                    }
12614                                  }
12615                                },
12616                                "property": {
12617                                  "type": "Identifier",
12618                                  "name": "pushBack",
12619                                  "decorators": [],
12620                                  "loc": {
12621                                    "start": {
12622                                      "line": 151,
12623                                      "column": 17
12624                                    },
12625                                    "end": {
12626                                      "line": 151,
12627                                      "column": 25
12628                                    }
12629                                  }
12630                                },
12631                                "computed": false,
12632                                "optional": false,
12633                                "loc": {
12634                                  "start": {
12635                                    "line": 151,
12636                                    "column": 13
12637                                  },
12638                                  "end": {
12639                                    "line": 151,
12640                                    "column": 25
12641                                  }
12642                                }
12643                              },
12644                              "arguments": [
12645                                {
12646                                  "type": "CallExpression",
12647                                  "callee": {
12648                                    "type": "Identifier",
12649                                    "name": "fn",
12650                                    "decorators": [],
12651                                    "loc": {
12652                                      "start": {
12653                                        "line": 151,
12654                                        "column": 26
12655                                      },
12656                                      "end": {
12657                                        "line": 151,
12658                                        "column": 28
12659                                      }
12660                                    }
12661                                  },
12662                                  "arguments": [
12663                                    {
12664                                      "type": "MemberExpression",
12665                                      "object": {
12666                                        "type": "MemberExpression",
12667                                        "object": {
12668                                          "type": "ThisExpression",
12669                                          "loc": {
12670                                            "start": {
12671                                              "line": 151,
12672                                              "column": 29
12673                                            },
12674                                            "end": {
12675                                              "line": 151,
12676                                              "column": 33
12677                                            }
12678                                          }
12679                                        },
12680                                        "property": {
12681                                          "type": "Identifier",
12682                                          "name": "data",
12683                                          "decorators": [],
12684                                          "loc": {
12685                                            "start": {
12686                                              "line": 151,
12687                                              "column": 34
12688                                            },
12689                                            "end": {
12690                                              "line": 151,
12691                                              "column": 38
12692                                            }
12693                                          }
12694                                        },
12695                                        "computed": false,
12696                                        "optional": false,
12697                                        "loc": {
12698                                          "start": {
12699                                            "line": 151,
12700                                            "column": 29
12701                                          },
12702                                          "end": {
12703                                            "line": 151,
12704                                            "column": 38
12705                                          }
12706                                        }
12707                                      },
12708                                      "property": {
12709                                        "type": "Identifier",
12710                                        "name": "i",
12711                                        "decorators": [],
12712                                        "loc": {
12713                                          "start": {
12714                                            "line": 151,
12715                                            "column": 39
12716                                          },
12717                                          "end": {
12718                                            "line": 151,
12719                                            "column": 40
12720                                          }
12721                                        }
12722                                      },
12723                                      "computed": true,
12724                                      "optional": false,
12725                                      "loc": {
12726                                        "start": {
12727                                          "line": 151,
12728                                          "column": 29
12729                                        },
12730                                        "end": {
12731                                          "line": 151,
12732                                          "column": 41
12733                                        }
12734                                      }
12735                                    }
12736                                  ],
12737                                  "optional": false,
12738                                  "loc": {
12739                                    "start": {
12740                                      "line": 151,
12741                                      "column": 26
12742                                    },
12743                                    "end": {
12744                                      "line": 151,
12745                                      "column": 42
12746                                    }
12747                                  }
12748                                }
12749                              ],
12750                              "optional": false,
12751                              "loc": {
12752                                "start": {
12753                                  "line": 151,
12754                                  "column": 13
12755                                },
12756                                "end": {
12757                                  "line": 151,
12758                                  "column": 43
12759                                }
12760                              }
12761                            },
12762                            "loc": {
12763                              "start": {
12764                                "line": 151,
12765                                "column": 13
12766                              },
12767                              "end": {
12768                                "line": 151,
12769                                "column": 44
12770                              }
12771                            }
12772                          }
12773                        ],
12774                        "loc": {
12775                          "start": {
12776                            "line": 150,
12777                            "column": 48
12778                          },
12779                          "end": {
12780                            "line": 152,
12781                            "column": 10
12782                          }
12783                        }
12784                      },
12785                      "loc": {
12786                        "start": {
12787                          "line": 150,
12788                          "column": 9
12789                        },
12790                        "end": {
12791                          "line": 152,
12792                          "column": 10
12793                        }
12794                      }
12795                    },
12796                    {
12797                      "type": "ReturnStatement",
12798                      "argument": {
12799                        "type": "Identifier",
12800                        "name": "res",
12801                        "decorators": [],
12802                        "loc": {
12803                          "start": {
12804                            "line": 153,
12805                            "column": 16
12806                          },
12807                          "end": {
12808                            "line": 153,
12809                            "column": 19
12810                          }
12811                        }
12812                      },
12813                      "loc": {
12814                        "start": {
12815                          "line": 153,
12816                          "column": 9
12817                        },
12818                        "end": {
12819                          "line": 153,
12820                          "column": 20
12821                        }
12822                      }
12823                    }
12824                  ],
12825                  "loc": {
12826                    "start": {
12827                      "line": 148,
12828                      "column": 55
12829                    },
12830                    "end": {
12831                      "line": 154,
12832                      "column": 6
12833                    }
12834                  }
12835                },
12836                "loc": {
12837                  "start": {
12838                    "line": 148,
12839                    "column": 24
12840                  },
12841                  "end": {
12842                    "line": 154,
12843                    "column": 6
12844                  }
12845                }
12846              },
12847              "loc": {
12848                "start": {
12849                  "line": 148,
12850                  "column": 24
12851                },
12852                "end": {
12853                  "line": 154,
12854                  "column": 6
12855                }
12856              }
12857            },
12858            "overloads": [],
12859            "decorators": [],
12860            "loc": {
12861              "start": {
12862                "line": 148,
12863                "column": 5
12864              },
12865              "end": {
12866                "line": 154,
12867                "column": 6
12868              }
12869            }
12870          },
12871          {
12872            "type": "MethodDefinition",
12873            "key": {
12874              "type": "Identifier",
12875              "name": "fold",
12876              "decorators": [],
12877              "loc": {
12878                "start": {
12879                  "line": 156,
12880                  "column": 21
12881                },
12882                "end": {
12883                  "line": 156,
12884                  "column": 25
12885                }
12886              }
12887            },
12888            "kind": "method",
12889            "accessibility": "public",
12890            "static": false,
12891            "optional": false,
12892            "computed": false,
12893            "value": {
12894              "type": "FunctionExpression",
12895              "function": {
12896                "type": "ScriptFunction",
12897                "id": {
12898                  "type": "Identifier",
12899                  "name": "fold",
12900                  "decorators": [],
12901                  "loc": {
12902                    "start": {
12903                      "line": 156,
12904                      "column": 21
12905                    },
12906                    "end": {
12907                      "line": 156,
12908                      "column": 25
12909                    }
12910                  }
12911                },
12912                "generator": false,
12913                "async": false,
12914                "expression": false,
12915                "params": [
12916                  {
12917                    "type": "ETSParameterExpression",
12918                    "name": {
12919                      "type": "Identifier",
12920                      "name": "combine",
12921                      "typeAnnotation": {
12922                        "type": "ETSFunctionType",
12923                        "params": [
12924                          {
12925                            "type": "ETSParameterExpression",
12926                            "name": {
12927                              "type": "Identifier",
12928                              "name": "lhs",
12929                              "typeAnnotation": {
12930                                "type": "ETSTypeReference",
12931                                "part": {
12932                                  "type": "ETSTypeReferencePart",
12933                                  "name": {
12934                                    "type": "Identifier",
12935                                    "name": "T",
12936                                    "decorators": [],
12937                                    "loc": {
12938                                      "start": {
12939                                        "line": 156,
12940                                        "column": 41
12941                                      },
12942                                      "end": {
12943                                        "line": 156,
12944                                        "column": 42
12945                                      }
12946                                    }
12947                                  },
12948                                  "loc": {
12949                                    "start": {
12950                                      "line": 156,
12951                                      "column": 41
12952                                    },
12953                                    "end": {
12954                                      "line": 156,
12955                                      "column": 43
12956                                    }
12957                                  }
12958                                },
12959                                "loc": {
12960                                  "start": {
12961                                    "line": 156,
12962                                    "column": 41
12963                                  },
12964                                  "end": {
12965                                    "line": 156,
12966                                    "column": 43
12967                                  }
12968                                }
12969                              },
12970                              "decorators": [],
12971                              "loc": {
12972                                "start": {
12973                                  "line": 156,
12974                                  "column": 36
12975                                },
12976                                "end": {
12977                                  "line": 156,
12978                                  "column": 43
12979                                }
12980                              }
12981                            },
12982                            "loc": {
12983                              "start": {
12984                                "line": 156,
12985                                "column": 36
12986                              },
12987                              "end": {
12988                                "line": 156,
12989                                "column": 43
12990                              }
12991                            }
12992                          },
12993                          {
12994                            "type": "ETSParameterExpression",
12995                            "name": {
12996                              "type": "Identifier",
12997                              "name": "rhs",
12998                              "typeAnnotation": {
12999                                "type": "ETSTypeReference",
13000                                "part": {
13001                                  "type": "ETSTypeReferencePart",
13002                                  "name": {
13003                                    "type": "Identifier",
13004                                    "name": "T",
13005                                    "decorators": [],
13006                                    "loc": {
13007                                      "start": {
13008                                        "line": 156,
13009                                        "column": 49
13010                                      },
13011                                      "end": {
13012                                        "line": 156,
13013                                        "column": 50
13014                                      }
13015                                    }
13016                                  },
13017                                  "loc": {
13018                                    "start": {
13019                                      "line": 156,
13020                                      "column": 49
13021                                    },
13022                                    "end": {
13023                                      "line": 156,
13024                                      "column": 51
13025                                    }
13026                                  }
13027                                },
13028                                "loc": {
13029                                  "start": {
13030                                    "line": 156,
13031                                    "column": 49
13032                                  },
13033                                  "end": {
13034                                    "line": 156,
13035                                    "column": 51
13036                                  }
13037                                }
13038                              },
13039                              "decorators": [],
13040                              "loc": {
13041                                "start": {
13042                                  "line": 156,
13043                                  "column": 44
13044                                },
13045                                "end": {
13046                                  "line": 156,
13047                                  "column": 51
13048                                }
13049                              }
13050                            },
13051                            "loc": {
13052                              "start": {
13053                                "line": 156,
13054                                "column": 44
13055                              },
13056                              "end": {
13057                                "line": 156,
13058                                "column": 51
13059                              }
13060                            }
13061                          }
13062                        ],
13063                        "returnType": {
13064                          "type": "ETSTypeReference",
13065                          "part": {
13066                            "type": "ETSTypeReferencePart",
13067                            "name": {
13068                              "type": "Identifier",
13069                              "name": "T",
13070                              "decorators": [],
13071                              "loc": {
13072                                "start": {
13073                                  "line": 156,
13074                                  "column": 55
13075                                },
13076                                "end": {
13077                                  "line": 156,
13078                                  "column": 56
13079                                }
13080                              }
13081                            },
13082                            "loc": {
13083                              "start": {
13084                                "line": 156,
13085                                "column": 55
13086                              },
13087                              "end": {
13088                                "line": 156,
13089                                "column": 57
13090                              }
13091                            }
13092                          },
13093                          "loc": {
13094                            "start": {
13095                              "line": 156,
13096                              "column": 55
13097                            },
13098                            "end": {
13099                              "line": 156,
13100                              "column": 57
13101                            }
13102                          }
13103                        },
13104                        "loc": {
13105                          "start": {
13106                            "line": 156,
13107                            "column": 35
13108                          },
13109                          "end": {
13110                            "line": 156,
13111                            "column": 57
13112                          }
13113                        }
13114                      },
13115                      "decorators": [],
13116                      "loc": {
13117                        "start": {
13118                          "line": 156,
13119                          "column": 26
13120                        },
13121                        "end": {
13122                          "line": 156,
13123                          "column": 57
13124                        }
13125                      }
13126                    },
13127                    "loc": {
13128                      "start": {
13129                        "line": 156,
13130                        "column": 26
13131                      },
13132                      "end": {
13133                        "line": 156,
13134                        "column": 57
13135                      }
13136                    }
13137                  }
13138                ],
13139                "returnType": {
13140                  "type": "ETSUnionType",
13141                  "types": [
13142                    {
13143                      "type": "ETSTypeReference",
13144                      "part": {
13145                        "type": "ETSTypeReferencePart",
13146                        "name": {
13147                          "type": "Identifier",
13148                          "name": "T",
13149                          "decorators": [],
13150                          "loc": {
13151                            "start": {
13152                              "line": 156,
13153                              "column": 59
13154                            },
13155                            "end": {
13156                              "line": 156,
13157                              "column": 60
13158                            }
13159                          }
13160                        },
13161                        "loc": {
13162                          "start": {
13163                            "line": 156,
13164                            "column": 59
13165                          },
13166                          "end": {
13167                            "line": 156,
13168                            "column": 62
13169                          }
13170                        }
13171                      },
13172                      "loc": {
13173                        "start": {
13174                          "line": 156,
13175                          "column": 59
13176                        },
13177                        "end": {
13178                          "line": 156,
13179                          "column": 62
13180                        }
13181                      }
13182                    },
13183                    {
13184                      "type": "ETSNullType",
13185                      "loc": {
13186                        "start": {
13187                          "line": 156,
13188                          "column": 63
13189                        },
13190                        "end": {
13191                          "line": 156,
13192                          "column": 67
13193                        }
13194                      }
13195                    }
13196                  ],
13197                  "loc": {
13198                    "start": {
13199                      "line": 156,
13200                      "column": 59
13201                    },
13202                    "end": {
13203                      "line": 156,
13204                      "column": 67
13205                    }
13206                  }
13207                },
13208                "body": {
13209                  "type": "BlockStatement",
13210                  "statements": [
13211                    {
13212                      "type": "IfStatement",
13213                      "test": {
13214                        "type": "BinaryExpression",
13215                        "operator": ">",
13216                        "left": {
13217                          "type": "MemberExpression",
13218                          "object": {
13219                            "type": "ThisExpression",
13220                            "loc": {
13221                              "start": {
13222                                "line": 157,
13223                                "column": 13
13224                              },
13225                              "end": {
13226                                "line": 157,
13227                                "column": 17
13228                              }
13229                            }
13230                          },
13231                          "property": {
13232                            "type": "Identifier",
13233                            "name": "curSize",
13234                            "decorators": [],
13235                            "loc": {
13236                              "start": {
13237                                "line": 157,
13238                                "column": 18
13239                              },
13240                              "end": {
13241                                "line": 157,
13242                                "column": 25
13243                              }
13244                            }
13245                          },
13246                          "computed": false,
13247                          "optional": false,
13248                          "loc": {
13249                            "start": {
13250                              "line": 157,
13251                              "column": 13
13252                            },
13253                            "end": {
13254                              "line": 157,
13255                              "column": 25
13256                            }
13257                          }
13258                        },
13259                        "right": {
13260                          "type": "NumberLiteral",
13261                          "value": 0,
13262                          "loc": {
13263                            "start": {
13264                              "line": 157,
13265                              "column": 28
13266                            },
13267                            "end": {
13268                              "line": 157,
13269                              "column": 29
13270                            }
13271                          }
13272                        },
13273                        "loc": {
13274                          "start": {
13275                            "line": 157,
13276                            "column": 13
13277                          },
13278                          "end": {
13279                            "line": 157,
13280                            "column": 29
13281                          }
13282                        }
13283                      },
13284                      "consequent": {
13285                        "type": "BlockStatement",
13286                        "statements": [
13287                          {
13288                            "type": "VariableDeclaration",
13289                            "declarations": [
13290                              {
13291                                "type": "VariableDeclarator",
13292                                "id": {
13293                                  "type": "Identifier",
13294                                  "name": "res",
13295                                  "decorators": [],
13296                                  "loc": {
13297                                    "start": {
13298                                      "line": 158,
13299                                      "column": 17
13300                                    },
13301                                    "end": {
13302                                      "line": 158,
13303                                      "column": 20
13304                                    }
13305                                  }
13306                                },
13307                                "init": {
13308                                  "type": "MemberExpression",
13309                                  "object": {
13310                                    "type": "MemberExpression",
13311                                    "object": {
13312                                      "type": "ThisExpression",
13313                                      "loc": {
13314                                        "start": {
13315                                          "line": 158,
13316                                          "column": 23
13317                                        },
13318                                        "end": {
13319                                          "line": 158,
13320                                          "column": 27
13321                                        }
13322                                      }
13323                                    },
13324                                    "property": {
13325                                      "type": "Identifier",
13326                                      "name": "data",
13327                                      "decorators": [],
13328                                      "loc": {
13329                                        "start": {
13330                                          "line": 158,
13331                                          "column": 28
13332                                        },
13333                                        "end": {
13334                                          "line": 158,
13335                                          "column": 32
13336                                        }
13337                                      }
13338                                    },
13339                                    "computed": false,
13340                                    "optional": false,
13341                                    "loc": {
13342                                      "start": {
13343                                        "line": 158,
13344                                        "column": 23
13345                                      },
13346                                      "end": {
13347                                        "line": 158,
13348                                        "column": 32
13349                                      }
13350                                    }
13351                                  },
13352                                  "property": {
13353                                    "type": "NumberLiteral",
13354                                    "value": 0,
13355                                    "loc": {
13356                                      "start": {
13357                                        "line": 158,
13358                                        "column": 33
13359                                      },
13360                                      "end": {
13361                                        "line": 158,
13362                                        "column": 34
13363                                      }
13364                                    }
13365                                  },
13366                                  "computed": true,
13367                                  "optional": false,
13368                                  "loc": {
13369                                    "start": {
13370                                      "line": 158,
13371                                      "column": 23
13372                                    },
13373                                    "end": {
13374                                      "line": 158,
13375                                      "column": 35
13376                                    }
13377                                  }
13378                                },
13379                                "loc": {
13380                                  "start": {
13381                                    "line": 158,
13382                                    "column": 17
13383                                  },
13384                                  "end": {
13385                                    "line": 158,
13386                                    "column": 35
13387                                  }
13388                                }
13389                              }
13390                            ],
13391                            "kind": "let",
13392                            "loc": {
13393                              "start": {
13394                                "line": 158,
13395                                "column": 13
13396                              },
13397                              "end": {
13398                                "line": 158,
13399                                "column": 36
13400                              }
13401                            }
13402                          },
13403                          {
13404                            "type": "ForUpdateStatement",
13405                            "init": {
13406                              "type": "VariableDeclaration",
13407                              "declarations": [
13408                                {
13409                                  "type": "VariableDeclarator",
13410                                  "id": {
13411                                    "type": "Identifier",
13412                                    "name": "i",
13413                                    "decorators": [],
13414                                    "loc": {
13415                                      "start": {
13416                                        "line": 159,
13417                                        "column": 22
13418                                      },
13419                                      "end": {
13420                                        "line": 159,
13421                                        "column": 23
13422                                      }
13423                                    }
13424                                  },
13425                                  "init": {
13426                                    "type": "NumberLiteral",
13427                                    "value": 1,
13428                                    "loc": {
13429                                      "start": {
13430                                        "line": 159,
13431                                        "column": 26
13432                                      },
13433                                      "end": {
13434                                        "line": 159,
13435                                        "column": 27
13436                                      }
13437                                    }
13438                                  },
13439                                  "loc": {
13440                                    "start": {
13441                                      "line": 159,
13442                                      "column": 22
13443                                    },
13444                                    "end": {
13445                                      "line": 159,
13446                                      "column": 27
13447                                    }
13448                                  }
13449                                }
13450                              ],
13451                              "kind": "let",
13452                              "loc": {
13453                                "start": {
13454                                  "line": 159,
13455                                  "column": 18
13456                                },
13457                                "end": {
13458                                  "line": 159,
13459                                  "column": 27
13460                                }
13461                              }
13462                            },
13463                            "test": {
13464                              "type": "BinaryExpression",
13465                              "operator": "<",
13466                              "left": {
13467                                "type": "Identifier",
13468                                "name": "i",
13469                                "decorators": [],
13470                                "loc": {
13471                                  "start": {
13472                                    "line": 159,
13473                                    "column": 29
13474                                  },
13475                                  "end": {
13476                                    "line": 159,
13477                                    "column": 30
13478                                  }
13479                                }
13480                              },
13481                              "right": {
13482                                "type": "MemberExpression",
13483                                "object": {
13484                                  "type": "ThisExpression",
13485                                  "loc": {
13486                                    "start": {
13487                                      "line": 159,
13488                                      "column": 33
13489                                    },
13490                                    "end": {
13491                                      "line": 159,
13492                                      "column": 37
13493                                    }
13494                                  }
13495                                },
13496                                "property": {
13497                                  "type": "Identifier",
13498                                  "name": "curSize",
13499                                  "decorators": [],
13500                                  "loc": {
13501                                    "start": {
13502                                      "line": 159,
13503                                      "column": 38
13504                                    },
13505                                    "end": {
13506                                      "line": 159,
13507                                      "column": 45
13508                                    }
13509                                  }
13510                                },
13511                                "computed": false,
13512                                "optional": false,
13513                                "loc": {
13514                                  "start": {
13515                                    "line": 159,
13516                                    "column": 33
13517                                  },
13518                                  "end": {
13519                                    "line": 159,
13520                                    "column": 45
13521                                  }
13522                                }
13523                              },
13524                              "loc": {
13525                                "start": {
13526                                  "line": 159,
13527                                  "column": 29
13528                                },
13529                                "end": {
13530                                  "line": 159,
13531                                  "column": 45
13532                                }
13533                              }
13534                            },
13535                            "update": {
13536                              "type": "UpdateExpression",
13537                              "operator": "++",
13538                              "prefix": true,
13539                              "argument": {
13540                                "type": "Identifier",
13541                                "name": "i",
13542                                "decorators": [],
13543                                "loc": {
13544                                  "start": {
13545                                    "line": 159,
13546                                    "column": 49
13547                                  },
13548                                  "end": {
13549                                    "line": 159,
13550                                    "column": 50
13551                                  }
13552                                }
13553                              },
13554                              "loc": {
13555                                "start": {
13556                                  "line": 159,
13557                                  "column": 47
13558                                },
13559                                "end": {
13560                                  "line": 159,
13561                                  "column": 50
13562                                }
13563                              }
13564                            },
13565                            "body": {
13566                              "type": "BlockStatement",
13567                              "statements": [
13568                                {
13569                                  "type": "ExpressionStatement",
13570                                  "expression": {
13571                                    "type": "AssignmentExpression",
13572                                    "operator": "=",
13573                                    "left": {
13574                                      "type": "Identifier",
13575                                      "name": "res",
13576                                      "decorators": [],
13577                                      "loc": {
13578                                        "start": {
13579                                          "line": 160,
13580                                          "column": 17
13581                                        },
13582                                        "end": {
13583                                          "line": 160,
13584                                          "column": 20
13585                                        }
13586                                      }
13587                                    },
13588                                    "right": {
13589                                      "type": "CallExpression",
13590                                      "callee": {
13591                                        "type": "Identifier",
13592                                        "name": "combine",
13593                                        "decorators": [],
13594                                        "loc": {
13595                                          "start": {
13596                                            "line": 160,
13597                                            "column": 23
13598                                          },
13599                                          "end": {
13600                                            "line": 160,
13601                                            "column": 30
13602                                          }
13603                                        }
13604                                      },
13605                                      "arguments": [
13606                                        {
13607                                          "type": "Identifier",
13608                                          "name": "res",
13609                                          "decorators": [],
13610                                          "loc": {
13611                                            "start": {
13612                                              "line": 160,
13613                                              "column": 31
13614                                            },
13615                                            "end": {
13616                                              "line": 160,
13617                                              "column": 34
13618                                            }
13619                                          }
13620                                        },
13621                                        {
13622                                          "type": "MemberExpression",
13623                                          "object": {
13624                                            "type": "MemberExpression",
13625                                            "object": {
13626                                              "type": "ThisExpression",
13627                                              "loc": {
13628                                                "start": {
13629                                                  "line": 160,
13630                                                  "column": 36
13631                                                },
13632                                                "end": {
13633                                                  "line": 160,
13634                                                  "column": 40
13635                                                }
13636                                              }
13637                                            },
13638                                            "property": {
13639                                              "type": "Identifier",
13640                                              "name": "data",
13641                                              "decorators": [],
13642                                              "loc": {
13643                                                "start": {
13644                                                  "line": 160,
13645                                                  "column": 41
13646                                                },
13647                                                "end": {
13648                                                  "line": 160,
13649                                                  "column": 45
13650                                                }
13651                                              }
13652                                            },
13653                                            "computed": false,
13654                                            "optional": false,
13655                                            "loc": {
13656                                              "start": {
13657                                                "line": 160,
13658                                                "column": 36
13659                                              },
13660                                              "end": {
13661                                                "line": 160,
13662                                                "column": 45
13663                                              }
13664                                            }
13665                                          },
13666                                          "property": {
13667                                            "type": "Identifier",
13668                                            "name": "i",
13669                                            "decorators": [],
13670                                            "loc": {
13671                                              "start": {
13672                                                "line": 160,
13673                                                "column": 46
13674                                              },
13675                                              "end": {
13676                                                "line": 160,
13677                                                "column": 47
13678                                              }
13679                                            }
13680                                          },
13681                                          "computed": true,
13682                                          "optional": false,
13683                                          "loc": {
13684                                            "start": {
13685                                              "line": 160,
13686                                              "column": 36
13687                                            },
13688                                            "end": {
13689                                              "line": 160,
13690                                              "column": 48
13691                                            }
13692                                          }
13693                                        }
13694                                      ],
13695                                      "optional": false,
13696                                      "loc": {
13697                                        "start": {
13698                                          "line": 160,
13699                                          "column": 23
13700                                        },
13701                                        "end": {
13702                                          "line": 160,
13703                                          "column": 49
13704                                        }
13705                                      }
13706                                    },
13707                                    "loc": {
13708                                      "start": {
13709                                        "line": 160,
13710                                        "column": 17
13711                                      },
13712                                      "end": {
13713                                        "line": 160,
13714                                        "column": 49
13715                                      }
13716                                    }
13717                                  },
13718                                  "loc": {
13719                                    "start": {
13720                                      "line": 160,
13721                                      "column": 17
13722                                    },
13723                                    "end": {
13724                                      "line": 160,
13725                                      "column": 50
13726                                    }
13727                                  }
13728                                }
13729                              ],
13730                              "loc": {
13731                                "start": {
13732                                  "line": 159,
13733                                  "column": 52
13734                                },
13735                                "end": {
13736                                  "line": 161,
13737                                  "column": 14
13738                                }
13739                              }
13740                            },
13741                            "loc": {
13742                              "start": {
13743                                "line": 159,
13744                                "column": 13
13745                              },
13746                              "end": {
13747                                "line": 161,
13748                                "column": 14
13749                              }
13750                            }
13751                          },
13752                          {
13753                            "type": "ReturnStatement",
13754                            "argument": {
13755                              "type": "Identifier",
13756                              "name": "res",
13757                              "decorators": [],
13758                              "loc": {
13759                                "start": {
13760                                  "line": 162,
13761                                  "column": 20
13762                                },
13763                                "end": {
13764                                  "line": 162,
13765                                  "column": 23
13766                                }
13767                              }
13768                            },
13769                            "loc": {
13770                              "start": {
13771                                "line": 162,
13772                                "column": 13
13773                              },
13774                              "end": {
13775                                "line": 162,
13776                                "column": 24
13777                              }
13778                            }
13779                          }
13780                        ],
13781                        "loc": {
13782                          "start": {
13783                            "line": 157,
13784                            "column": 31
13785                          },
13786                          "end": {
13787                            "line": 163,
13788                            "column": 10
13789                          }
13790                        }
13791                      },
13792                      "alternate": null,
13793                      "loc": {
13794                        "start": {
13795                          "line": 157,
13796                          "column": 9
13797                        },
13798                        "end": {
13799                          "line": 163,
13800                          "column": 10
13801                        }
13802                      }
13803                    },
13804                    {
13805                      "type": "TryStatement",
13806                      "block": {
13807                        "type": "BlockStatement",
13808                        "statements": [
13809                          {
13810                            "type": "ThrowStatement",
13811                            "argument": {
13812                              "type": "ETSNewClassInstanceExpression",
13813                              "typeReference": {
13814                                "type": "ETSTypeReference",
13815                                "part": {
13816                                  "type": "ETSTypeReferencePart",
13817                                  "name": {
13818                                    "type": "Identifier",
13819                                    "name": "NoDataException",
13820                                    "decorators": [],
13821                                    "loc": {
13822                                      "start": {
13823                                        "line": 165,
13824                                        "column": 19
13825                                      },
13826                                      "end": {
13827                                        "line": 165,
13828                                        "column": 34
13829                                      }
13830                                    }
13831                                  },
13832                                  "loc": {
13833                                    "start": {
13834                                      "line": 165,
13835                                      "column": 19
13836                                    },
13837                                    "end": {
13838                                      "line": 165,
13839                                      "column": 35
13840                                    }
13841                                  }
13842                                },
13843                                "loc": {
13844                                  "start": {
13845                                    "line": 165,
13846                                    "column": 19
13847                                  },
13848                                  "end": {
13849                                    "line": 165,
13850                                    "column": 35
13851                                  }
13852                                }
13853                              },
13854                              "arguments": [],
13855                              "loc": {
13856                                "start": {
13857                                  "line": 165,
13858                                  "column": 15
13859                                },
13860                                "end": {
13861                                  "line": 165,
13862                                  "column": 37
13863                                }
13864                              }
13865                            },
13866                            "loc": {
13867                              "start": {
13868                                "line": 165,
13869                                "column": 9
13870                              },
13871                              "end": {
13872                                "line": 165,
13873                                "column": 37
13874                              }
13875                            }
13876                          }
13877                        ],
13878                        "loc": {
13879                          "start": {
13880                            "line": 164,
13881                            "column": 12
13882                          },
13883                          "end": {
13884                            "line": 166,
13885                            "column": 10
13886                          }
13887                        }
13888                      },
13889                      "handler": [
13890                        {
13891                          "type": "CatchClause",
13892                          "body": {
13893                            "type": "BlockStatement",
13894                            "statements": [],
13895                            "loc": {
13896                              "start": {
13897                                "line": 166,
13898                                "column": 20
13899                              },
13900                              "end": {
13901                                "line": 166,
13902                                "column": 22
13903                              }
13904                            }
13905                          },
13906                          "param": {
13907                            "type": "Identifier",
13908                            "name": "a",
13909                            "decorators": [],
13910                            "loc": {
13911                              "start": {
13912                                "line": 166,
13913                                "column": 18
13914                              },
13915                              "end": {
13916                                "line": 166,
13917                                "column": 19
13918                              }
13919                            }
13920                          },
13921                          "loc": {
13922                            "start": {
13923                              "line": 166,
13924                              "column": 11
13925                            },
13926                            "end": {
13927                              "line": 166,
13928                              "column": 22
13929                            }
13930                          }
13931                        }
13932                      ],
13933                      "finalizer": null,
13934                      "loc": {
13935                        "start": {
13936                          "line": 164,
13937                          "column": 9
13938                        },
13939                        "end": {
13940                          "line": 166,
13941                          "column": 22
13942                        }
13943                      }
13944                    },
13945                    {
13946                      "type": "ReturnStatement",
13947                      "argument": {
13948                        "type": "NullLiteral",
13949                        "value": null,
13950                        "loc": {
13951                          "start": {
13952                            "line": 167,
13953                            "column": 16
13954                          },
13955                          "end": {
13956                            "line": 167,
13957                            "column": 20
13958                          }
13959                        }
13960                      },
13961                      "loc": {
13962                        "start": {
13963                          "line": 167,
13964                          "column": 9
13965                        },
13966                        "end": {
13967                          "line": 167,
13968                          "column": 21
13969                        }
13970                      }
13971                    }
13972                  ],
13973                  "loc": {
13974                    "start": {
13975                      "line": 156,
13976                      "column": 68
13977                    },
13978                    "end": {
13979                      "line": 168,
13980                      "column": 6
13981                    }
13982                  }
13983                },
13984                "loc": {
13985                  "start": {
13986                    "line": 156,
13987                    "column": 25
13988                  },
13989                  "end": {
13990                    "line": 168,
13991                    "column": 6
13992                  }
13993                }
13994              },
13995              "loc": {
13996                "start": {
13997                  "line": 156,
13998                  "column": 25
13999                },
14000                "end": {
14001                  "line": 168,
14002                  "column": 6
14003                }
14004              }
14005            },
14006            "overloads": [],
14007            "decorators": [],
14008            "loc": {
14009              "start": {
14010                "line": 156,
14011                "column": 5
14012              },
14013              "end": {
14014                "line": 168,
14015                "column": 6
14016              }
14017            }
14018          },
14019          {
14020            "type": "MethodDefinition",
14021            "key": {
14022              "type": "Identifier",
14023              "name": "foldWith",
14024              "decorators": [],
14025              "loc": {
14026                "start": {
14027                  "line": 170,
14028                  "column": 21
14029                },
14030                "end": {
14031                  "line": 170,
14032                  "column": 29
14033                }
14034              }
14035            },
14036            "kind": "method",
14037            "accessibility": "public",
14038            "static": false,
14039            "optional": false,
14040            "computed": false,
14041            "value": {
14042              "type": "FunctionExpression",
14043              "function": {
14044                "type": "ScriptFunction",
14045                "id": {
14046                  "type": "Identifier",
14047                  "name": "foldWith",
14048                  "decorators": [],
14049                  "loc": {
14050                    "start": {
14051                      "line": 170,
14052                      "column": 21
14053                    },
14054                    "end": {
14055                      "line": 170,
14056                      "column": 29
14057                    }
14058                  }
14059                },
14060                "generator": false,
14061                "async": false,
14062                "expression": false,
14063                "params": [
14064                  {
14065                    "type": "ETSParameterExpression",
14066                    "name": {
14067                      "type": "Identifier",
14068                      "name": "combine",
14069                      "typeAnnotation": {
14070                        "type": "ETSFunctionType",
14071                        "params": [
14072                          {
14073                            "type": "ETSParameterExpression",
14074                            "name": {
14075                              "type": "Identifier",
14076                              "name": "lhs",
14077                              "typeAnnotation": {
14078                                "type": "ETSTypeReference",
14079                                "part": {
14080                                  "type": "ETSTypeReferencePart",
14081                                  "name": {
14082                                    "type": "Identifier",
14083                                    "name": "U",
14084                                    "decorators": [],
14085                                    "loc": {
14086                                      "start": {
14087                                        "line": 170,
14088                                        "column": 48
14089                                      },
14090                                      "end": {
14091                                        "line": 170,
14092                                        "column": 49
14093                                      }
14094                                    }
14095                                  },
14096                                  "loc": {
14097                                    "start": {
14098                                      "line": 170,
14099                                      "column": 48
14100                                    },
14101                                    "end": {
14102                                      "line": 170,
14103                                      "column": 50
14104                                    }
14105                                  }
14106                                },
14107                                "loc": {
14108                                  "start": {
14109                                    "line": 170,
14110                                    "column": 48
14111                                  },
14112                                  "end": {
14113                                    "line": 170,
14114                                    "column": 50
14115                                  }
14116                                }
14117                              },
14118                              "decorators": [],
14119                              "loc": {
14120                                "start": {
14121                                  "line": 170,
14122                                  "column": 43
14123                                },
14124                                "end": {
14125                                  "line": 170,
14126                                  "column": 50
14127                                }
14128                              }
14129                            },
14130                            "loc": {
14131                              "start": {
14132                                "line": 170,
14133                                "column": 43
14134                              },
14135                              "end": {
14136                                "line": 170,
14137                                "column": 50
14138                              }
14139                            }
14140                          },
14141                          {
14142                            "type": "ETSParameterExpression",
14143                            "name": {
14144                              "type": "Identifier",
14145                              "name": "rhs",
14146                              "typeAnnotation": {
14147                                "type": "ETSTypeReference",
14148                                "part": {
14149                                  "type": "ETSTypeReferencePart",
14150                                  "name": {
14151                                    "type": "Identifier",
14152                                    "name": "T",
14153                                    "decorators": [],
14154                                    "loc": {
14155                                      "start": {
14156                                        "line": 170,
14157                                        "column": 56
14158                                      },
14159                                      "end": {
14160                                        "line": 170,
14161                                        "column": 57
14162                                      }
14163                                    }
14164                                  },
14165                                  "loc": {
14166                                    "start": {
14167                                      "line": 170,
14168                                      "column": 56
14169                                    },
14170                                    "end": {
14171                                      "line": 170,
14172                                      "column": 58
14173                                    }
14174                                  }
14175                                },
14176                                "loc": {
14177                                  "start": {
14178                                    "line": 170,
14179                                    "column": 56
14180                                  },
14181                                  "end": {
14182                                    "line": 170,
14183                                    "column": 58
14184                                  }
14185                                }
14186                              },
14187                              "decorators": [],
14188                              "loc": {
14189                                "start": {
14190                                  "line": 170,
14191                                  "column": 51
14192                                },
14193                                "end": {
14194                                  "line": 170,
14195                                  "column": 58
14196                                }
14197                              }
14198                            },
14199                            "loc": {
14200                              "start": {
14201                                "line": 170,
14202                                "column": 51
14203                              },
14204                              "end": {
14205                                "line": 170,
14206                                "column": 58
14207                              }
14208                            }
14209                          }
14210                        ],
14211                        "returnType": {
14212                          "type": "ETSTypeReference",
14213                          "part": {
14214                            "type": "ETSTypeReferencePart",
14215                            "name": {
14216                              "type": "Identifier",
14217                              "name": "U",
14218                              "decorators": [],
14219                              "loc": {
14220                                "start": {
14221                                  "line": 170,
14222                                  "column": 62
14223                                },
14224                                "end": {
14225                                  "line": 170,
14226                                  "column": 63
14227                                }
14228                              }
14229                            },
14230                            "loc": {
14231                              "start": {
14232                                "line": 170,
14233                                "column": 62
14234                              },
14235                              "end": {
14236                                "line": 170,
14237                                "column": 64
14238                              }
14239                            }
14240                          },
14241                          "loc": {
14242                            "start": {
14243                              "line": 170,
14244                              "column": 62
14245                            },
14246                            "end": {
14247                              "line": 170,
14248                              "column": 64
14249                            }
14250                          }
14251                        },
14252                        "loc": {
14253                          "start": {
14254                            "line": 170,
14255                            "column": 42
14256                          },
14257                          "end": {
14258                            "line": 170,
14259                            "column": 64
14260                          }
14261                        }
14262                      },
14263                      "decorators": [],
14264                      "loc": {
14265                        "start": {
14266                          "line": 170,
14267                          "column": 33
14268                        },
14269                        "end": {
14270                          "line": 170,
14271                          "column": 64
14272                        }
14273                      }
14274                    },
14275                    "loc": {
14276                      "start": {
14277                        "line": 170,
14278                        "column": 33
14279                      },
14280                      "end": {
14281                        "line": 170,
14282                        "column": 64
14283                      }
14284                    }
14285                  },
14286                  {
14287                    "type": "ETSParameterExpression",
14288                    "name": {
14289                      "type": "Identifier",
14290                      "name": "initVal",
14291                      "typeAnnotation": {
14292                        "type": "ETSTypeReference",
14293                        "part": {
14294                          "type": "ETSTypeReferencePart",
14295                          "name": {
14296                            "type": "Identifier",
14297                            "name": "U",
14298                            "decorators": [],
14299                            "loc": {
14300                              "start": {
14301                                "line": 170,
14302                                "column": 74
14303                              },
14304                              "end": {
14305                                "line": 170,
14306                                "column": 75
14307                              }
14308                            }
14309                          },
14310                          "loc": {
14311                            "start": {
14312                              "line": 170,
14313                              "column": 74
14314                            },
14315                            "end": {
14316                              "line": 170,
14317                              "column": 76
14318                            }
14319                          }
14320                        },
14321                        "loc": {
14322                          "start": {
14323                            "line": 170,
14324                            "column": 74
14325                          },
14326                          "end": {
14327                            "line": 170,
14328                            "column": 76
14329                          }
14330                        }
14331                      },
14332                      "decorators": [],
14333                      "loc": {
14334                        "start": {
14335                          "line": 170,
14336                          "column": 65
14337                        },
14338                        "end": {
14339                          "line": 170,
14340                          "column": 76
14341                        }
14342                      }
14343                    },
14344                    "loc": {
14345                      "start": {
14346                        "line": 170,
14347                        "column": 65
14348                      },
14349                      "end": {
14350                        "line": 170,
14351                        "column": 76
14352                      }
14353                    }
14354                  }
14355                ],
14356                "returnType": {
14357                  "type": "ETSTypeReference",
14358                  "part": {
14359                    "type": "ETSTypeReferencePart",
14360                    "name": {
14361                      "type": "Identifier",
14362                      "name": "U",
14363                      "decorators": [],
14364                      "loc": {
14365                        "start": {
14366                          "line": 170,
14367                          "column": 78
14368                        },
14369                        "end": {
14370                          "line": 170,
14371                          "column": 79
14372                        }
14373                      }
14374                    },
14375                    "loc": {
14376                      "start": {
14377                        "line": 170,
14378                        "column": 78
14379                      },
14380                      "end": {
14381                        "line": 170,
14382                        "column": 81
14383                      }
14384                    }
14385                  },
14386                  "loc": {
14387                    "start": {
14388                      "line": 170,
14389                      "column": 78
14390                    },
14391                    "end": {
14392                      "line": 170,
14393                      "column": 81
14394                    }
14395                  }
14396                },
14397                "typeParameters": {
14398                  "type": "TSTypeParameterDeclaration",
14399                  "params": [
14400                    {
14401                      "type": "TSTypeParameter",
14402                      "name": {
14403                        "type": "Identifier",
14404                        "name": "U",
14405                        "decorators": [],
14406                        "loc": {
14407                          "start": {
14408                            "line": 170,
14409                            "column": 30
14410                          },
14411                          "end": {
14412                            "line": 170,
14413                            "column": 31
14414                          }
14415                        }
14416                      },
14417                      "loc": {
14418                        "start": {
14419                          "line": 170,
14420                          "column": 30
14421                        },
14422                        "end": {
14423                          "line": 170,
14424                          "column": 32
14425                        }
14426                      }
14427                    }
14428                  ],
14429                  "loc": {
14430                    "start": {
14431                      "line": 170,
14432                      "column": 29
14433                    },
14434                    "end": {
14435                      "line": 170,
14436                      "column": 32
14437                    }
14438                  }
14439                },
14440                "body": {
14441                  "type": "BlockStatement",
14442                  "statements": [
14443                    {
14444                      "type": "VariableDeclaration",
14445                      "declarations": [
14446                        {
14447                          "type": "VariableDeclarator",
14448                          "id": {
14449                            "type": "Identifier",
14450                            "name": "res",
14451                            "decorators": [],
14452                            "loc": {
14453                              "start": {
14454                                "line": 171,
14455                                "column": 13
14456                              },
14457                              "end": {
14458                                "line": 171,
14459                                "column": 16
14460                              }
14461                            }
14462                          },
14463                          "init": {
14464                            "type": "Identifier",
14465                            "name": "initVal",
14466                            "decorators": [],
14467                            "loc": {
14468                              "start": {
14469                                "line": 171,
14470                                "column": 19
14471                              },
14472                              "end": {
14473                                "line": 171,
14474                                "column": 26
14475                              }
14476                            }
14477                          },
14478                          "loc": {
14479                            "start": {
14480                              "line": 171,
14481                              "column": 13
14482                            },
14483                            "end": {
14484                              "line": 171,
14485                              "column": 26
14486                            }
14487                          }
14488                        }
14489                      ],
14490                      "kind": "let",
14491                      "loc": {
14492                        "start": {
14493                          "line": 171,
14494                          "column": 9
14495                        },
14496                        "end": {
14497                          "line": 171,
14498                          "column": 27
14499                        }
14500                      }
14501                    },
14502                    {
14503                      "type": "ForUpdateStatement",
14504                      "init": {
14505                        "type": "VariableDeclaration",
14506                        "declarations": [
14507                          {
14508                            "type": "VariableDeclarator",
14509                            "id": {
14510                              "type": "Identifier",
14511                              "name": "i",
14512                              "decorators": [],
14513                              "loc": {
14514                                "start": {
14515                                  "line": 172,
14516                                  "column": 18
14517                                },
14518                                "end": {
14519                                  "line": 172,
14520                                  "column": 19
14521                                }
14522                              }
14523                            },
14524                            "init": {
14525                              "type": "NumberLiteral",
14526                              "value": 0,
14527                              "loc": {
14528                                "start": {
14529                                  "line": 172,
14530                                  "column": 22
14531                                },
14532                                "end": {
14533                                  "line": 172,
14534                                  "column": 23
14535                                }
14536                              }
14537                            },
14538                            "loc": {
14539                              "start": {
14540                                "line": 172,
14541                                "column": 18
14542                              },
14543                              "end": {
14544                                "line": 172,
14545                                "column": 23
14546                              }
14547                            }
14548                          }
14549                        ],
14550                        "kind": "let",
14551                        "loc": {
14552                          "start": {
14553                            "line": 172,
14554                            "column": 14
14555                          },
14556                          "end": {
14557                            "line": 172,
14558                            "column": 23
14559                          }
14560                        }
14561                      },
14562                      "test": {
14563                        "type": "BinaryExpression",
14564                        "operator": "<",
14565                        "left": {
14566                          "type": "Identifier",
14567                          "name": "i",
14568                          "decorators": [],
14569                          "loc": {
14570                            "start": {
14571                              "line": 172,
14572                              "column": 25
14573                            },
14574                            "end": {
14575                              "line": 172,
14576                              "column": 26
14577                            }
14578                          }
14579                        },
14580                        "right": {
14581                          "type": "MemberExpression",
14582                          "object": {
14583                            "type": "ThisExpression",
14584                            "loc": {
14585                              "start": {
14586                                "line": 172,
14587                                "column": 29
14588                              },
14589                              "end": {
14590                                "line": 172,
14591                                "column": 33
14592                              }
14593                            }
14594                          },
14595                          "property": {
14596                            "type": "Identifier",
14597                            "name": "curSize",
14598                            "decorators": [],
14599                            "loc": {
14600                              "start": {
14601                                "line": 172,
14602                                "column": 34
14603                              },
14604                              "end": {
14605                                "line": 172,
14606                                "column": 41
14607                              }
14608                            }
14609                          },
14610                          "computed": false,
14611                          "optional": false,
14612                          "loc": {
14613                            "start": {
14614                              "line": 172,
14615                              "column": 29
14616                            },
14617                            "end": {
14618                              "line": 172,
14619                              "column": 41
14620                            }
14621                          }
14622                        },
14623                        "loc": {
14624                          "start": {
14625                            "line": 172,
14626                            "column": 25
14627                          },
14628                          "end": {
14629                            "line": 172,
14630                            "column": 41
14631                          }
14632                        }
14633                      },
14634                      "update": {
14635                        "type": "UpdateExpression",
14636                        "operator": "++",
14637                        "prefix": true,
14638                        "argument": {
14639                          "type": "Identifier",
14640                          "name": "i",
14641                          "decorators": [],
14642                          "loc": {
14643                            "start": {
14644                              "line": 172,
14645                              "column": 45
14646                            },
14647                            "end": {
14648                              "line": 172,
14649                              "column": 46
14650                            }
14651                          }
14652                        },
14653                        "loc": {
14654                          "start": {
14655                            "line": 172,
14656                            "column": 43
14657                          },
14658                          "end": {
14659                            "line": 172,
14660                            "column": 46
14661                          }
14662                        }
14663                      },
14664                      "body": {
14665                        "type": "BlockStatement",
14666                        "statements": [
14667                          {
14668                            "type": "ExpressionStatement",
14669                            "expression": {
14670                              "type": "AssignmentExpression",
14671                              "operator": "=",
14672                              "left": {
14673                                "type": "Identifier",
14674                                "name": "res",
14675                                "decorators": [],
14676                                "loc": {
14677                                  "start": {
14678                                    "line": 173,
14679                                    "column": 13
14680                                  },
14681                                  "end": {
14682                                    "line": 173,
14683                                    "column": 16
14684                                  }
14685                                }
14686                              },
14687                              "right": {
14688                                "type": "CallExpression",
14689                                "callee": {
14690                                  "type": "Identifier",
14691                                  "name": "combine",
14692                                  "decorators": [],
14693                                  "loc": {
14694                                    "start": {
14695                                      "line": 173,
14696                                      "column": 19
14697                                    },
14698                                    "end": {
14699                                      "line": 173,
14700                                      "column": 26
14701                                    }
14702                                  }
14703                                },
14704                                "arguments": [
14705                                  {
14706                                    "type": "Identifier",
14707                                    "name": "res",
14708                                    "decorators": [],
14709                                    "loc": {
14710                                      "start": {
14711                                        "line": 173,
14712                                        "column": 27
14713                                      },
14714                                      "end": {
14715                                        "line": 173,
14716                                        "column": 30
14717                                      }
14718                                    }
14719                                  },
14720                                  {
14721                                    "type": "MemberExpression",
14722                                    "object": {
14723                                      "type": "MemberExpression",
14724                                      "object": {
14725                                        "type": "ThisExpression",
14726                                        "loc": {
14727                                          "start": {
14728                                            "line": 173,
14729                                            "column": 32
14730                                          },
14731                                          "end": {
14732                                            "line": 173,
14733                                            "column": 36
14734                                          }
14735                                        }
14736                                      },
14737                                      "property": {
14738                                        "type": "Identifier",
14739                                        "name": "data",
14740                                        "decorators": [],
14741                                        "loc": {
14742                                          "start": {
14743                                            "line": 173,
14744                                            "column": 37
14745                                          },
14746                                          "end": {
14747                                            "line": 173,
14748                                            "column": 41
14749                                          }
14750                                        }
14751                                      },
14752                                      "computed": false,
14753                                      "optional": false,
14754                                      "loc": {
14755                                        "start": {
14756                                          "line": 173,
14757                                          "column": 32
14758                                        },
14759                                        "end": {
14760                                          "line": 173,
14761                                          "column": 41
14762                                        }
14763                                      }
14764                                    },
14765                                    "property": {
14766                                      "type": "Identifier",
14767                                      "name": "i",
14768                                      "decorators": [],
14769                                      "loc": {
14770                                        "start": {
14771                                          "line": 173,
14772                                          "column": 42
14773                                        },
14774                                        "end": {
14775                                          "line": 173,
14776                                          "column": 43
14777                                        }
14778                                      }
14779                                    },
14780                                    "computed": true,
14781                                    "optional": false,
14782                                    "loc": {
14783                                      "start": {
14784                                        "line": 173,
14785                                        "column": 32
14786                                      },
14787                                      "end": {
14788                                        "line": 173,
14789                                        "column": 44
14790                                      }
14791                                    }
14792                                  }
14793                                ],
14794                                "optional": false,
14795                                "loc": {
14796                                  "start": {
14797                                    "line": 173,
14798                                    "column": 19
14799                                  },
14800                                  "end": {
14801                                    "line": 173,
14802                                    "column": 45
14803                                  }
14804                                }
14805                              },
14806                              "loc": {
14807                                "start": {
14808                                  "line": 173,
14809                                  "column": 13
14810                                },
14811                                "end": {
14812                                  "line": 173,
14813                                  "column": 45
14814                                }
14815                              }
14816                            },
14817                            "loc": {
14818                              "start": {
14819                                "line": 173,
14820                                "column": 13
14821                              },
14822                              "end": {
14823                                "line": 173,
14824                                "column": 46
14825                              }
14826                            }
14827                          }
14828                        ],
14829                        "loc": {
14830                          "start": {
14831                            "line": 172,
14832                            "column": 48
14833                          },
14834                          "end": {
14835                            "line": 174,
14836                            "column": 10
14837                          }
14838                        }
14839                      },
14840                      "loc": {
14841                        "start": {
14842                          "line": 172,
14843                          "column": 9
14844                        },
14845                        "end": {
14846                          "line": 174,
14847                          "column": 10
14848                        }
14849                      }
14850                    },
14851                    {
14852                      "type": "ReturnStatement",
14853                      "argument": {
14854                        "type": "Identifier",
14855                        "name": "res",
14856                        "decorators": [],
14857                        "loc": {
14858                          "start": {
14859                            "line": 175,
14860                            "column": 16
14861                          },
14862                          "end": {
14863                            "line": 175,
14864                            "column": 19
14865                          }
14866                        }
14867                      },
14868                      "loc": {
14869                        "start": {
14870                          "line": 175,
14871                          "column": 9
14872                        },
14873                        "end": {
14874                          "line": 175,
14875                          "column": 20
14876                        }
14877                      }
14878                    }
14879                  ],
14880                  "loc": {
14881                    "start": {
14882                      "line": 170,
14883                      "column": 80
14884                    },
14885                    "end": {
14886                      "line": 176,
14887                      "column": 6
14888                    }
14889                  }
14890                },
14891                "loc": {
14892                  "start": {
14893                    "line": 170,
14894                    "column": 29
14895                  },
14896                  "end": {
14897                    "line": 176,
14898                    "column": 6
14899                  }
14900                }
14901              },
14902              "loc": {
14903                "start": {
14904                  "line": 170,
14905                  "column": 29
14906                },
14907                "end": {
14908                  "line": 176,
14909                  "column": 6
14910                }
14911              }
14912            },
14913            "overloads": [],
14914            "decorators": [],
14915            "loc": {
14916              "start": {
14917                "line": 170,
14918                "column": 5
14919              },
14920              "end": {
14921                "line": 176,
14922                "column": 6
14923              }
14924            }
14925          },
14926          {
14927            "type": "MethodDefinition",
14928            "key": {
14929              "type": "Identifier",
14930              "name": "filter",
14931              "decorators": [],
14932              "loc": {
14933                "start": {
14934                  "line": 178,
14935                  "column": 21
14936                },
14937                "end": {
14938                  "line": 178,
14939                  "column": 27
14940                }
14941              }
14942            },
14943            "kind": "method",
14944            "accessibility": "public",
14945            "static": false,
14946            "optional": false,
14947            "computed": false,
14948            "value": {
14949              "type": "FunctionExpression",
14950              "function": {
14951                "type": "ScriptFunction",
14952                "id": {
14953                  "type": "Identifier",
14954                  "name": "filter",
14955                  "decorators": [],
14956                  "loc": {
14957                    "start": {
14958                      "line": 178,
14959                      "column": 21
14960                    },
14961                    "end": {
14962                      "line": 178,
14963                      "column": 27
14964                    }
14965                  }
14966                },
14967                "generator": false,
14968                "async": false,
14969                "expression": false,
14970                "params": [
14971                  {
14972                    "type": "ETSParameterExpression",
14973                    "name": {
14974                      "type": "Identifier",
14975                      "name": "filterCond",
14976                      "typeAnnotation": {
14977                        "type": "ETSFunctionType",
14978                        "params": [
14979                          {
14980                            "type": "ETSParameterExpression",
14981                            "name": {
14982                              "type": "Identifier",
14983                              "name": "e",
14984                              "typeAnnotation": {
14985                                "type": "ETSTypeReference",
14986                                "part": {
14987                                  "type": "ETSTypeReferencePart",
14988                                  "name": {
14989                                    "type": "Identifier",
14990                                    "name": "T",
14991                                    "decorators": [],
14992                                    "loc": {
14993                                      "start": {
14994                                        "line": 178,
14995                                        "column": 44
14996                                      },
14997                                      "end": {
14998                                        "line": 178,
14999                                        "column": 45
15000                                      }
15001                                    }
15002                                  },
15003                                  "loc": {
15004                                    "start": {
15005                                      "line": 178,
15006                                      "column": 44
15007                                    },
15008                                    "end": {
15009                                      "line": 178,
15010                                      "column": 46
15011                                    }
15012                                  }
15013                                },
15014                                "loc": {
15015                                  "start": {
15016                                    "line": 178,
15017                                    "column": 44
15018                                  },
15019                                  "end": {
15020                                    "line": 178,
15021                                    "column": 46
15022                                  }
15023                                }
15024                              },
15025                              "decorators": [],
15026                              "loc": {
15027                                "start": {
15028                                  "line": 178,
15029                                  "column": 41
15030                                },
15031                                "end": {
15032                                  "line": 178,
15033                                  "column": 46
15034                                }
15035                              }
15036                            },
15037                            "loc": {
15038                              "start": {
15039                                "line": 178,
15040                                "column": 41
15041                              },
15042                              "end": {
15043                                "line": 178,
15044                                "column": 46
15045                              }
15046                            }
15047                          }
15048                        ],
15049                        "returnType": {
15050                          "type": "ETSPrimitiveType",
15051                          "loc": {
15052                            "start": {
15053                              "line": 178,
15054                              "column": 50
15055                            },
15056                            "end": {
15057                              "line": 178,
15058                              "column": 57
15059                            }
15060                          }
15061                        },
15062                        "loc": {
15063                          "start": {
15064                            "line": 178,
15065                            "column": 40
15066                          },
15067                          "end": {
15068                            "line": 178,
15069                            "column": 57
15070                          }
15071                        }
15072                      },
15073                      "decorators": [],
15074                      "loc": {
15075                        "start": {
15076                          "line": 178,
15077                          "column": 28
15078                        },
15079                        "end": {
15080                          "line": 178,
15081                          "column": 57
15082                        }
15083                      }
15084                    },
15085                    "loc": {
15086                      "start": {
15087                        "line": 178,
15088                        "column": 28
15089                      },
15090                      "end": {
15091                        "line": 178,
15092                        "column": 57
15093                      }
15094                    }
15095                  }
15096                ],
15097                "returnType": {
15098                  "type": "ETSUnionType",
15099                  "types": [
15100                    {
15101                      "type": "ETSTypeReference",
15102                      "part": {
15103                        "type": "ETSTypeReferencePart",
15104                        "name": {
15105                          "type": "Identifier",
15106                          "name": "ArrayAsListt",
15107                          "decorators": [],
15108                          "loc": {
15109                            "start": {
15110                              "line": 178,
15111                              "column": 60
15112                            },
15113                            "end": {
15114                              "line": 178,
15115                              "column": 72
15116                            }
15117                          }
15118                        },
15119                        "typeParams": {
15120                          "type": "TSTypeParameterInstantiation",
15121                          "params": [
15122                            {
15123                              "type": "ETSTypeReference",
15124                              "part": {
15125                                "type": "ETSTypeReferencePart",
15126                                "name": {
15127                                  "type": "Identifier",
15128                                  "name": "T",
15129                                  "decorators": [],
15130                                  "loc": {
15131                                    "start": {
15132                                      "line": 178,
15133                                      "column": 73
15134                                    },
15135                                    "end": {
15136                                      "line": 178,
15137                                      "column": 74
15138                                    }
15139                                  }
15140                                },
15141                                "loc": {
15142                                  "start": {
15143                                    "line": 178,
15144                                    "column": 73
15145                                  },
15146                                  "end": {
15147                                    "line": 178,
15148                                    "column": 75
15149                                  }
15150                                }
15151                              },
15152                              "loc": {
15153                                "start": {
15154                                  "line": 178,
15155                                  "column": 73
15156                                },
15157                                "end": {
15158                                  "line": 178,
15159                                  "column": 75
15160                                }
15161                              }
15162                            }
15163                          ],
15164                          "loc": {
15165                            "start": {
15166                              "line": 178,
15167                              "column": 72
15168                            },
15169                            "end": {
15170                              "line": 178,
15171                              "column": 75
15172                            }
15173                          }
15174                        },
15175                        "loc": {
15176                          "start": {
15177                            "line": 178,
15178                            "column": 60
15179                          },
15180                          "end": {
15181                            "line": 178,
15182                            "column": 77
15183                          }
15184                        }
15185                      },
15186                      "loc": {
15187                        "start": {
15188                          "line": 178,
15189                          "column": 60
15190                        },
15191                        "end": {
15192                          "line": 178,
15193                          "column": 77
15194                        }
15195                      }
15196                    },
15197                    {
15198                      "type": "ETSNullType",
15199                      "loc": {
15200                        "start": {
15201                          "line": 178,
15202                          "column": 78
15203                        },
15204                        "end": {
15205                          "line": 178,
15206                          "column": 82
15207                        }
15208                      }
15209                    }
15210                  ],
15211                  "loc": {
15212                    "start": {
15213                      "line": 178,
15214                      "column": 60
15215                    },
15216                    "end": {
15217                      "line": 178,
15218                      "column": 82
15219                    }
15220                  }
15221                },
15222                "body": {
15223                  "type": "BlockStatement",
15224                  "statements": [
15225                    {
15226                      "type": "VariableDeclaration",
15227                      "declarations": [
15228                        {
15229                          "type": "VariableDeclarator",
15230                          "id": {
15231                            "type": "Identifier",
15232                            "name": "indicators",
15233                            "decorators": [],
15234                            "loc": {
15235                              "start": {
15236                                "line": 179,
15237                                "column": 13
15238                              },
15239                              "end": {
15240                                "line": 179,
15241                                "column": 23
15242                              }
15243                            }
15244                          },
15245                          "init": {
15246                            "type": "ETSNewArrayInstanceExpression",
15247                            "typeReference": {
15248                              "type": "ETSPrimitiveType",
15249                              "loc": {
15250                                "start": {
15251                                  "line": 179,
15252                                  "column": 30
15253                                },
15254                                "end": {
15255                                  "line": 179,
15256                                  "column": 37
15257                                }
15258                              }
15259                            },
15260                            "dimension": {
15261                              "type": "MemberExpression",
15262                              "object": {
15263                                "type": "MemberExpression",
15264                                "object": {
15265                                  "type": "ThisExpression",
15266                                  "loc": {
15267                                    "start": {
15268                                      "line": 179,
15269                                      "column": 38
15270                                    },
15271                                    "end": {
15272                                      "line": 179,
15273                                      "column": 42
15274                                    }
15275                                  }
15276                                },
15277                                "property": {
15278                                  "type": "Identifier",
15279                                  "name": "data",
15280                                  "decorators": [],
15281                                  "loc": {
15282                                    "start": {
15283                                      "line": 179,
15284                                      "column": 43
15285                                    },
15286                                    "end": {
15287                                      "line": 179,
15288                                      "column": 47
15289                                    }
15290                                  }
15291                                },
15292                                "computed": false,
15293                                "optional": false,
15294                                "loc": {
15295                                  "start": {
15296                                    "line": 179,
15297                                    "column": 38
15298                                  },
15299                                  "end": {
15300                                    "line": 179,
15301                                    "column": 47
15302                                  }
15303                                }
15304                              },
15305                              "property": {
15306                                "type": "Identifier",
15307                                "name": "length",
15308                                "decorators": [],
15309                                "loc": {
15310                                  "start": {
15311                                    "line": 179,
15312                                    "column": 48
15313                                  },
15314                                  "end": {
15315                                    "line": 179,
15316                                    "column": 54
15317                                  }
15318                                }
15319                              },
15320                              "computed": false,
15321                              "optional": false,
15322                              "loc": {
15323                                "start": {
15324                                  "line": 179,
15325                                  "column": 38
15326                                },
15327                                "end": {
15328                                  "line": 179,
15329                                  "column": 54
15330                                }
15331                              }
15332                            },
15333                            "loc": {
15334                              "start": {
15335                                "line": 179,
15336                                "column": 26
15337                              },
15338                              "end": {
15339                                "line": 179,
15340                                "column": 55
15341                              }
15342                            }
15343                          },
15344                          "loc": {
15345                            "start": {
15346                              "line": 179,
15347                              "column": 13
15348                            },
15349                            "end": {
15350                              "line": 179,
15351                              "column": 55
15352                            }
15353                          }
15354                        }
15355                      ],
15356                      "kind": "let",
15357                      "loc": {
15358                        "start": {
15359                          "line": 179,
15360                          "column": 9
15361                        },
15362                        "end": {
15363                          "line": 179,
15364                          "column": 56
15365                        }
15366                      }
15367                    },
15368                    {
15369                      "type": "VariableDeclaration",
15370                      "declarations": [
15371                        {
15372                          "type": "VariableDeclarator",
15373                          "id": {
15374                            "type": "Identifier",
15375                            "name": "resAmount",
15376                            "decorators": [],
15377                            "loc": {
15378                              "start": {
15379                                "line": 180,
15380                                "column": 13
15381                              },
15382                              "end": {
15383                                "line": 180,
15384                                "column": 22
15385                              }
15386                            }
15387                          },
15388                          "init": {
15389                            "type": "NumberLiteral",
15390                            "value": 0,
15391                            "loc": {
15392                              "start": {
15393                                "line": 180,
15394                                "column": 25
15395                              },
15396                              "end": {
15397                                "line": 180,
15398                                "column": 26
15399                              }
15400                            }
15401                          },
15402                          "loc": {
15403                            "start": {
15404                              "line": 180,
15405                              "column": 13
15406                            },
15407                            "end": {
15408                              "line": 180,
15409                              "column": 26
15410                            }
15411                          }
15412                        }
15413                      ],
15414                      "kind": "let",
15415                      "loc": {
15416                        "start": {
15417                          "line": 180,
15418                          "column": 9
15419                        },
15420                        "end": {
15421                          "line": 180,
15422                          "column": 27
15423                        }
15424                      }
15425                    },
15426                    {
15427                      "type": "ForUpdateStatement",
15428                      "init": {
15429                        "type": "VariableDeclaration",
15430                        "declarations": [
15431                          {
15432                            "type": "VariableDeclarator",
15433                            "id": {
15434                              "type": "Identifier",
15435                              "name": "i",
15436                              "decorators": [],
15437                              "loc": {
15438                                "start": {
15439                                  "line": 181,
15440                                  "column": 18
15441                                },
15442                                "end": {
15443                                  "line": 181,
15444                                  "column": 19
15445                                }
15446                              }
15447                            },
15448                            "init": {
15449                              "type": "NumberLiteral",
15450                              "value": 0,
15451                              "loc": {
15452                                "start": {
15453                                  "line": 181,
15454                                  "column": 22
15455                                },
15456                                "end": {
15457                                  "line": 181,
15458                                  "column": 23
15459                                }
15460                              }
15461                            },
15462                            "loc": {
15463                              "start": {
15464                                "line": 181,
15465                                "column": 18
15466                              },
15467                              "end": {
15468                                "line": 181,
15469                                "column": 23
15470                              }
15471                            }
15472                          }
15473                        ],
15474                        "kind": "let",
15475                        "loc": {
15476                          "start": {
15477                            "line": 181,
15478                            "column": 14
15479                          },
15480                          "end": {
15481                            "line": 181,
15482                            "column": 23
15483                          }
15484                        }
15485                      },
15486                      "test": {
15487                        "type": "BinaryExpression",
15488                        "operator": "<",
15489                        "left": {
15490                          "type": "Identifier",
15491                          "name": "i",
15492                          "decorators": [],
15493                          "loc": {
15494                            "start": {
15495                              "line": 181,
15496                              "column": 25
15497                            },
15498                            "end": {
15499                              "line": 181,
15500                              "column": 26
15501                            }
15502                          }
15503                        },
15504                        "right": {
15505                          "type": "MemberExpression",
15506                          "object": {
15507                            "type": "ThisExpression",
15508                            "loc": {
15509                              "start": {
15510                                "line": 181,
15511                                "column": 29
15512                              },
15513                              "end": {
15514                                "line": 181,
15515                                "column": 33
15516                              }
15517                            }
15518                          },
15519                          "property": {
15520                            "type": "Identifier",
15521                            "name": "curSize",
15522                            "decorators": [],
15523                            "loc": {
15524                              "start": {
15525                                "line": 181,
15526                                "column": 34
15527                              },
15528                              "end": {
15529                                "line": 181,
15530                                "column": 41
15531                              }
15532                            }
15533                          },
15534                          "computed": false,
15535                          "optional": false,
15536                          "loc": {
15537                            "start": {
15538                              "line": 181,
15539                              "column": 29
15540                            },
15541                            "end": {
15542                              "line": 181,
15543                              "column": 41
15544                            }
15545                          }
15546                        },
15547                        "loc": {
15548                          "start": {
15549                            "line": 181,
15550                            "column": 25
15551                          },
15552                          "end": {
15553                            "line": 181,
15554                            "column": 41
15555                          }
15556                        }
15557                      },
15558                      "update": {
15559                        "type": "UpdateExpression",
15560                        "operator": "++",
15561                        "prefix": true,
15562                        "argument": {
15563                          "type": "Identifier",
15564                          "name": "i",
15565                          "decorators": [],
15566                          "loc": {
15567                            "start": {
15568                              "line": 181,
15569                              "column": 45
15570                            },
15571                            "end": {
15572                              "line": 181,
15573                              "column": 46
15574                            }
15575                          }
15576                        },
15577                        "loc": {
15578                          "start": {
15579                            "line": 181,
15580                            "column": 43
15581                          },
15582                          "end": {
15583                            "line": 181,
15584                            "column": 46
15585                          }
15586                        }
15587                      },
15588                      "body": {
15589                        "type": "BlockStatement",
15590                        "statements": [
15591                          {
15592                            "type": "ExpressionStatement",
15593                            "expression": {
15594                              "type": "AssignmentExpression",
15595                              "operator": "=",
15596                              "left": {
15597                                "type": "MemberExpression",
15598                                "object": {
15599                                  "type": "Identifier",
15600                                  "name": "indicators",
15601                                  "decorators": [],
15602                                  "loc": {
15603                                    "start": {
15604                                      "line": 182,
15605                                      "column": 13
15606                                    },
15607                                    "end": {
15608                                      "line": 182,
15609                                      "column": 23
15610                                    }
15611                                  }
15612                                },
15613                                "property": {
15614                                  "type": "Identifier",
15615                                  "name": "i",
15616                                  "decorators": [],
15617                                  "loc": {
15618                                    "start": {
15619                                      "line": 182,
15620                                      "column": 24
15621                                    },
15622                                    "end": {
15623                                      "line": 182,
15624                                      "column": 25
15625                                    }
15626                                  }
15627                                },
15628                                "computed": true,
15629                                "optional": false,
15630                                "loc": {
15631                                  "start": {
15632                                    "line": 182,
15633                                    "column": 13
15634                                  },
15635                                  "end": {
15636                                    "line": 182,
15637                                    "column": 26
15638                                  }
15639                                }
15640                              },
15641                              "right": {
15642                                "type": "CallExpression",
15643                                "callee": {
15644                                  "type": "Identifier",
15645                                  "name": "filterCond",
15646                                  "decorators": [],
15647                                  "loc": {
15648                                    "start": {
15649                                      "line": 182,
15650                                      "column": 29
15651                                    },
15652                                    "end": {
15653                                      "line": 182,
15654                                      "column": 39
15655                                    }
15656                                  }
15657                                },
15658                                "arguments": [
15659                                  {
15660                                    "type": "MemberExpression",
15661                                    "object": {
15662                                      "type": "MemberExpression",
15663                                      "object": {
15664                                        "type": "ThisExpression",
15665                                        "loc": {
15666                                          "start": {
15667                                            "line": 182,
15668                                            "column": 40
15669                                          },
15670                                          "end": {
15671                                            "line": 182,
15672                                            "column": 44
15673                                          }
15674                                        }
15675                                      },
15676                                      "property": {
15677                                        "type": "Identifier",
15678                                        "name": "data",
15679                                        "decorators": [],
15680                                        "loc": {
15681                                          "start": {
15682                                            "line": 182,
15683                                            "column": 45
15684                                          },
15685                                          "end": {
15686                                            "line": 182,
15687                                            "column": 49
15688                                          }
15689                                        }
15690                                      },
15691                                      "computed": false,
15692                                      "optional": false,
15693                                      "loc": {
15694                                        "start": {
15695                                          "line": 182,
15696                                          "column": 40
15697                                        },
15698                                        "end": {
15699                                          "line": 182,
15700                                          "column": 49
15701                                        }
15702                                      }
15703                                    },
15704                                    "property": {
15705                                      "type": "Identifier",
15706                                      "name": "i",
15707                                      "decorators": [],
15708                                      "loc": {
15709                                        "start": {
15710                                          "line": 182,
15711                                          "column": 50
15712                                        },
15713                                        "end": {
15714                                          "line": 182,
15715                                          "column": 51
15716                                        }
15717                                      }
15718                                    },
15719                                    "computed": true,
15720                                    "optional": false,
15721                                    "loc": {
15722                                      "start": {
15723                                        "line": 182,
15724                                        "column": 40
15725                                      },
15726                                      "end": {
15727                                        "line": 182,
15728                                        "column": 52
15729                                      }
15730                                    }
15731                                  }
15732                                ],
15733                                "optional": false,
15734                                "loc": {
15735                                  "start": {
15736                                    "line": 182,
15737                                    "column": 29
15738                                  },
15739                                  "end": {
15740                                    "line": 182,
15741                                    "column": 53
15742                                  }
15743                                }
15744                              },
15745                              "loc": {
15746                                "start": {
15747                                  "line": 182,
15748                                  "column": 13
15749                                },
15750                                "end": {
15751                                  "line": 182,
15752                                  "column": 53
15753                                }
15754                              }
15755                            },
15756                            "loc": {
15757                              "start": {
15758                                "line": 182,
15759                                "column": 13
15760                              },
15761                              "end": {
15762                                "line": 182,
15763                                "column": 54
15764                              }
15765                            }
15766                          },
15767                          {
15768                            "type": "IfStatement",
15769                            "test": {
15770                              "type": "MemberExpression",
15771                              "object": {
15772                                "type": "Identifier",
15773                                "name": "indicators",
15774                                "decorators": [],
15775                                "loc": {
15776                                  "start": {
15777                                    "line": 183,
15778                                    "column": 17
15779                                  },
15780                                  "end": {
15781                                    "line": 183,
15782                                    "column": 27
15783                                  }
15784                                }
15785                              },
15786                              "property": {
15787                                "type": "Identifier",
15788                                "name": "i",
15789                                "decorators": [],
15790                                "loc": {
15791                                  "start": {
15792                                    "line": 183,
15793                                    "column": 28
15794                                  },
15795                                  "end": {
15796                                    "line": 183,
15797                                    "column": 29
15798                                  }
15799                                }
15800                              },
15801                              "computed": true,
15802                              "optional": false,
15803                              "loc": {
15804                                "start": {
15805                                  "line": 183,
15806                                  "column": 17
15807                                },
15808                                "end": {
15809                                  "line": 183,
15810                                  "column": 30
15811                                }
15812                              }
15813                            },
15814                            "consequent": {
15815                              "type": "BlockStatement",
15816                              "statements": [
15817                                {
15818                                  "type": "ExpressionStatement",
15819                                  "expression": {
15820                                    "type": "UpdateExpression",
15821                                    "operator": "++",
15822                                    "prefix": true,
15823                                    "argument": {
15824                                      "type": "Identifier",
15825                                      "name": "resAmount",
15826                                      "decorators": [],
15827                                      "loc": {
15828                                        "start": {
15829                                          "line": 184,
15830                                          "column": 19
15831                                        },
15832                                        "end": {
15833                                          "line": 184,
15834                                          "column": 28
15835                                        }
15836                                      }
15837                                    },
15838                                    "loc": {
15839                                      "start": {
15840                                        "line": 184,
15841                                        "column": 17
15842                                      },
15843                                      "end": {
15844                                        "line": 184,
15845                                        "column": 28
15846                                      }
15847                                    }
15848                                  },
15849                                  "loc": {
15850                                    "start": {
15851                                      "line": 184,
15852                                      "column": 17
15853                                    },
15854                                    "end": {
15855                                      "line": 184,
15856                                      "column": 29
15857                                    }
15858                                  }
15859                                }
15860                              ],
15861                              "loc": {
15862                                "start": {
15863                                  "line": 183,
15864                                  "column": 32
15865                                },
15866                                "end": {
15867                                  "line": 185,
15868                                  "column": 14
15869                                }
15870                              }
15871                            },
15872                            "alternate": null,
15873                            "loc": {
15874                              "start": {
15875                                "line": 183,
15876                                "column": 13
15877                              },
15878                              "end": {
15879                                "line": 185,
15880                                "column": 14
15881                              }
15882                            }
15883                          }
15884                        ],
15885                        "loc": {
15886                          "start": {
15887                            "line": 181,
15888                            "column": 48
15889                          },
15890                          "end": {
15891                            "line": 186,
15892                            "column": 10
15893                          }
15894                        }
15895                      },
15896                      "loc": {
15897                        "start": {
15898                          "line": 181,
15899                          "column": 9
15900                        },
15901                        "end": {
15902                          "line": 186,
15903                          "column": 10
15904                        }
15905                      }
15906                    },
15907                    {
15908                      "type": "VariableDeclaration",
15909                      "declarations": [
15910                        {
15911                          "type": "VariableDeclarator",
15912                          "id": {
15913                            "type": "Identifier",
15914                            "name": "res",
15915                            "decorators": [],
15916                            "loc": {
15917                              "start": {
15918                                "line": 187,
15919                                "column": 13
15920                              },
15921                              "end": {
15922                                "line": 187,
15923                                "column": 16
15924                              }
15925                            }
15926                          },
15927                          "init": {
15928                            "type": "ETSNewArrayInstanceExpression",
15929                            "typeReference": {
15930                              "type": "ETSTypeReference",
15931                              "part": {
15932                                "type": "ETSTypeReferencePart",
15933                                "name": {
15934                                  "type": "Identifier",
15935                                  "name": "T",
15936                                  "decorators": [],
15937                                  "loc": {
15938                                    "start": {
15939                                      "line": 187,
15940                                      "column": 23
15941                                    },
15942                                    "end": {
15943                                      "line": 187,
15944                                      "column": 24
15945                                    }
15946                                  }
15947                                },
15948                                "loc": {
15949                                  "start": {
15950                                    "line": 187,
15951                                    "column": 23
15952                                  },
15953                                  "end": {
15954                                    "line": 187,
15955                                    "column": 25
15956                                  }
15957                                }
15958                              },
15959                              "loc": {
15960                                "start": {
15961                                  "line": 187,
15962                                  "column": 23
15963                                },
15964                                "end": {
15965                                  "line": 187,
15966                                  "column": 25
15967                                }
15968                              }
15969                            },
15970                            "dimension": {
15971                              "type": "Identifier",
15972                              "name": "resAmount",
15973                              "decorators": [],
15974                              "loc": {
15975                                "start": {
15976                                  "line": 187,
15977                                  "column": 25
15978                                },
15979                                "end": {
15980                                  "line": 187,
15981                                  "column": 34
15982                                }
15983                              }
15984                            },
15985                            "loc": {
15986                              "start": {
15987                                "line": 187,
15988                                "column": 19
15989                              },
15990                              "end": {
15991                                "line": 187,
15992                                "column": 35
15993                              }
15994                            }
15995                          },
15996                          "loc": {
15997                            "start": {
15998                              "line": 187,
15999                              "column": 13
16000                            },
16001                            "end": {
16002                              "line": 187,
16003                              "column": 35
16004                            }
16005                          }
16006                        }
16007                      ],
16008                      "kind": "let",
16009                      "loc": {
16010                        "start": {
16011                          "line": 187,
16012                          "column": 9
16013                        },
16014                        "end": {
16015                          "line": 187,
16016                          "column": 36
16017                        }
16018                      }
16019                    },
16020                    {
16021                      "type": "ForUpdateStatement",
16022                      "init": {
16023                        "type": "VariableDeclaration",
16024                        "declarations": [
16025                          {
16026                            "type": "VariableDeclarator",
16027                            "id": {
16028                              "type": "Identifier",
16029                              "name": "i",
16030                              "decorators": [],
16031                              "loc": {
16032                                "start": {
16033                                  "line": 188,
16034                                  "column": 18
16035                                },
16036                                "end": {
16037                                  "line": 188,
16038                                  "column": 19
16039                                }
16040                              }
16041                            },
16042                            "init": {
16043                              "type": "NumberLiteral",
16044                              "value": 0,
16045                              "loc": {
16046                                "start": {
16047                                  "line": 188,
16048                                  "column": 22
16049                                },
16050                                "end": {
16051                                  "line": 188,
16052                                  "column": 23
16053                                }
16054                              }
16055                            },
16056                            "loc": {
16057                              "start": {
16058                                "line": 188,
16059                                "column": 18
16060                              },
16061                              "end": {
16062                                "line": 188,
16063                                "column": 23
16064                              }
16065                            }
16066                          },
16067                          {
16068                            "type": "VariableDeclarator",
16069                            "id": {
16070                              "type": "Identifier",
16071                              "name": "j",
16072                              "decorators": [],
16073                              "loc": {
16074                                "start": {
16075                                  "line": 188,
16076                                  "column": 25
16077                                },
16078                                "end": {
16079                                  "line": 188,
16080                                  "column": 26
16081                                }
16082                              }
16083                            },
16084                            "init": {
16085                              "type": "NumberLiteral",
16086                              "value": 0,
16087                              "loc": {
16088                                "start": {
16089                                  "line": 188,
16090                                  "column": 29
16091                                },
16092                                "end": {
16093                                  "line": 188,
16094                                  "column": 30
16095                                }
16096                              }
16097                            },
16098                            "loc": {
16099                              "start": {
16100                                "line": 188,
16101                                "column": 25
16102                              },
16103                              "end": {
16104                                "line": 188,
16105                                "column": 30
16106                              }
16107                            }
16108                          }
16109                        ],
16110                        "kind": "let",
16111                        "loc": {
16112                          "start": {
16113                            "line": 188,
16114                            "column": 14
16115                          },
16116                          "end": {
16117                            "line": 188,
16118                            "column": 30
16119                          }
16120                        }
16121                      },
16122                      "test": {
16123                        "type": "BinaryExpression",
16124                        "operator": "<",
16125                        "left": {
16126                          "type": "Identifier",
16127                          "name": "i",
16128                          "decorators": [],
16129                          "loc": {
16130                            "start": {
16131                              "line": 188,
16132                              "column": 32
16133                            },
16134                            "end": {
16135                              "line": 188,
16136                              "column": 33
16137                            }
16138                          }
16139                        },
16140                        "right": {
16141                          "type": "MemberExpression",
16142                          "object": {
16143                            "type": "ThisExpression",
16144                            "loc": {
16145                              "start": {
16146                                "line": 188,
16147                                "column": 36
16148                              },
16149                              "end": {
16150                                "line": 188,
16151                                "column": 40
16152                              }
16153                            }
16154                          },
16155                          "property": {
16156                            "type": "Identifier",
16157                            "name": "curSize",
16158                            "decorators": [],
16159                            "loc": {
16160                              "start": {
16161                                "line": 188,
16162                                "column": 41
16163                              },
16164                              "end": {
16165                                "line": 188,
16166                                "column": 48
16167                              }
16168                            }
16169                          },
16170                          "computed": false,
16171                          "optional": false,
16172                          "loc": {
16173                            "start": {
16174                              "line": 188,
16175                              "column": 36
16176                            },
16177                            "end": {
16178                              "line": 188,
16179                              "column": 48
16180                            }
16181                          }
16182                        },
16183                        "loc": {
16184                          "start": {
16185                            "line": 188,
16186                            "column": 32
16187                          },
16188                          "end": {
16189                            "line": 188,
16190                            "column": 48
16191                          }
16192                        }
16193                      },
16194                      "update": {
16195                        "type": "UpdateExpression",
16196                        "operator": "++",
16197                        "prefix": true,
16198                        "argument": {
16199                          "type": "Identifier",
16200                          "name": "i",
16201                          "decorators": [],
16202                          "loc": {
16203                            "start": {
16204                              "line": 188,
16205                              "column": 52
16206                            },
16207                            "end": {
16208                              "line": 188,
16209                              "column": 53
16210                            }
16211                          }
16212                        },
16213                        "loc": {
16214                          "start": {
16215                            "line": 188,
16216                            "column": 50
16217                          },
16218                          "end": {
16219                            "line": 188,
16220                            "column": 53
16221                          }
16222                        }
16223                      },
16224                      "body": {
16225                        "type": "BlockStatement",
16226                        "statements": [
16227                          {
16228                            "type": "IfStatement",
16229                            "test": {
16230                              "type": "MemberExpression",
16231                              "object": {
16232                                "type": "Identifier",
16233                                "name": "indicators",
16234                                "decorators": [],
16235                                "loc": {
16236                                  "start": {
16237                                    "line": 189,
16238                                    "column": 17
16239                                  },
16240                                  "end": {
16241                                    "line": 189,
16242                                    "column": 27
16243                                  }
16244                                }
16245                              },
16246                              "property": {
16247                                "type": "Identifier",
16248                                "name": "i",
16249                                "decorators": [],
16250                                "loc": {
16251                                  "start": {
16252                                    "line": 189,
16253                                    "column": 28
16254                                  },
16255                                  "end": {
16256                                    "line": 189,
16257                                    "column": 29
16258                                  }
16259                                }
16260                              },
16261                              "computed": true,
16262                              "optional": false,
16263                              "loc": {
16264                                "start": {
16265                                  "line": 189,
16266                                  "column": 17
16267                                },
16268                                "end": {
16269                                  "line": 189,
16270                                  "column": 30
16271                                }
16272                              }
16273                            },
16274                            "consequent": {
16275                              "type": "BlockStatement",
16276                              "statements": [
16277                                {
16278                                  "type": "ExpressionStatement",
16279                                  "expression": {
16280                                    "type": "AssignmentExpression",
16281                                    "operator": "=",
16282                                    "left": {
16283                                      "type": "MemberExpression",
16284                                      "object": {
16285                                        "type": "Identifier",
16286                                        "name": "res",
16287                                        "decorators": [],
16288                                        "loc": {
16289                                          "start": {
16290                                            "line": 190,
16291                                            "column": 17
16292                                          },
16293                                          "end": {
16294                                            "line": 190,
16295                                            "column": 20
16296                                          }
16297                                        }
16298                                      },
16299                                      "property": {
16300                                        "type": "Identifier",
16301                                        "name": "j",
16302                                        "decorators": [],
16303                                        "loc": {
16304                                          "start": {
16305                                            "line": 190,
16306                                            "column": 21
16307                                          },
16308                                          "end": {
16309                                            "line": 190,
16310                                            "column": 22
16311                                          }
16312                                        }
16313                                      },
16314                                      "computed": true,
16315                                      "optional": false,
16316                                      "loc": {
16317                                        "start": {
16318                                          "line": 190,
16319                                          "column": 17
16320                                        },
16321                                        "end": {
16322                                          "line": 190,
16323                                          "column": 23
16324                                        }
16325                                      }
16326                                    },
16327                                    "right": {
16328                                      "type": "MemberExpression",
16329                                      "object": {
16330                                        "type": "MemberExpression",
16331                                        "object": {
16332                                          "type": "ThisExpression",
16333                                          "loc": {
16334                                            "start": {
16335                                              "line": 190,
16336                                              "column": 26
16337                                            },
16338                                            "end": {
16339                                              "line": 190,
16340                                              "column": 30
16341                                            }
16342                                          }
16343                                        },
16344                                        "property": {
16345                                          "type": "Identifier",
16346                                          "name": "data",
16347                                          "decorators": [],
16348                                          "loc": {
16349                                            "start": {
16350                                              "line": 190,
16351                                              "column": 31
16352                                            },
16353                                            "end": {
16354                                              "line": 190,
16355                                              "column": 35
16356                                            }
16357                                          }
16358                                        },
16359                                        "computed": false,
16360                                        "optional": false,
16361                                        "loc": {
16362                                          "start": {
16363                                            "line": 190,
16364                                            "column": 26
16365                                          },
16366                                          "end": {
16367                                            "line": 190,
16368                                            "column": 35
16369                                          }
16370                                        }
16371                                      },
16372                                      "property": {
16373                                        "type": "Identifier",
16374                                        "name": "i",
16375                                        "decorators": [],
16376                                        "loc": {
16377                                          "start": {
16378                                            "line": 190,
16379                                            "column": 36
16380                                          },
16381                                          "end": {
16382                                            "line": 190,
16383                                            "column": 37
16384                                          }
16385                                        }
16386                                      },
16387                                      "computed": true,
16388                                      "optional": false,
16389                                      "loc": {
16390                                        "start": {
16391                                          "line": 190,
16392                                          "column": 26
16393                                        },
16394                                        "end": {
16395                                          "line": 190,
16396                                          "column": 38
16397                                        }
16398                                      }
16399                                    },
16400                                    "loc": {
16401                                      "start": {
16402                                        "line": 190,
16403                                        "column": 17
16404                                      },
16405                                      "end": {
16406                                        "line": 190,
16407                                        "column": 38
16408                                      }
16409                                    }
16410                                  },
16411                                  "loc": {
16412                                    "start": {
16413                                      "line": 190,
16414                                      "column": 17
16415                                    },
16416                                    "end": {
16417                                      "line": 190,
16418                                      "column": 39
16419                                    }
16420                                  }
16421                                },
16422                                {
16423                                  "type": "ExpressionStatement",
16424                                  "expression": {
16425                                    "type": "UpdateExpression",
16426                                    "operator": "++",
16427                                    "prefix": true,
16428                                    "argument": {
16429                                      "type": "Identifier",
16430                                      "name": "j",
16431                                      "decorators": [],
16432                                      "loc": {
16433                                        "start": {
16434                                          "line": 191,
16435                                          "column": 19
16436                                        },
16437                                        "end": {
16438                                          "line": 191,
16439                                          "column": 20
16440                                        }
16441                                      }
16442                                    },
16443                                    "loc": {
16444                                      "start": {
16445                                        "line": 191,
16446                                        "column": 17
16447                                      },
16448                                      "end": {
16449                                        "line": 191,
16450                                        "column": 20
16451                                      }
16452                                    }
16453                                  },
16454                                  "loc": {
16455                                    "start": {
16456                                      "line": 191,
16457                                      "column": 17
16458                                    },
16459                                    "end": {
16460                                      "line": 191,
16461                                      "column": 21
16462                                    }
16463                                  }
16464                                }
16465                              ],
16466                              "loc": {
16467                                "start": {
16468                                  "line": 189,
16469                                  "column": 32
16470                                },
16471                                "end": {
16472                                  "line": 192,
16473                                  "column": 14
16474                                }
16475                              }
16476                            },
16477                            "alternate": null,
16478                            "loc": {
16479                              "start": {
16480                                "line": 189,
16481                                "column": 13
16482                              },
16483                              "end": {
16484                                "line": 192,
16485                                "column": 14
16486                              }
16487                            }
16488                          }
16489                        ],
16490                        "loc": {
16491                          "start": {
16492                            "line": 188,
16493                            "column": 55
16494                          },
16495                          "end": {
16496                            "line": 193,
16497                            "column": 10
16498                          }
16499                        }
16500                      },
16501                      "loc": {
16502                        "start": {
16503                          "line": 188,
16504                          "column": 9
16505                        },
16506                        "end": {
16507                          "line": 193,
16508                          "column": 10
16509                        }
16510                      }
16511                    },
16512                    {
16513                      "type": "ExpressionStatement",
16514                      "expression": {
16515                        "type": "AssignmentExpression",
16516                        "operator": "=",
16517                        "left": {
16518                          "type": "MemberExpression",
16519                          "object": {
16520                            "type": "ThisExpression",
16521                            "loc": {
16522                              "start": {
16523                                "line": 194,
16524                                "column": 9
16525                              },
16526                              "end": {
16527                                "line": 194,
16528                                "column": 13
16529                              }
16530                            }
16531                          },
16532                          "property": {
16533                            "type": "Identifier",
16534                            "name": "data",
16535                            "decorators": [],
16536                            "loc": {
16537                              "start": {
16538                                "line": 194,
16539                                "column": 14
16540                              },
16541                              "end": {
16542                                "line": 194,
16543                                "column": 18
16544                              }
16545                            }
16546                          },
16547                          "computed": false,
16548                          "optional": false,
16549                          "loc": {
16550                            "start": {
16551                              "line": 194,
16552                              "column": 9
16553                            },
16554                            "end": {
16555                              "line": 194,
16556                              "column": 18
16557                            }
16558                          }
16559                        },
16560                        "right": {
16561                          "type": "Identifier",
16562                          "name": "res",
16563                          "decorators": [],
16564                          "loc": {
16565                            "start": {
16566                              "line": 194,
16567                              "column": 21
16568                            },
16569                            "end": {
16570                              "line": 194,
16571                              "column": 24
16572                            }
16573                          }
16574                        },
16575                        "loc": {
16576                          "start": {
16577                            "line": 194,
16578                            "column": 9
16579                          },
16580                          "end": {
16581                            "line": 194,
16582                            "column": 24
16583                          }
16584                        }
16585                      },
16586                      "loc": {
16587                        "start": {
16588                          "line": 194,
16589                          "column": 9
16590                        },
16591                        "end": {
16592                          "line": 194,
16593                          "column": 25
16594                        }
16595                      }
16596                    },
16597                    {
16598                      "type": "ReturnStatement",
16599                      "argument": {
16600                        "type": "NullLiteral",
16601                        "value": null,
16602                        "loc": {
16603                          "start": {
16604                            "line": 195,
16605                            "column": 16
16606                          },
16607                          "end": {
16608                            "line": 195,
16609                            "column": 20
16610                          }
16611                        }
16612                      },
16613                      "loc": {
16614                        "start": {
16615                          "line": 195,
16616                          "column": 9
16617                        },
16618                        "end": {
16619                          "line": 195,
16620                          "column": 21
16621                        }
16622                      }
16623                    }
16624                  ],
16625                  "loc": {
16626                    "start": {
16627                      "line": 178,
16628                      "column": 83
16629                    },
16630                    "end": {
16631                      "line": 196,
16632                      "column": 6
16633                    }
16634                  }
16635                },
16636                "loc": {
16637                  "start": {
16638                    "line": 178,
16639                    "column": 27
16640                  },
16641                  "end": {
16642                    "line": 196,
16643                    "column": 6
16644                  }
16645                }
16646              },
16647              "loc": {
16648                "start": {
16649                  "line": 178,
16650                  "column": 27
16651                },
16652                "end": {
16653                  "line": 196,
16654                  "column": 6
16655                }
16656              }
16657            },
16658            "overloads": [],
16659            "decorators": [],
16660            "loc": {
16661              "start": {
16662                "line": 178,
16663                "column": 5
16664              },
16665              "end": {
16666                "line": 196,
16667                "column": 6
16668              }
16669            }
16670          },
16671          {
16672            "type": "MethodDefinition",
16673            "key": {
16674              "type": "Identifier",
16675              "name": "sort",
16676              "decorators": [],
16677              "loc": {
16678                "start": {
16679                  "line": 198,
16680                  "column": 21
16681                },
16682                "end": {
16683                  "line": 198,
16684                  "column": 25
16685                }
16686              }
16687            },
16688            "kind": "method",
16689            "accessibility": "public",
16690            "static": false,
16691            "optional": false,
16692            "computed": false,
16693            "value": {
16694              "type": "FunctionExpression",
16695              "function": {
16696                "type": "ScriptFunction",
16697                "id": {
16698                  "type": "Identifier",
16699                  "name": "sort",
16700                  "decorators": [],
16701                  "loc": {
16702                    "start": {
16703                      "line": 198,
16704                      "column": 21
16705                    },
16706                    "end": {
16707                      "line": 198,
16708                      "column": 25
16709                    }
16710                  }
16711                },
16712                "generator": false,
16713                "async": false,
16714                "expression": false,
16715                "params": [
16716                  {
16717                    "type": "ETSParameterExpression",
16718                    "name": {
16719                      "type": "Identifier",
16720                      "name": "comparator",
16721                      "typeAnnotation": {
16722                        "type": "ETSFunctionType",
16723                        "params": [
16724                          {
16725                            "type": "ETSParameterExpression",
16726                            "name": {
16727                              "type": "Identifier",
16728                              "name": "lhs",
16729                              "typeAnnotation": {
16730                                "type": "ETSTypeReference",
16731                                "part": {
16732                                  "type": "ETSTypeReferencePart",
16733                                  "name": {
16734                                    "type": "Identifier",
16735                                    "name": "T",
16736                                    "decorators": [],
16737                                    "loc": {
16738                                      "start": {
16739                                        "line": 198,
16740                                        "column": 44
16741                                      },
16742                                      "end": {
16743                                        "line": 198,
16744                                        "column": 45
16745                                      }
16746                                    }
16747                                  },
16748                                  "loc": {
16749                                    "start": {
16750                                      "line": 198,
16751                                      "column": 44
16752                                    },
16753                                    "end": {
16754                                      "line": 198,
16755                                      "column": 46
16756                                    }
16757                                  }
16758                                },
16759                                "loc": {
16760                                  "start": {
16761                                    "line": 198,
16762                                    "column": 44
16763                                  },
16764                                  "end": {
16765                                    "line": 198,
16766                                    "column": 46
16767                                  }
16768                                }
16769                              },
16770                              "decorators": [],
16771                              "loc": {
16772                                "start": {
16773                                  "line": 198,
16774                                  "column": 39
16775                                },
16776                                "end": {
16777                                  "line": 198,
16778                                  "column": 46
16779                                }
16780                              }
16781                            },
16782                            "loc": {
16783                              "start": {
16784                                "line": 198,
16785                                "column": 39
16786                              },
16787                              "end": {
16788                                "line": 198,
16789                                "column": 46
16790                              }
16791                            }
16792                          },
16793                          {
16794                            "type": "ETSParameterExpression",
16795                            "name": {
16796                              "type": "Identifier",
16797                              "name": "rhs",
16798                              "typeAnnotation": {
16799                                "type": "ETSTypeReference",
16800                                "part": {
16801                                  "type": "ETSTypeReferencePart",
16802                                  "name": {
16803                                    "type": "Identifier",
16804                                    "name": "T",
16805                                    "decorators": [],
16806                                    "loc": {
16807                                      "start": {
16808                                        "line": 198,
16809                                        "column": 52
16810                                      },
16811                                      "end": {
16812                                        "line": 198,
16813                                        "column": 53
16814                                      }
16815                                    }
16816                                  },
16817                                  "loc": {
16818                                    "start": {
16819                                      "line": 198,
16820                                      "column": 52
16821                                    },
16822                                    "end": {
16823                                      "line": 198,
16824                                      "column": 54
16825                                    }
16826                                  }
16827                                },
16828                                "loc": {
16829                                  "start": {
16830                                    "line": 198,
16831                                    "column": 52
16832                                  },
16833                                  "end": {
16834                                    "line": 198,
16835                                    "column": 54
16836                                  }
16837                                }
16838                              },
16839                              "decorators": [],
16840                              "loc": {
16841                                "start": {
16842                                  "line": 198,
16843                                  "column": 47
16844                                },
16845                                "end": {
16846                                  "line": 198,
16847                                  "column": 54
16848                                }
16849                              }
16850                            },
16851                            "loc": {
16852                              "start": {
16853                                "line": 198,
16854                                "column": 47
16855                              },
16856                              "end": {
16857                                "line": 198,
16858                                "column": 54
16859                              }
16860                            }
16861                          }
16862                        ],
16863                        "returnType": {
16864                          "type": "ETSPrimitiveType",
16865                          "loc": {
16866                            "start": {
16867                              "line": 198,
16868                              "column": 58
16869                            },
16870                            "end": {
16871                              "line": 198,
16872                              "column": 65
16873                            }
16874                          }
16875                        },
16876                        "loc": {
16877                          "start": {
16878                            "line": 198,
16879                            "column": 38
16880                          },
16881                          "end": {
16882                            "line": 198,
16883                            "column": 65
16884                          }
16885                        }
16886                      },
16887                      "decorators": [],
16888                      "loc": {
16889                        "start": {
16890                          "line": 198,
16891                          "column": 26
16892                        },
16893                        "end": {
16894                          "line": 198,
16895                          "column": 65
16896                        }
16897                      }
16898                    },
16899                    "loc": {
16900                      "start": {
16901                        "line": 198,
16902                        "column": 26
16903                      },
16904                      "end": {
16905                        "line": 198,
16906                        "column": 65
16907                      }
16908                    }
16909                  }
16910                ],
16911                "returnType": {
16912                  "type": "ETSUnionType",
16913                  "types": [
16914                    {
16915                      "type": "ETSTypeReference",
16916                      "part": {
16917                        "type": "ETSTypeReferencePart",
16918                        "name": {
16919                          "type": "Identifier",
16920                          "name": "ArrayAsListt",
16921                          "decorators": [],
16922                          "loc": {
16923                            "start": {
16924                              "line": 198,
16925                              "column": 68
16926                            },
16927                            "end": {
16928                              "line": 198,
16929                              "column": 80
16930                            }
16931                          }
16932                        },
16933                        "typeParams": {
16934                          "type": "TSTypeParameterInstantiation",
16935                          "params": [
16936                            {
16937                              "type": "ETSTypeReference",
16938                              "part": {
16939                                "type": "ETSTypeReferencePart",
16940                                "name": {
16941                                  "type": "Identifier",
16942                                  "name": "T",
16943                                  "decorators": [],
16944                                  "loc": {
16945                                    "start": {
16946                                      "line": 198,
16947                                      "column": 81
16948                                    },
16949                                    "end": {
16950                                      "line": 198,
16951                                      "column": 82
16952                                    }
16953                                  }
16954                                },
16955                                "loc": {
16956                                  "start": {
16957                                    "line": 198,
16958                                    "column": 81
16959                                  },
16960                                  "end": {
16961                                    "line": 198,
16962                                    "column": 83
16963                                  }
16964                                }
16965                              },
16966                              "loc": {
16967                                "start": {
16968                                  "line": 198,
16969                                  "column": 81
16970                                },
16971                                "end": {
16972                                  "line": 198,
16973                                  "column": 83
16974                                }
16975                              }
16976                            }
16977                          ],
16978                          "loc": {
16979                            "start": {
16980                              "line": 198,
16981                              "column": 80
16982                            },
16983                            "end": {
16984                              "line": 198,
16985                              "column": 83
16986                            }
16987                          }
16988                        },
16989                        "loc": {
16990                          "start": {
16991                            "line": 198,
16992                            "column": 68
16993                          },
16994                          "end": {
16995                            "line": 198,
16996                            "column": 85
16997                          }
16998                        }
16999                      },
17000                      "loc": {
17001                        "start": {
17002                          "line": 198,
17003                          "column": 68
17004                        },
17005                        "end": {
17006                          "line": 198,
17007                          "column": 85
17008                        }
17009                      }
17010                    },
17011                    {
17012                      "type": "ETSNullType",
17013                      "loc": {
17014                        "start": {
17015                          "line": 198,
17016                          "column": 86
17017                        },
17018                        "end": {
17019                          "line": 198,
17020                          "column": 90
17021                        }
17022                      }
17023                    }
17024                  ],
17025                  "loc": {
17026                    "start": {
17027                      "line": 198,
17028                      "column": 68
17029                    },
17030                    "end": {
17031                      "line": 198,
17032                      "column": 90
17033                    }
17034                  }
17035                },
17036                "body": {
17037                  "type": "BlockStatement",
17038                  "statements": [
17039                    {
17040                      "type": "ExpressionStatement",
17041                      "expression": {
17042                        "type": "CallExpression",
17043                        "callee": {
17044                          "type": "MemberExpression",
17045                          "object": {
17046                            "type": "ThisExpression",
17047                            "loc": {
17048                              "start": {
17049                                "line": 199,
17050                                "column": 9
17051                              },
17052                              "end": {
17053                                "line": 199,
17054                                "column": 13
17055                              }
17056                            }
17057                          },
17058                          "property": {
17059                            "type": "Identifier",
17060                            "name": "sortPart",
17061                            "decorators": [],
17062                            "loc": {
17063                              "start": {
17064                                "line": 199,
17065                                "column": 14
17066                              },
17067                              "end": {
17068                                "line": 199,
17069                                "column": 22
17070                              }
17071                            }
17072                          },
17073                          "computed": false,
17074                          "optional": false,
17075                          "loc": {
17076                            "start": {
17077                              "line": 199,
17078                              "column": 9
17079                            },
17080                            "end": {
17081                              "line": 199,
17082                              "column": 22
17083                            }
17084                          }
17085                        },
17086                        "arguments": [
17087                          {
17088                            "type": "MemberExpression",
17089                            "object": {
17090                              "type": "ThisExpression",
17091                              "loc": {
17092                                "start": {
17093                                  "line": 199,
17094                                  "column": 23
17095                                },
17096                                "end": {
17097                                  "line": 199,
17098                                  "column": 27
17099                                }
17100                              }
17101                            },
17102                            "property": {
17103                              "type": "Identifier",
17104                              "name": "data",
17105                              "decorators": [],
17106                              "loc": {
17107                                "start": {
17108                                  "line": 199,
17109                                  "column": 28
17110                                },
17111                                "end": {
17112                                  "line": 199,
17113                                  "column": 32
17114                                }
17115                              }
17116                            },
17117                            "computed": false,
17118                            "optional": false,
17119                            "loc": {
17120                              "start": {
17121                                "line": 199,
17122                                "column": 23
17123                              },
17124                              "end": {
17125                                "line": 199,
17126                                "column": 32
17127                              }
17128                            }
17129                          },
17130                          {
17131                            "type": "NumberLiteral",
17132                            "value": 0,
17133                            "loc": {
17134                              "start": {
17135                                "line": 199,
17136                                "column": 34
17137                              },
17138                              "end": {
17139                                "line": 199,
17140                                "column": 35
17141                              }
17142                            }
17143                          },
17144                          {
17145                            "type": "MemberExpression",
17146                            "object": {
17147                              "type": "ThisExpression",
17148                              "loc": {
17149                                "start": {
17150                                  "line": 199,
17151                                  "column": 37
17152                                },
17153                                "end": {
17154                                  "line": 199,
17155                                  "column": 41
17156                                }
17157                              }
17158                            },
17159                            "property": {
17160                              "type": "Identifier",
17161                              "name": "curSize",
17162                              "decorators": [],
17163                              "loc": {
17164                                "start": {
17165                                  "line": 199,
17166                                  "column": 42
17167                                },
17168                                "end": {
17169                                  "line": 199,
17170                                  "column": 49
17171                                }
17172                              }
17173                            },
17174                            "computed": false,
17175                            "optional": false,
17176                            "loc": {
17177                              "start": {
17178                                "line": 199,
17179                                "column": 37
17180                              },
17181                              "end": {
17182                                "line": 199,
17183                                "column": 49
17184                              }
17185                            }
17186                          },
17187                          {
17188                            "type": "Identifier",
17189                            "name": "comparator",
17190                            "decorators": [],
17191                            "loc": {
17192                              "start": {
17193                                "line": 199,
17194                                "column": 51
17195                              },
17196                              "end": {
17197                                "line": 199,
17198                                "column": 61
17199                              }
17200                            }
17201                          }
17202                        ],
17203                        "optional": false,
17204                        "loc": {
17205                          "start": {
17206                            "line": 199,
17207                            "column": 9
17208                          },
17209                          "end": {
17210                            "line": 199,
17211                            "column": 62
17212                          }
17213                        }
17214                      },
17215                      "loc": {
17216                        "start": {
17217                          "line": 199,
17218                          "column": 9
17219                        },
17220                        "end": {
17221                          "line": 199,
17222                          "column": 63
17223                        }
17224                      }
17225                    },
17226                    {
17227                      "type": "ReturnStatement",
17228                      "argument": {
17229                        "type": "NullLiteral",
17230                        "value": null,
17231                        "loc": {
17232                          "start": {
17233                            "line": 200,
17234                            "column": 16
17235                          },
17236                          "end": {
17237                            "line": 200,
17238                            "column": 20
17239                          }
17240                        }
17241                      },
17242                      "loc": {
17243                        "start": {
17244                          "line": 200,
17245                          "column": 9
17246                        },
17247                        "end": {
17248                          "line": 200,
17249                          "column": 21
17250                        }
17251                      }
17252                    }
17253                  ],
17254                  "loc": {
17255                    "start": {
17256                      "line": 198,
17257                      "column": 91
17258                    },
17259                    "end": {
17260                      "line": 201,
17261                      "column": 6
17262                    }
17263                  }
17264                },
17265                "loc": {
17266                  "start": {
17267                    "line": 198,
17268                    "column": 25
17269                  },
17270                  "end": {
17271                    "line": 201,
17272                    "column": 6
17273                  }
17274                }
17275              },
17276              "loc": {
17277                "start": {
17278                  "line": 198,
17279                  "column": 25
17280                },
17281                "end": {
17282                  "line": 201,
17283                  "column": 6
17284                }
17285              }
17286            },
17287            "overloads": [],
17288            "decorators": [],
17289            "loc": {
17290              "start": {
17291                "line": 198,
17292                "column": 5
17293              },
17294              "end": {
17295                "line": 201,
17296                "column": 6
17297              }
17298            }
17299          },
17300          {
17301            "type": "MethodDefinition",
17302            "key": {
17303              "type": "Identifier",
17304              "name": "sortPart",
17305              "decorators": [],
17306              "loc": {
17307                "start": {
17308                  "line": 203,
17309                  "column": 13
17310                },
17311                "end": {
17312                  "line": 203,
17313                  "column": 21
17314                }
17315              }
17316            },
17317            "kind": "method",
17318            "accessibility": "private",
17319            "static": false,
17320            "optional": false,
17321            "computed": false,
17322            "value": {
17323              "type": "FunctionExpression",
17324              "function": {
17325                "type": "ScriptFunction",
17326                "id": {
17327                  "type": "Identifier",
17328                  "name": "sortPart",
17329                  "decorators": [],
17330                  "loc": {
17331                    "start": {
17332                      "line": 203,
17333                      "column": 13
17334                    },
17335                    "end": {
17336                      "line": 203,
17337                      "column": 21
17338                    }
17339                  }
17340                },
17341                "generator": false,
17342                "async": false,
17343                "expression": false,
17344                "params": [
17345                  {
17346                    "type": "ETSParameterExpression",
17347                    "name": {
17348                      "type": "Identifier",
17349                      "name": "arr",
17350                      "typeAnnotation": {
17351                        "type": "TSArrayType",
17352                        "elementType": {
17353                          "type": "ETSTypeReference",
17354                          "part": {
17355                            "type": "ETSTypeReferencePart",
17356                            "name": {
17357                              "type": "Identifier",
17358                              "name": "T",
17359                              "decorators": [],
17360                              "loc": {
17361                                "start": {
17362                                  "line": 203,
17363                                  "column": 27
17364                                },
17365                                "end": {
17366                                  "line": 203,
17367                                  "column": 28
17368                                }
17369                              }
17370                            },
17371                            "loc": {
17372                              "start": {
17373                                "line": 203,
17374                                "column": 27
17375                              },
17376                              "end": {
17377                                "line": 203,
17378                                "column": 29
17379                              }
17380                            }
17381                          },
17382                          "loc": {
17383                            "start": {
17384                              "line": 203,
17385                              "column": 27
17386                            },
17387                            "end": {
17388                              "line": 203,
17389                              "column": 29
17390                            }
17391                          }
17392                        },
17393                        "loc": {
17394                          "start": {
17395                            "line": 203,
17396                            "column": 30
17397                          },
17398                          "end": {
17399                            "line": 203,
17400                            "column": 31
17401                          }
17402                        }
17403                      },
17404                      "decorators": [],
17405                      "loc": {
17406                        "start": {
17407                          "line": 203,
17408                          "column": 22
17409                        },
17410                        "end": {
17411                          "line": 203,
17412                          "column": 31
17413                        }
17414                      }
17415                    },
17416                    "loc": {
17417                      "start": {
17418                        "line": 203,
17419                        "column": 22
17420                      },
17421                      "end": {
17422                        "line": 203,
17423                        "column": 31
17424                      }
17425                    }
17426                  },
17427                  {
17428                    "type": "ETSParameterExpression",
17429                    "name": {
17430                      "type": "Identifier",
17431                      "name": "l",
17432                      "typeAnnotation": {
17433                        "type": "ETSPrimitiveType",
17434                        "loc": {
17435                          "start": {
17436                            "line": 203,
17437                            "column": 35
17438                          },
17439                          "end": {
17440                            "line": 203,
17441                            "column": 38
17442                          }
17443                        }
17444                      },
17445                      "decorators": [],
17446                      "loc": {
17447                        "start": {
17448                          "line": 203,
17449                          "column": 32
17450                        },
17451                        "end": {
17452                          "line": 203,
17453                          "column": 38
17454                        }
17455                      }
17456                    },
17457                    "loc": {
17458                      "start": {
17459                        "line": 203,
17460                        "column": 32
17461                      },
17462                      "end": {
17463                        "line": 203,
17464                        "column": 38
17465                      }
17466                    }
17467                  },
17468                  {
17469                    "type": "ETSParameterExpression",
17470                    "name": {
17471                      "type": "Identifier",
17472                      "name": "r",
17473                      "typeAnnotation": {
17474                        "type": "ETSPrimitiveType",
17475                        "loc": {
17476                          "start": {
17477                            "line": 203,
17478                            "column": 43
17479                          },
17480                          "end": {
17481                            "line": 203,
17482                            "column": 46
17483                          }
17484                        }
17485                      },
17486                      "decorators": [],
17487                      "loc": {
17488                        "start": {
17489                          "line": 203,
17490                          "column": 40
17491                        },
17492                        "end": {
17493                          "line": 203,
17494                          "column": 46
17495                        }
17496                      }
17497                    },
17498                    "loc": {
17499                      "start": {
17500                        "line": 203,
17501                        "column": 40
17502                      },
17503                      "end": {
17504                        "line": 203,
17505                        "column": 46
17506                      }
17507                    }
17508                  },
17509                  {
17510                    "type": "ETSParameterExpression",
17511                    "name": {
17512                      "type": "Identifier",
17513                      "name": "comparator",
17514                      "typeAnnotation": {
17515                        "type": "ETSFunctionType",
17516                        "params": [
17517                          {
17518                            "type": "ETSParameterExpression",
17519                            "name": {
17520                              "type": "Identifier",
17521                              "name": "lhs",
17522                              "typeAnnotation": {
17523                                "type": "ETSTypeReference",
17524                                "part": {
17525                                  "type": "ETSTypeReferencePart",
17526                                  "name": {
17527                                    "type": "Identifier",
17528                                    "name": "T",
17529                                    "decorators": [],
17530                                    "loc": {
17531                                      "start": {
17532                                        "line": 203,
17533                                        "column": 66
17534                                      },
17535                                      "end": {
17536                                        "line": 203,
17537                                        "column": 67
17538                                      }
17539                                    }
17540                                  },
17541                                  "loc": {
17542                                    "start": {
17543                                      "line": 203,
17544                                      "column": 66
17545                                    },
17546                                    "end": {
17547                                      "line": 203,
17548                                      "column": 68
17549                                    }
17550                                  }
17551                                },
17552                                "loc": {
17553                                  "start": {
17554                                    "line": 203,
17555                                    "column": 66
17556                                  },
17557                                  "end": {
17558                                    "line": 203,
17559                                    "column": 68
17560                                  }
17561                                }
17562                              },
17563                              "decorators": [],
17564                              "loc": {
17565                                "start": {
17566                                  "line": 203,
17567                                  "column": 61
17568                                },
17569                                "end": {
17570                                  "line": 203,
17571                                  "column": 68
17572                                }
17573                              }
17574                            },
17575                            "loc": {
17576                              "start": {
17577                                "line": 203,
17578                                "column": 61
17579                              },
17580                              "end": {
17581                                "line": 203,
17582                                "column": 68
17583                              }
17584                            }
17585                          },
17586                          {
17587                            "type": "ETSParameterExpression",
17588                            "name": {
17589                              "type": "Identifier",
17590                              "name": "rhs",
17591                              "typeAnnotation": {
17592                                "type": "ETSTypeReference",
17593                                "part": {
17594                                  "type": "ETSTypeReferencePart",
17595                                  "name": {
17596                                    "type": "Identifier",
17597                                    "name": "T",
17598                                    "decorators": [],
17599                                    "loc": {
17600                                      "start": {
17601                                        "line": 203,
17602                                        "column": 74
17603                                      },
17604                                      "end": {
17605                                        "line": 203,
17606                                        "column": 75
17607                                      }
17608                                    }
17609                                  },
17610                                  "loc": {
17611                                    "start": {
17612                                      "line": 203,
17613                                      "column": 74
17614                                    },
17615                                    "end": {
17616                                      "line": 203,
17617                                      "column": 76
17618                                    }
17619                                  }
17620                                },
17621                                "loc": {
17622                                  "start": {
17623                                    "line": 203,
17624                                    "column": 74
17625                                  },
17626                                  "end": {
17627                                    "line": 203,
17628                                    "column": 76
17629                                  }
17630                                }
17631                              },
17632                              "decorators": [],
17633                              "loc": {
17634                                "start": {
17635                                  "line": 203,
17636                                  "column": 69
17637                                },
17638                                "end": {
17639                                  "line": 203,
17640                                  "column": 76
17641                                }
17642                              }
17643                            },
17644                            "loc": {
17645                              "start": {
17646                                "line": 203,
17647                                "column": 69
17648                              },
17649                              "end": {
17650                                "line": 203,
17651                                "column": 76
17652                              }
17653                            }
17654                          }
17655                        ],
17656                        "returnType": {
17657                          "type": "ETSPrimitiveType",
17658                          "loc": {
17659                            "start": {
17660                              "line": 203,
17661                              "column": 80
17662                            },
17663                            "end": {
17664                              "line": 203,
17665                              "column": 87
17666                            }
17667                          }
17668                        },
17669                        "loc": {
17670                          "start": {
17671                            "line": 203,
17672                            "column": 60
17673                          },
17674                          "end": {
17675                            "line": 203,
17676                            "column": 87
17677                          }
17678                        }
17679                      },
17680                      "decorators": [],
17681                      "loc": {
17682                        "start": {
17683                          "line": 203,
17684                          "column": 48
17685                        },
17686                        "end": {
17687                          "line": 203,
17688                          "column": 87
17689                        }
17690                      }
17691                    },
17692                    "loc": {
17693                      "start": {
17694                        "line": 203,
17695                        "column": 48
17696                      },
17697                      "end": {
17698                        "line": 203,
17699                        "column": 87
17700                      }
17701                    }
17702                  }
17703                ],
17704                "returnType": {
17705                  "type": "ETSPrimitiveType",
17706                  "loc": {
17707                    "start": {
17708                      "line": 203,
17709                      "column": 90
17710                    },
17711                    "end": {
17712                      "line": 203,
17713                      "column": 94
17714                    }
17715                  }
17716                },
17717                "body": {
17718                  "type": "BlockStatement",
17719                  "statements": [],
17720                  "loc": {
17721                    "start": {
17722                      "line": 203,
17723                      "column": 95
17724                    },
17725                    "end": {
17726                      "line": 205,
17727                      "column": 6
17728                    }
17729                  }
17730                },
17731                "loc": {
17732                  "start": {
17733                    "line": 203,
17734                    "column": 21
17735                  },
17736                  "end": {
17737                    "line": 205,
17738                    "column": 6
17739                  }
17740                }
17741              },
17742              "loc": {
17743                "start": {
17744                  "line": 203,
17745                  "column": 21
17746                },
17747                "end": {
17748                  "line": 205,
17749                  "column": 6
17750                }
17751              }
17752            },
17753            "overloads": [],
17754            "decorators": [],
17755            "loc": {
17756              "start": {
17757                "line": 203,
17758                "column": 5
17759              },
17760              "end": {
17761                "line": 205,
17762                "column": 6
17763              }
17764            }
17765          },
17766          {
17767            "type": "MethodDefinition",
17768            "key": {
17769              "type": "Identifier",
17770              "name": "partition",
17771              "decorators": [],
17772              "loc": {
17773                "start": {
17774                  "line": 207,
17775                  "column": 20
17776                },
17777                "end": {
17778                  "line": 207,
17779                  "column": 29
17780                }
17781              }
17782            },
17783            "kind": "method",
17784            "accessibility": "private",
17785            "static": true,
17786            "optional": false,
17787            "computed": false,
17788            "value": {
17789              "type": "FunctionExpression",
17790              "function": {
17791                "type": "ScriptFunction",
17792                "id": {
17793                  "type": "Identifier",
17794                  "name": "partition",
17795                  "decorators": [],
17796                  "loc": {
17797                    "start": {
17798                      "line": 207,
17799                      "column": 20
17800                    },
17801                    "end": {
17802                      "line": 207,
17803                      "column": 29
17804                    }
17805                  }
17806                },
17807                "generator": false,
17808                "async": false,
17809                "expression": false,
17810                "params": [
17811                  {
17812                    "type": "ETSParameterExpression",
17813                    "name": {
17814                      "type": "Identifier",
17815                      "name": "arr",
17816                      "typeAnnotation": {
17817                        "type": "TSArrayType",
17818                        "elementType": {
17819                          "type": "ETSTypeReference",
17820                          "part": {
17821                            "type": "ETSTypeReferencePart",
17822                            "name": {
17823                              "type": "Identifier",
17824                              "name": "T",
17825                              "decorators": [],
17826                              "loc": {
17827                                "start": {
17828                                  "line": 207,
17829                                  "column": 35
17830                                },
17831                                "end": {
17832                                  "line": 207,
17833                                  "column": 36
17834                                }
17835                              }
17836                            },
17837                            "loc": {
17838                              "start": {
17839                                "line": 207,
17840                                "column": 35
17841                              },
17842                              "end": {
17843                                "line": 207,
17844                                "column": 37
17845                              }
17846                            }
17847                          },
17848                          "loc": {
17849                            "start": {
17850                              "line": 207,
17851                              "column": 35
17852                            },
17853                            "end": {
17854                              "line": 207,
17855                              "column": 37
17856                            }
17857                          }
17858                        },
17859                        "loc": {
17860                          "start": {
17861                            "line": 207,
17862                            "column": 38
17863                          },
17864                          "end": {
17865                            "line": 207,
17866                            "column": 39
17867                          }
17868                        }
17869                      },
17870                      "decorators": [],
17871                      "loc": {
17872                        "start": {
17873                          "line": 207,
17874                          "column": 30
17875                        },
17876                        "end": {
17877                          "line": 207,
17878                          "column": 39
17879                        }
17880                      }
17881                    },
17882                    "loc": {
17883                      "start": {
17884                        "line": 207,
17885                        "column": 30
17886                      },
17887                      "end": {
17888                        "line": 207,
17889                        "column": 39
17890                      }
17891                    }
17892                  },
17893                  {
17894                    "type": "ETSParameterExpression",
17895                    "name": {
17896                      "type": "Identifier",
17897                      "name": "l",
17898                      "typeAnnotation": {
17899                        "type": "ETSPrimitiveType",
17900                        "loc": {
17901                          "start": {
17902                            "line": 207,
17903                            "column": 43
17904                          },
17905                          "end": {
17906                            "line": 207,
17907                            "column": 46
17908                          }
17909                        }
17910                      },
17911                      "decorators": [],
17912                      "loc": {
17913                        "start": {
17914                          "line": 207,
17915                          "column": 40
17916                        },
17917                        "end": {
17918                          "line": 207,
17919                          "column": 46
17920                        }
17921                      }
17922                    },
17923                    "loc": {
17924                      "start": {
17925                        "line": 207,
17926                        "column": 40
17927                      },
17928                      "end": {
17929                        "line": 207,
17930                        "column": 46
17931                      }
17932                    }
17933                  },
17934                  {
17935                    "type": "ETSParameterExpression",
17936                    "name": {
17937                      "type": "Identifier",
17938                      "name": "r",
17939                      "typeAnnotation": {
17940                        "type": "ETSPrimitiveType",
17941                        "loc": {
17942                          "start": {
17943                            "line": 207,
17944                            "column": 51
17945                          },
17946                          "end": {
17947                            "line": 207,
17948                            "column": 54
17949                          }
17950                        }
17951                      },
17952                      "decorators": [],
17953                      "loc": {
17954                        "start": {
17955                          "line": 207,
17956                          "column": 48
17957                        },
17958                        "end": {
17959                          "line": 207,
17960                          "column": 54
17961                        }
17962                      }
17963                    },
17964                    "loc": {
17965                      "start": {
17966                        "line": 207,
17967                        "column": 48
17968                      },
17969                      "end": {
17970                        "line": 207,
17971                        "column": 54
17972                      }
17973                    }
17974                  },
17975                  {
17976                    "type": "ETSParameterExpression",
17977                    "name": {
17978                      "type": "Identifier",
17979                      "name": "comparator",
17980                      "typeAnnotation": {
17981                        "type": "ETSFunctionType",
17982                        "params": [
17983                          {
17984                            "type": "ETSParameterExpression",
17985                            "name": {
17986                              "type": "Identifier",
17987                              "name": "lhs",
17988                              "typeAnnotation": {
17989                                "type": "ETSTypeReference",
17990                                "part": {
17991                                  "type": "ETSTypeReferencePart",
17992                                  "name": {
17993                                    "type": "Identifier",
17994                                    "name": "T",
17995                                    "decorators": [],
17996                                    "loc": {
17997                                      "start": {
17998                                        "line": 207,
17999                                        "column": 74
18000                                      },
18001                                      "end": {
18002                                        "line": 207,
18003                                        "column": 75
18004                                      }
18005                                    }
18006                                  },
18007                                  "loc": {
18008                                    "start": {
18009                                      "line": 207,
18010                                      "column": 74
18011                                    },
18012                                    "end": {
18013                                      "line": 207,
18014                                      "column": 76
18015                                    }
18016                                  }
18017                                },
18018                                "loc": {
18019                                  "start": {
18020                                    "line": 207,
18021                                    "column": 74
18022                                  },
18023                                  "end": {
18024                                    "line": 207,
18025                                    "column": 76
18026                                  }
18027                                }
18028                              },
18029                              "decorators": [],
18030                              "loc": {
18031                                "start": {
18032                                  "line": 207,
18033                                  "column": 69
18034                                },
18035                                "end": {
18036                                  "line": 207,
18037                                  "column": 76
18038                                }
18039                              }
18040                            },
18041                            "loc": {
18042                              "start": {
18043                                "line": 207,
18044                                "column": 69
18045                              },
18046                              "end": {
18047                                "line": 207,
18048                                "column": 76
18049                              }
18050                            }
18051                          },
18052                          {
18053                            "type": "ETSParameterExpression",
18054                            "name": {
18055                              "type": "Identifier",
18056                              "name": "rhs",
18057                              "typeAnnotation": {
18058                                "type": "ETSTypeReference",
18059                                "part": {
18060                                  "type": "ETSTypeReferencePart",
18061                                  "name": {
18062                                    "type": "Identifier",
18063                                    "name": "T",
18064                                    "decorators": [],
18065                                    "loc": {
18066                                      "start": {
18067                                        "line": 207,
18068                                        "column": 82
18069                                      },
18070                                      "end": {
18071                                        "line": 207,
18072                                        "column": 83
18073                                      }
18074                                    }
18075                                  },
18076                                  "loc": {
18077                                    "start": {
18078                                      "line": 207,
18079                                      "column": 82
18080                                    },
18081                                    "end": {
18082                                      "line": 207,
18083                                      "column": 84
18084                                    }
18085                                  }
18086                                },
18087                                "loc": {
18088                                  "start": {
18089                                    "line": 207,
18090                                    "column": 82
18091                                  },
18092                                  "end": {
18093                                    "line": 207,
18094                                    "column": 84
18095                                  }
18096                                }
18097                              },
18098                              "decorators": [],
18099                              "loc": {
18100                                "start": {
18101                                  "line": 207,
18102                                  "column": 77
18103                                },
18104                                "end": {
18105                                  "line": 207,
18106                                  "column": 84
18107                                }
18108                              }
18109                            },
18110                            "loc": {
18111                              "start": {
18112                                "line": 207,
18113                                "column": 77
18114                              },
18115                              "end": {
18116                                "line": 207,
18117                                "column": 84
18118                              }
18119                            }
18120                          }
18121                        ],
18122                        "returnType": {
18123                          "type": "ETSPrimitiveType",
18124                          "loc": {
18125                            "start": {
18126                              "line": 207,
18127                              "column": 88
18128                            },
18129                            "end": {
18130                              "line": 207,
18131                              "column": 95
18132                            }
18133                          }
18134                        },
18135                        "loc": {
18136                          "start": {
18137                            "line": 207,
18138                            "column": 68
18139                          },
18140                          "end": {
18141                            "line": 207,
18142                            "column": 95
18143                          }
18144                        }
18145                      },
18146                      "decorators": [],
18147                      "loc": {
18148                        "start": {
18149                          "line": 207,
18150                          "column": 56
18151                        },
18152                        "end": {
18153                          "line": 207,
18154                          "column": 95
18155                        }
18156                      }
18157                    },
18158                    "loc": {
18159                      "start": {
18160                        "line": 207,
18161                        "column": 56
18162                      },
18163                      "end": {
18164                        "line": 207,
18165                        "column": 95
18166                      }
18167                    }
18168                  }
18169                ],
18170                "returnType": {
18171                  "type": "ETSPrimitiveType",
18172                  "loc": {
18173                    "start": {
18174                      "line": 207,
18175                      "column": 98
18176                    },
18177                    "end": {
18178                      "line": 207,
18179                      "column": 101
18180                    }
18181                  }
18182                },
18183                "body": {
18184                  "type": "BlockStatement",
18185                  "statements": [
18186                    {
18187                      "type": "VariableDeclaration",
18188                      "declarations": [
18189                        {
18190                          "type": "VariableDeclarator",
18191                          "id": {
18192                            "type": "Identifier",
18193                            "name": "last",
18194                            "decorators": [],
18195                            "loc": {
18196                              "start": {
18197                                "line": 208,
18198                                "column": 13
18199                              },
18200                              "end": {
18201                                "line": 208,
18202                                "column": 17
18203                              }
18204                            }
18205                          },
18206                          "init": {
18207                            "type": "BinaryExpression",
18208                            "operator": "-",
18209                            "left": {
18210                              "type": "Identifier",
18211                              "name": "r",
18212                              "decorators": [],
18213                              "loc": {
18214                                "start": {
18215                                  "line": 208,
18216                                  "column": 20
18217                                },
18218                                "end": {
18219                                  "line": 208,
18220                                  "column": 21
18221                                }
18222                              }
18223                            },
18224                            "right": {
18225                              "type": "NumberLiteral",
18226                              "value": 1,
18227                              "loc": {
18228                                "start": {
18229                                  "line": 208,
18230                                  "column": 24
18231                                },
18232                                "end": {
18233                                  "line": 208,
18234                                  "column": 25
18235                                }
18236                              }
18237                            },
18238                            "loc": {
18239                              "start": {
18240                                "line": 208,
18241                                "column": 20
18242                              },
18243                              "end": {
18244                                "line": 208,
18245                                "column": 25
18246                              }
18247                            }
18248                          },
18249                          "loc": {
18250                            "start": {
18251                              "line": 208,
18252                              "column": 13
18253                            },
18254                            "end": {
18255                              "line": 208,
18256                              "column": 25
18257                            }
18258                          }
18259                        }
18260                      ],
18261                      "kind": "let",
18262                      "loc": {
18263                        "start": {
18264                          "line": 208,
18265                          "column": 9
18266                        },
18267                        "end": {
18268                          "line": 208,
18269                          "column": 26
18270                        }
18271                      }
18272                    },
18273                    {
18274                      "type": "VariableDeclaration",
18275                      "declarations": [
18276                        {
18277                          "type": "VariableDeclarator",
18278                          "id": {
18279                            "type": "Identifier",
18280                            "name": "pivot",
18281                            "decorators": [],
18282                            "loc": {
18283                              "start": {
18284                                "line": 209,
18285                                "column": 13
18286                              },
18287                              "end": {
18288                                "line": 209,
18289                                "column": 18
18290                              }
18291                            }
18292                          },
18293                          "init": {
18294                            "type": "MemberExpression",
18295                            "object": {
18296                              "type": "Identifier",
18297                              "name": "arr",
18298                              "decorators": [],
18299                              "loc": {
18300                                "start": {
18301                                  "line": 209,
18302                                  "column": 21
18303                                },
18304                                "end": {
18305                                  "line": 209,
18306                                  "column": 24
18307                                }
18308                              }
18309                            },
18310                            "property": {
18311                              "type": "Identifier",
18312                              "name": "last",
18313                              "decorators": [],
18314                              "loc": {
18315                                "start": {
18316                                  "line": 209,
18317                                  "column": 25
18318                                },
18319                                "end": {
18320                                  "line": 209,
18321                                  "column": 29
18322                                }
18323                              }
18324                            },
18325                            "computed": true,
18326                            "optional": false,
18327                            "loc": {
18328                              "start": {
18329                                "line": 209,
18330                                "column": 21
18331                              },
18332                              "end": {
18333                                "line": 209,
18334                                "column": 30
18335                              }
18336                            }
18337                          },
18338                          "loc": {
18339                            "start": {
18340                              "line": 209,
18341                              "column": 13
18342                            },
18343                            "end": {
18344                              "line": 209,
18345                              "column": 30
18346                            }
18347                          }
18348                        }
18349                      ],
18350                      "kind": "let",
18351                      "loc": {
18352                        "start": {
18353                          "line": 209,
18354                          "column": 9
18355                        },
18356                        "end": {
18357                          "line": 209,
18358                          "column": 31
18359                        }
18360                      }
18361                    },
18362                    {
18363                      "type": "VariableDeclaration",
18364                      "declarations": [
18365                        {
18366                          "type": "VariableDeclarator",
18367                          "id": {
18368                            "type": "Identifier",
18369                            "name": "lessInd",
18370                            "decorators": [],
18371                            "loc": {
18372                              "start": {
18373                                "line": 210,
18374                                "column": 13
18375                              },
18376                              "end": {
18377                                "line": 210,
18378                                "column": 20
18379                              }
18380                            }
18381                          },
18382                          "init": {
18383                            "type": "BinaryExpression",
18384                            "operator": "-",
18385                            "left": {
18386                              "type": "Identifier",
18387                              "name": "l",
18388                              "decorators": [],
18389                              "loc": {
18390                                "start": {
18391                                  "line": 210,
18392                                  "column": 23
18393                                },
18394                                "end": {
18395                                  "line": 210,
18396                                  "column": 24
18397                                }
18398                              }
18399                            },
18400                            "right": {
18401                              "type": "NumberLiteral",
18402                              "value": 1,
18403                              "loc": {
18404                                "start": {
18405                                  "line": 210,
18406                                  "column": 27
18407                                },
18408                                "end": {
18409                                  "line": 210,
18410                                  "column": 28
18411                                }
18412                              }
18413                            },
18414                            "loc": {
18415                              "start": {
18416                                "line": 210,
18417                                "column": 23
18418                              },
18419                              "end": {
18420                                "line": 210,
18421                                "column": 28
18422                              }
18423                            }
18424                          },
18425                          "loc": {
18426                            "start": {
18427                              "line": 210,
18428                              "column": 13
18429                            },
18430                            "end": {
18431                              "line": 210,
18432                              "column": 28
18433                            }
18434                          }
18435                        }
18436                      ],
18437                      "kind": "let",
18438                      "loc": {
18439                        "start": {
18440                          "line": 210,
18441                          "column": 9
18442                        },
18443                        "end": {
18444                          "line": 210,
18445                          "column": 29
18446                        }
18447                      }
18448                    },
18449                    {
18450                      "type": "ForUpdateStatement",
18451                      "init": {
18452                        "type": "VariableDeclaration",
18453                        "declarations": [
18454                          {
18455                            "type": "VariableDeclarator",
18456                            "id": {
18457                              "type": "Identifier",
18458                              "name": "i",
18459                              "decorators": [],
18460                              "loc": {
18461                                "start": {
18462                                  "line": 211,
18463                                  "column": 18
18464                                },
18465                                "end": {
18466                                  "line": 211,
18467                                  "column": 19
18468                                }
18469                              }
18470                            },
18471                            "init": {
18472                              "type": "Identifier",
18473                              "name": "l",
18474                              "decorators": [],
18475                              "loc": {
18476                                "start": {
18477                                  "line": 211,
18478                                  "column": 22
18479                                },
18480                                "end": {
18481                                  "line": 211,
18482                                  "column": 23
18483                                }
18484                              }
18485                            },
18486                            "loc": {
18487                              "start": {
18488                                "line": 211,
18489                                "column": 18
18490                              },
18491                              "end": {
18492                                "line": 211,
18493                                "column": 23
18494                              }
18495                            }
18496                          }
18497                        ],
18498                        "kind": "let",
18499                        "loc": {
18500                          "start": {
18501                            "line": 211,
18502                            "column": 14
18503                          },
18504                          "end": {
18505                            "line": 211,
18506                            "column": 23
18507                          }
18508                        }
18509                      },
18510                      "test": {
18511                        "type": "BinaryExpression",
18512                        "operator": "<",
18513                        "left": {
18514                          "type": "Identifier",
18515                          "name": "i",
18516                          "decorators": [],
18517                          "loc": {
18518                            "start": {
18519                              "line": 211,
18520                              "column": 25
18521                            },
18522                            "end": {
18523                              "line": 211,
18524                              "column": 26
18525                            }
18526                          }
18527                        },
18528                        "right": {
18529                          "type": "Identifier",
18530                          "name": "last",
18531                          "decorators": [],
18532                          "loc": {
18533                            "start": {
18534                              "line": 211,
18535                              "column": 29
18536                            },
18537                            "end": {
18538                              "line": 211,
18539                              "column": 33
18540                            }
18541                          }
18542                        },
18543                        "loc": {
18544                          "start": {
18545                            "line": 211,
18546                            "column": 25
18547                          },
18548                          "end": {
18549                            "line": 211,
18550                            "column": 33
18551                          }
18552                        }
18553                      },
18554                      "update": {
18555                        "type": "UpdateExpression",
18556                        "operator": "++",
18557                        "prefix": true,
18558                        "argument": {
18559                          "type": "Identifier",
18560                          "name": "i",
18561                          "decorators": [],
18562                          "loc": {
18563                            "start": {
18564                              "line": 211,
18565                              "column": 37
18566                            },
18567                            "end": {
18568                              "line": 211,
18569                              "column": 38
18570                            }
18571                          }
18572                        },
18573                        "loc": {
18574                          "start": {
18575                            "line": 211,
18576                            "column": 35
18577                          },
18578                          "end": {
18579                            "line": 211,
18580                            "column": 38
18581                          }
18582                        }
18583                      },
18584                      "body": {
18585                        "type": "BlockStatement",
18586                        "statements": [
18587                          {
18588                            "type": "IfStatement",
18589                            "test": {
18590                              "type": "CallExpression",
18591                              "callee": {
18592                                "type": "Identifier",
18593                                "name": "comparator",
18594                                "decorators": [],
18595                                "loc": {
18596                                  "start": {
18597                                    "line": 212,
18598                                    "column": 17
18599                                  },
18600                                  "end": {
18601                                    "line": 212,
18602                                    "column": 27
18603                                  }
18604                                }
18605                              },
18606                              "arguments": [
18607                                {
18608                                  "type": "MemberExpression",
18609                                  "object": {
18610                                    "type": "Identifier",
18611                                    "name": "arr",
18612                                    "decorators": [],
18613                                    "loc": {
18614                                      "start": {
18615                                        "line": 212,
18616                                        "column": 28
18617                                      },
18618                                      "end": {
18619                                        "line": 212,
18620                                        "column": 31
18621                                      }
18622                                    }
18623                                  },
18624                                  "property": {
18625                                    "type": "Identifier",
18626                                    "name": "i",
18627                                    "decorators": [],
18628                                    "loc": {
18629                                      "start": {
18630                                        "line": 212,
18631                                        "column": 32
18632                                      },
18633                                      "end": {
18634                                        "line": 212,
18635                                        "column": 33
18636                                      }
18637                                    }
18638                                  },
18639                                  "computed": true,
18640                                  "optional": false,
18641                                  "loc": {
18642                                    "start": {
18643                                      "line": 212,
18644                                      "column": 28
18645                                    },
18646                                    "end": {
18647                                      "line": 212,
18648                                      "column": 34
18649                                    }
18650                                  }
18651                                },
18652                                {
18653                                  "type": "Identifier",
18654                                  "name": "pivot",
18655                                  "decorators": [],
18656                                  "loc": {
18657                                    "start": {
18658                                      "line": 212,
18659                                      "column": 36
18660                                    },
18661                                    "end": {
18662                                      "line": 212,
18663                                      "column": 41
18664                                    }
18665                                  }
18666                                }
18667                              ],
18668                              "optional": false,
18669                              "loc": {
18670                                "start": {
18671                                  "line": 212,
18672                                  "column": 17
18673                                },
18674                                "end": {
18675                                  "line": 212,
18676                                  "column": 42
18677                                }
18678                              }
18679                            },
18680                            "consequent": {
18681                              "type": "BlockStatement",
18682                              "statements": [
18683                                {
18684                                  "type": "ExpressionStatement",
18685                                  "expression": {
18686                                    "type": "UpdateExpression",
18687                                    "operator": "++",
18688                                    "prefix": true,
18689                                    "argument": {
18690                                      "type": "Identifier",
18691                                      "name": "lessInd",
18692                                      "decorators": [],
18693                                      "loc": {
18694                                        "start": {
18695                                          "line": 213,
18696                                          "column": 19
18697                                        },
18698                                        "end": {
18699                                          "line": 213,
18700                                          "column": 26
18701                                        }
18702                                      }
18703                                    },
18704                                    "loc": {
18705                                      "start": {
18706                                        "line": 213,
18707                                        "column": 17
18708                                      },
18709                                      "end": {
18710                                        "line": 213,
18711                                        "column": 26
18712                                      }
18713                                    }
18714                                  },
18715                                  "loc": {
18716                                    "start": {
18717                                      "line": 213,
18718                                      "column": 17
18719                                    },
18720                                    "end": {
18721                                      "line": 213,
18722                                      "column": 27
18723                                    }
18724                                  }
18725                                },
18726                                {
18727                                  "type": "VariableDeclaration",
18728                                  "declarations": [
18729                                    {
18730                                      "type": "VariableDeclarator",
18731                                      "id": {
18732                                        "type": "Identifier",
18733                                        "name": "tmp",
18734                                        "decorators": [],
18735                                        "loc": {
18736                                          "start": {
18737                                            "line": 214,
18738                                            "column": 21
18739                                          },
18740                                          "end": {
18741                                            "line": 214,
18742                                            "column": 24
18743                                          }
18744                                        }
18745                                      },
18746                                      "init": {
18747                                        "type": "MemberExpression",
18748                                        "object": {
18749                                          "type": "Identifier",
18750                                          "name": "arr",
18751                                          "decorators": [],
18752                                          "loc": {
18753                                            "start": {
18754                                              "line": 214,
18755                                              "column": 27
18756                                            },
18757                                            "end": {
18758                                              "line": 214,
18759                                              "column": 30
18760                                            }
18761                                          }
18762                                        },
18763                                        "property": {
18764                                          "type": "Identifier",
18765                                          "name": "i",
18766                                          "decorators": [],
18767                                          "loc": {
18768                                            "start": {
18769                                              "line": 214,
18770                                              "column": 31
18771                                            },
18772                                            "end": {
18773                                              "line": 214,
18774                                              "column": 32
18775                                            }
18776                                          }
18777                                        },
18778                                        "computed": true,
18779                                        "optional": false,
18780                                        "loc": {
18781                                          "start": {
18782                                            "line": 214,
18783                                            "column": 27
18784                                          },
18785                                          "end": {
18786                                            "line": 214,
18787                                            "column": 33
18788                                          }
18789                                        }
18790                                      },
18791                                      "loc": {
18792                                        "start": {
18793                                          "line": 214,
18794                                          "column": 21
18795                                        },
18796                                        "end": {
18797                                          "line": 214,
18798                                          "column": 33
18799                                        }
18800                                      }
18801                                    }
18802                                  ],
18803                                  "kind": "let",
18804                                  "loc": {
18805                                    "start": {
18806                                      "line": 214,
18807                                      "column": 17
18808                                    },
18809                                    "end": {
18810                                      "line": 214,
18811                                      "column": 34
18812                                    }
18813                                  }
18814                                },
18815                                {
18816                                  "type": "ExpressionStatement",
18817                                  "expression": {
18818                                    "type": "AssignmentExpression",
18819                                    "operator": "=",
18820                                    "left": {
18821                                      "type": "MemberExpression",
18822                                      "object": {
18823                                        "type": "Identifier",
18824                                        "name": "arr",
18825                                        "decorators": [],
18826                                        "loc": {
18827                                          "start": {
18828                                            "line": 215,
18829                                            "column": 17
18830                                          },
18831                                          "end": {
18832                                            "line": 215,
18833                                            "column": 20
18834                                          }
18835                                        }
18836                                      },
18837                                      "property": {
18838                                        "type": "Identifier",
18839                                        "name": "i",
18840                                        "decorators": [],
18841                                        "loc": {
18842                                          "start": {
18843                                            "line": 215,
18844                                            "column": 21
18845                                          },
18846                                          "end": {
18847                                            "line": 215,
18848                                            "column": 22
18849                                          }
18850                                        }
18851                                      },
18852                                      "computed": true,
18853                                      "optional": false,
18854                                      "loc": {
18855                                        "start": {
18856                                          "line": 215,
18857                                          "column": 17
18858                                        },
18859                                        "end": {
18860                                          "line": 215,
18861                                          "column": 23
18862                                        }
18863                                      }
18864                                    },
18865                                    "right": {
18866                                      "type": "MemberExpression",
18867                                      "object": {
18868                                        "type": "Identifier",
18869                                        "name": "arr",
18870                                        "decorators": [],
18871                                        "loc": {
18872                                          "start": {
18873                                            "line": 215,
18874                                            "column": 26
18875                                          },
18876                                          "end": {
18877                                            "line": 215,
18878                                            "column": 29
18879                                          }
18880                                        }
18881                                      },
18882                                      "property": {
18883                                        "type": "Identifier",
18884                                        "name": "lessInd",
18885                                        "decorators": [],
18886                                        "loc": {
18887                                          "start": {
18888                                            "line": 215,
18889                                            "column": 30
18890                                          },
18891                                          "end": {
18892                                            "line": 215,
18893                                            "column": 37
18894                                          }
18895                                        }
18896                                      },
18897                                      "computed": true,
18898                                      "optional": false,
18899                                      "loc": {
18900                                        "start": {
18901                                          "line": 215,
18902                                          "column": 26
18903                                        },
18904                                        "end": {
18905                                          "line": 215,
18906                                          "column": 38
18907                                        }
18908                                      }
18909                                    },
18910                                    "loc": {
18911                                      "start": {
18912                                        "line": 215,
18913                                        "column": 17
18914                                      },
18915                                      "end": {
18916                                        "line": 215,
18917                                        "column": 38
18918                                      }
18919                                    }
18920                                  },
18921                                  "loc": {
18922                                    "start": {
18923                                      "line": 215,
18924                                      "column": 17
18925                                    },
18926                                    "end": {
18927                                      "line": 215,
18928                                      "column": 39
18929                                    }
18930                                  }
18931                                },
18932                                {
18933                                  "type": "ExpressionStatement",
18934                                  "expression": {
18935                                    "type": "AssignmentExpression",
18936                                    "operator": "=",
18937                                    "left": {
18938                                      "type": "MemberExpression",
18939                                      "object": {
18940                                        "type": "Identifier",
18941                                        "name": "arr",
18942                                        "decorators": [],
18943                                        "loc": {
18944                                          "start": {
18945                                            "line": 216,
18946                                            "column": 17
18947                                          },
18948                                          "end": {
18949                                            "line": 216,
18950                                            "column": 20
18951                                          }
18952                                        }
18953                                      },
18954                                      "property": {
18955                                        "type": "Identifier",
18956                                        "name": "lessInd",
18957                                        "decorators": [],
18958                                        "loc": {
18959                                          "start": {
18960                                            "line": 216,
18961                                            "column": 21
18962                                          },
18963                                          "end": {
18964                                            "line": 216,
18965                                            "column": 28
18966                                          }
18967                                        }
18968                                      },
18969                                      "computed": true,
18970                                      "optional": false,
18971                                      "loc": {
18972                                        "start": {
18973                                          "line": 216,
18974                                          "column": 17
18975                                        },
18976                                        "end": {
18977                                          "line": 216,
18978                                          "column": 29
18979                                        }
18980                                      }
18981                                    },
18982                                    "right": {
18983                                      "type": "Identifier",
18984                                      "name": "tmp",
18985                                      "decorators": [],
18986                                      "loc": {
18987                                        "start": {
18988                                          "line": 216,
18989                                          "column": 32
18990                                        },
18991                                        "end": {
18992                                          "line": 216,
18993                                          "column": 35
18994                                        }
18995                                      }
18996                                    },
18997                                    "loc": {
18998                                      "start": {
18999                                        "line": 216,
19000                                        "column": 17
19001                                      },
19002                                      "end": {
19003                                        "line": 216,
19004                                        "column": 35
19005                                      }
19006                                    }
19007                                  },
19008                                  "loc": {
19009                                    "start": {
19010                                      "line": 216,
19011                                      "column": 17
19012                                    },
19013                                    "end": {
19014                                      "line": 216,
19015                                      "column": 36
19016                                    }
19017                                  }
19018                                }
19019                              ],
19020                              "loc": {
19021                                "start": {
19022                                  "line": 212,
19023                                  "column": 44
19024                                },
19025                                "end": {
19026                                  "line": 217,
19027                                  "column": 14
19028                                }
19029                              }
19030                            },
19031                            "alternate": null,
19032                            "loc": {
19033                              "start": {
19034                                "line": 212,
19035                                "column": 13
19036                              },
19037                              "end": {
19038                                "line": 217,
19039                                "column": 14
19040                              }
19041                            }
19042                          }
19043                        ],
19044                        "loc": {
19045                          "start": {
19046                            "line": 211,
19047                            "column": 40
19048                          },
19049                          "end": {
19050                            "line": 218,
19051                            "column": 10
19052                          }
19053                        }
19054                      },
19055                      "loc": {
19056                        "start": {
19057                          "line": 211,
19058                          "column": 9
19059                        },
19060                        "end": {
19061                          "line": 218,
19062                          "column": 10
19063                        }
19064                      }
19065                    },
19066                    {
19067                      "type": "VariableDeclaration",
19068                      "declarations": [
19069                        {
19070                          "type": "VariableDeclarator",
19071                          "id": {
19072                            "type": "Identifier",
19073                            "name": "tmp",
19074                            "decorators": [],
19075                            "loc": {
19076                              "start": {
19077                                "line": 219,
19078                                "column": 13
19079                              },
19080                              "end": {
19081                                "line": 219,
19082                                "column": 16
19083                              }
19084                            }
19085                          },
19086                          "init": {
19087                            "type": "MemberExpression",
19088                            "object": {
19089                              "type": "Identifier",
19090                              "name": "arr",
19091                              "decorators": [],
19092                              "loc": {
19093                                "start": {
19094                                  "line": 219,
19095                                  "column": 19
19096                                },
19097                                "end": {
19098                                  "line": 219,
19099                                  "column": 22
19100                                }
19101                              }
19102                            },
19103                            "property": {
19104                              "type": "BinaryExpression",
19105                              "operator": "+",
19106                              "left": {
19107                                "type": "Identifier",
19108                                "name": "lessInd",
19109                                "decorators": [],
19110                                "loc": {
19111                                  "start": {
19112                                    "line": 219,
19113                                    "column": 23
19114                                  },
19115                                  "end": {
19116                                    "line": 219,
19117                                    "column": 30
19118                                  }
19119                                }
19120                              },
19121                              "right": {
19122                                "type": "NumberLiteral",
19123                                "value": 1,
19124                                "loc": {
19125                                  "start": {
19126                                    "line": 219,
19127                                    "column": 33
19128                                  },
19129                                  "end": {
19130                                    "line": 219,
19131                                    "column": 34
19132                                  }
19133                                }
19134                              },
19135                              "loc": {
19136                                "start": {
19137                                  "line": 219,
19138                                  "column": 23
19139                                },
19140                                "end": {
19141                                  "line": 219,
19142                                  "column": 34
19143                                }
19144                              }
19145                            },
19146                            "computed": true,
19147                            "optional": false,
19148                            "loc": {
19149                              "start": {
19150                                "line": 219,
19151                                "column": 19
19152                              },
19153                              "end": {
19154                                "line": 219,
19155                                "column": 35
19156                              }
19157                            }
19158                          },
19159                          "loc": {
19160                            "start": {
19161                              "line": 219,
19162                              "column": 13
19163                            },
19164                            "end": {
19165                              "line": 219,
19166                              "column": 35
19167                            }
19168                          }
19169                        }
19170                      ],
19171                      "kind": "let",
19172                      "loc": {
19173                        "start": {
19174                          "line": 219,
19175                          "column": 9
19176                        },
19177                        "end": {
19178                          "line": 219,
19179                          "column": 36
19180                        }
19181                      }
19182                    },
19183                    {
19184                      "type": "ExpressionStatement",
19185                      "expression": {
19186                        "type": "AssignmentExpression",
19187                        "operator": "=",
19188                        "left": {
19189                          "type": "MemberExpression",
19190                          "object": {
19191                            "type": "Identifier",
19192                            "name": "arr",
19193                            "decorators": [],
19194                            "loc": {
19195                              "start": {
19196                                "line": 220,
19197                                "column": 9
19198                              },
19199                              "end": {
19200                                "line": 220,
19201                                "column": 12
19202                              }
19203                            }
19204                          },
19205                          "property": {
19206                            "type": "BinaryExpression",
19207                            "operator": "+",
19208                            "left": {
19209                              "type": "Identifier",
19210                              "name": "lessInd",
19211                              "decorators": [],
19212                              "loc": {
19213                                "start": {
19214                                  "line": 220,
19215                                  "column": 13
19216                                },
19217                                "end": {
19218                                  "line": 220,
19219                                  "column": 20
19220                                }
19221                              }
19222                            },
19223                            "right": {
19224                              "type": "NumberLiteral",
19225                              "value": 1,
19226                              "loc": {
19227                                "start": {
19228                                  "line": 220,
19229                                  "column": 23
19230                                },
19231                                "end": {
19232                                  "line": 220,
19233                                  "column": 24
19234                                }
19235                              }
19236                            },
19237                            "loc": {
19238                              "start": {
19239                                "line": 220,
19240                                "column": 13
19241                              },
19242                              "end": {
19243                                "line": 220,
19244                                "column": 24
19245                              }
19246                            }
19247                          },
19248                          "computed": true,
19249                          "optional": false,
19250                          "loc": {
19251                            "start": {
19252                              "line": 220,
19253                              "column": 9
19254                            },
19255                            "end": {
19256                              "line": 220,
19257                              "column": 25
19258                            }
19259                          }
19260                        },
19261                        "right": {
19262                          "type": "MemberExpression",
19263                          "object": {
19264                            "type": "Identifier",
19265                            "name": "arr",
19266                            "decorators": [],
19267                            "loc": {
19268                              "start": {
19269                                "line": 220,
19270                                "column": 28
19271                              },
19272                              "end": {
19273                                "line": 220,
19274                                "column": 31
19275                              }
19276                            }
19277                          },
19278                          "property": {
19279                            "type": "Identifier",
19280                            "name": "last",
19281                            "decorators": [],
19282                            "loc": {
19283                              "start": {
19284                                "line": 220,
19285                                "column": 32
19286                              },
19287                              "end": {
19288                                "line": 220,
19289                                "column": 36
19290                              }
19291                            }
19292                          },
19293                          "computed": true,
19294                          "optional": false,
19295                          "loc": {
19296                            "start": {
19297                              "line": 220,
19298                              "column": 28
19299                            },
19300                            "end": {
19301                              "line": 220,
19302                              "column": 37
19303                            }
19304                          }
19305                        },
19306                        "loc": {
19307                          "start": {
19308                            "line": 220,
19309                            "column": 9
19310                          },
19311                          "end": {
19312                            "line": 220,
19313                            "column": 37
19314                          }
19315                        }
19316                      },
19317                      "loc": {
19318                        "start": {
19319                          "line": 220,
19320                          "column": 9
19321                        },
19322                        "end": {
19323                          "line": 220,
19324                          "column": 38
19325                        }
19326                      }
19327                    },
19328                    {
19329                      "type": "ExpressionStatement",
19330                      "expression": {
19331                        "type": "AssignmentExpression",
19332                        "operator": "=",
19333                        "left": {
19334                          "type": "MemberExpression",
19335                          "object": {
19336                            "type": "Identifier",
19337                            "name": "arr",
19338                            "decorators": [],
19339                            "loc": {
19340                              "start": {
19341                                "line": 221,
19342                                "column": 9
19343                              },
19344                              "end": {
19345                                "line": 221,
19346                                "column": 12
19347                              }
19348                            }
19349                          },
19350                          "property": {
19351                            "type": "Identifier",
19352                            "name": "last",
19353                            "decorators": [],
19354                            "loc": {
19355                              "start": {
19356                                "line": 221,
19357                                "column": 13
19358                              },
19359                              "end": {
19360                                "line": 221,
19361                                "column": 17
19362                              }
19363                            }
19364                          },
19365                          "computed": true,
19366                          "optional": false,
19367                          "loc": {
19368                            "start": {
19369                              "line": 221,
19370                              "column": 9
19371                            },
19372                            "end": {
19373                              "line": 221,
19374                              "column": 18
19375                            }
19376                          }
19377                        },
19378                        "right": {
19379                          "type": "Identifier",
19380                          "name": "tmp",
19381                          "decorators": [],
19382                          "loc": {
19383                            "start": {
19384                              "line": 221,
19385                              "column": 21
19386                            },
19387                            "end": {
19388                              "line": 221,
19389                              "column": 24
19390                            }
19391                          }
19392                        },
19393                        "loc": {
19394                          "start": {
19395                            "line": 221,
19396                            "column": 9
19397                          },
19398                          "end": {
19399                            "line": 221,
19400                            "column": 24
19401                          }
19402                        }
19403                      },
19404                      "loc": {
19405                        "start": {
19406                          "line": 221,
19407                          "column": 9
19408                        },
19409                        "end": {
19410                          "line": 221,
19411                          "column": 25
19412                        }
19413                      }
19414                    },
19415                    {
19416                      "type": "ReturnStatement",
19417                      "argument": {
19418                        "type": "BinaryExpression",
19419                        "operator": "+",
19420                        "left": {
19421                          "type": "Identifier",
19422                          "name": "lessInd",
19423                          "decorators": [],
19424                          "loc": {
19425                            "start": {
19426                              "line": 222,
19427                              "column": 16
19428                            },
19429                            "end": {
19430                              "line": 222,
19431                              "column": 23
19432                            }
19433                          }
19434                        },
19435                        "right": {
19436                          "type": "NumberLiteral",
19437                          "value": 1,
19438                          "loc": {
19439                            "start": {
19440                              "line": 222,
19441                              "column": 26
19442                            },
19443                            "end": {
19444                              "line": 222,
19445                              "column": 27
19446                            }
19447                          }
19448                        },
19449                        "loc": {
19450                          "start": {
19451                            "line": 222,
19452                            "column": 16
19453                          },
19454                          "end": {
19455                            "line": 222,
19456                            "column": 27
19457                          }
19458                        }
19459                      },
19460                      "loc": {
19461                        "start": {
19462                          "line": 222,
19463                          "column": 9
19464                        },
19465                        "end": {
19466                          "line": 222,
19467                          "column": 28
19468                        }
19469                      }
19470                    }
19471                  ],
19472                  "loc": {
19473                    "start": {
19474                      "line": 207,
19475                      "column": 102
19476                    },
19477                    "end": {
19478                      "line": 223,
19479                      "column": 6
19480                    }
19481                  }
19482                },
19483                "loc": {
19484                  "start": {
19485                    "line": 207,
19486                    "column": 29
19487                  },
19488                  "end": {
19489                    "line": 223,
19490                    "column": 6
19491                  }
19492                }
19493              },
19494              "loc": {
19495                "start": {
19496                  "line": 207,
19497                  "column": 29
19498                },
19499                "end": {
19500                  "line": 223,
19501                  "column": 6
19502                }
19503              }
19504            },
19505            "overloads": [],
19506            "decorators": [],
19507            "loc": {
19508              "start": {
19509                "line": 207,
19510                "column": 5
19511              },
19512              "end": {
19513                "line": 223,
19514                "column": 6
19515              }
19516            }
19517          },
19518          {
19519            "type": "MethodDefinition",
19520            "key": {
19521              "type": "Identifier",
19522              "name": "bubbleSort",
19523              "decorators": [],
19524              "loc": {
19525                "start": {
19526                  "line": 225,
19527                  "column": 20
19528                },
19529                "end": {
19530                  "line": 225,
19531                  "column": 30
19532                }
19533              }
19534            },
19535            "kind": "method",
19536            "accessibility": "private",
19537            "static": true,
19538            "optional": false,
19539            "computed": false,
19540            "value": {
19541              "type": "FunctionExpression",
19542              "function": {
19543                "type": "ScriptFunction",
19544                "id": {
19545                  "type": "Identifier",
19546                  "name": "bubbleSort",
19547                  "decorators": [],
19548                  "loc": {
19549                    "start": {
19550                      "line": 225,
19551                      "column": 20
19552                    },
19553                    "end": {
19554                      "line": 225,
19555                      "column": 30
19556                    }
19557                  }
19558                },
19559                "generator": false,
19560                "async": false,
19561                "expression": false,
19562                "params": [
19563                  {
19564                    "type": "ETSParameterExpression",
19565                    "name": {
19566                      "type": "Identifier",
19567                      "name": "arr",
19568                      "typeAnnotation": {
19569                        "type": "TSArrayType",
19570                        "elementType": {
19571                          "type": "ETSTypeReference",
19572                          "part": {
19573                            "type": "ETSTypeReferencePart",
19574                            "name": {
19575                              "type": "Identifier",
19576                              "name": "T",
19577                              "decorators": [],
19578                              "loc": {
19579                                "start": {
19580                                  "line": 225,
19581                                  "column": 36
19582                                },
19583                                "end": {
19584                                  "line": 225,
19585                                  "column": 37
19586                                }
19587                              }
19588                            },
19589                            "loc": {
19590                              "start": {
19591                                "line": 225,
19592                                "column": 36
19593                              },
19594                              "end": {
19595                                "line": 225,
19596                                "column": 38
19597                              }
19598                            }
19599                          },
19600                          "loc": {
19601                            "start": {
19602                              "line": 225,
19603                              "column": 36
19604                            },
19605                            "end": {
19606                              "line": 225,
19607                              "column": 38
19608                            }
19609                          }
19610                        },
19611                        "loc": {
19612                          "start": {
19613                            "line": 225,
19614                            "column": 39
19615                          },
19616                          "end": {
19617                            "line": 225,
19618                            "column": 40
19619                          }
19620                        }
19621                      },
19622                      "decorators": [],
19623                      "loc": {
19624                        "start": {
19625                          "line": 225,
19626                          "column": 31
19627                        },
19628                        "end": {
19629                          "line": 225,
19630                          "column": 40
19631                        }
19632                      }
19633                    },
19634                    "loc": {
19635                      "start": {
19636                        "line": 225,
19637                        "column": 31
19638                      },
19639                      "end": {
19640                        "line": 225,
19641                        "column": 40
19642                      }
19643                    }
19644                  },
19645                  {
19646                    "type": "ETSParameterExpression",
19647                    "name": {
19648                      "type": "Identifier",
19649                      "name": "l",
19650                      "typeAnnotation": {
19651                        "type": "ETSPrimitiveType",
19652                        "loc": {
19653                          "start": {
19654                            "line": 225,
19655                            "column": 44
19656                          },
19657                          "end": {
19658                            "line": 225,
19659                            "column": 47
19660                          }
19661                        }
19662                      },
19663                      "decorators": [],
19664                      "loc": {
19665                        "start": {
19666                          "line": 225,
19667                          "column": 41
19668                        },
19669                        "end": {
19670                          "line": 225,
19671                          "column": 47
19672                        }
19673                      }
19674                    },
19675                    "loc": {
19676                      "start": {
19677                        "line": 225,
19678                        "column": 41
19679                      },
19680                      "end": {
19681                        "line": 225,
19682                        "column": 47
19683                      }
19684                    }
19685                  },
19686                  {
19687                    "type": "ETSParameterExpression",
19688                    "name": {
19689                      "type": "Identifier",
19690                      "name": "r",
19691                      "typeAnnotation": {
19692                        "type": "ETSPrimitiveType",
19693                        "loc": {
19694                          "start": {
19695                            "line": 225,
19696                            "column": 52
19697                          },
19698                          "end": {
19699                            "line": 225,
19700                            "column": 55
19701                          }
19702                        }
19703                      },
19704                      "decorators": [],
19705                      "loc": {
19706                        "start": {
19707                          "line": 225,
19708                          "column": 49
19709                        },
19710                        "end": {
19711                          "line": 225,
19712                          "column": 55
19713                        }
19714                      }
19715                    },
19716                    "loc": {
19717                      "start": {
19718                        "line": 225,
19719                        "column": 49
19720                      },
19721                      "end": {
19722                        "line": 225,
19723                        "column": 55
19724                      }
19725                    }
19726                  },
19727                  {
19728                    "type": "ETSParameterExpression",
19729                    "name": {
19730                      "type": "Identifier",
19731                      "name": "comparator",
19732                      "typeAnnotation": {
19733                        "type": "ETSFunctionType",
19734                        "params": [
19735                          {
19736                            "type": "ETSParameterExpression",
19737                            "name": {
19738                              "type": "Identifier",
19739                              "name": "lhs",
19740                              "typeAnnotation": {
19741                                "type": "ETSTypeReference",
19742                                "part": {
19743                                  "type": "ETSTypeReferencePart",
19744                                  "name": {
19745                                    "type": "Identifier",
19746                                    "name": "T",
19747                                    "decorators": [],
19748                                    "loc": {
19749                                      "start": {
19750                                        "line": 225,
19751                                        "column": 75
19752                                      },
19753                                      "end": {
19754                                        "line": 225,
19755                                        "column": 76
19756                                      }
19757                                    }
19758                                  },
19759                                  "loc": {
19760                                    "start": {
19761                                      "line": 225,
19762                                      "column": 75
19763                                    },
19764                                    "end": {
19765                                      "line": 225,
19766                                      "column": 77
19767                                    }
19768                                  }
19769                                },
19770                                "loc": {
19771                                  "start": {
19772                                    "line": 225,
19773                                    "column": 75
19774                                  },
19775                                  "end": {
19776                                    "line": 225,
19777                                    "column": 77
19778                                  }
19779                                }
19780                              },
19781                              "decorators": [],
19782                              "loc": {
19783                                "start": {
19784                                  "line": 225,
19785                                  "column": 70
19786                                },
19787                                "end": {
19788                                  "line": 225,
19789                                  "column": 77
19790                                }
19791                              }
19792                            },
19793                            "loc": {
19794                              "start": {
19795                                "line": 225,
19796                                "column": 70
19797                              },
19798                              "end": {
19799                                "line": 225,
19800                                "column": 77
19801                              }
19802                            }
19803                          },
19804                          {
19805                            "type": "ETSParameterExpression",
19806                            "name": {
19807                              "type": "Identifier",
19808                              "name": "rhs",
19809                              "typeAnnotation": {
19810                                "type": "ETSTypeReference",
19811                                "part": {
19812                                  "type": "ETSTypeReferencePart",
19813                                  "name": {
19814                                    "type": "Identifier",
19815                                    "name": "T",
19816                                    "decorators": [],
19817                                    "loc": {
19818                                      "start": {
19819                                        "line": 225,
19820                                        "column": 83
19821                                      },
19822                                      "end": {
19823                                        "line": 225,
19824                                        "column": 84
19825                                      }
19826                                    }
19827                                  },
19828                                  "loc": {
19829                                    "start": {
19830                                      "line": 225,
19831                                      "column": 83
19832                                    },
19833                                    "end": {
19834                                      "line": 225,
19835                                      "column": 85
19836                                    }
19837                                  }
19838                                },
19839                                "loc": {
19840                                  "start": {
19841                                    "line": 225,
19842                                    "column": 83
19843                                  },
19844                                  "end": {
19845                                    "line": 225,
19846                                    "column": 85
19847                                  }
19848                                }
19849                              },
19850                              "decorators": [],
19851                              "loc": {
19852                                "start": {
19853                                  "line": 225,
19854                                  "column": 78
19855                                },
19856                                "end": {
19857                                  "line": 225,
19858                                  "column": 85
19859                                }
19860                              }
19861                            },
19862                            "loc": {
19863                              "start": {
19864                                "line": 225,
19865                                "column": 78
19866                              },
19867                              "end": {
19868                                "line": 225,
19869                                "column": 85
19870                              }
19871                            }
19872                          }
19873                        ],
19874                        "returnType": {
19875                          "type": "ETSPrimitiveType",
19876                          "loc": {
19877                            "start": {
19878                              "line": 225,
19879                              "column": 89
19880                            },
19881                            "end": {
19882                              "line": 225,
19883                              "column": 96
19884                            }
19885                          }
19886                        },
19887                        "loc": {
19888                          "start": {
19889                            "line": 225,
19890                            "column": 69
19891                          },
19892                          "end": {
19893                            "line": 225,
19894                            "column": 96
19895                          }
19896                        }
19897                      },
19898                      "decorators": [],
19899                      "loc": {
19900                        "start": {
19901                          "line": 225,
19902                          "column": 57
19903                        },
19904                        "end": {
19905                          "line": 225,
19906                          "column": 96
19907                        }
19908                      }
19909                    },
19910                    "loc": {
19911                      "start": {
19912                        "line": 225,
19913                        "column": 57
19914                      },
19915                      "end": {
19916                        "line": 225,
19917                        "column": 96
19918                      }
19919                    }
19920                  }
19921                ],
19922                "returnType": {
19923                  "type": "ETSPrimitiveType",
19924                  "loc": {
19925                    "start": {
19926                      "line": 225,
19927                      "column": 99
19928                    },
19929                    "end": {
19930                      "line": 225,
19931                      "column": 103
19932                    }
19933                  }
19934                },
19935                "body": {
19936                  "type": "BlockStatement",
19937                  "statements": [
19938                    {
19939                      "type": "ForUpdateStatement",
19940                      "init": {
19941                        "type": "VariableDeclaration",
19942                        "declarations": [
19943                          {
19944                            "type": "VariableDeclarator",
19945                            "id": {
19946                              "type": "Identifier",
19947                              "name": "i",
19948                              "decorators": [],
19949                              "loc": {
19950                                "start": {
19951                                  "line": 226,
19952                                  "column": 18
19953                                },
19954                                "end": {
19955                                  "line": 226,
19956                                  "column": 19
19957                                }
19958                              }
19959                            },
19960                            "init": {
19961                              "type": "Identifier",
19962                              "name": "l",
19963                              "decorators": [],
19964                              "loc": {
19965                                "start": {
19966                                  "line": 226,
19967                                  "column": 22
19968                                },
19969                                "end": {
19970                                  "line": 226,
19971                                  "column": 23
19972                                }
19973                              }
19974                            },
19975                            "loc": {
19976                              "start": {
19977                                "line": 226,
19978                                "column": 18
19979                              },
19980                              "end": {
19981                                "line": 226,
19982                                "column": 23
19983                              }
19984                            }
19985                          }
19986                        ],
19987                        "kind": "let",
19988                        "loc": {
19989                          "start": {
19990                            "line": 226,
19991                            "column": 14
19992                          },
19993                          "end": {
19994                            "line": 226,
19995                            "column": 23
19996                          }
19997                        }
19998                      },
19999                      "test": {
20000                        "type": "BinaryExpression",
20001                        "operator": "<",
20002                        "left": {
20003                          "type": "Identifier",
20004                          "name": "i",
20005                          "decorators": [],
20006                          "loc": {
20007                            "start": {
20008                              "line": 226,
20009                              "column": 25
20010                            },
20011                            "end": {
20012                              "line": 226,
20013                              "column": 26
20014                            }
20015                          }
20016                        },
20017                        "right": {
20018                          "type": "Identifier",
20019                          "name": "r",
20020                          "decorators": [],
20021                          "loc": {
20022                            "start": {
20023                              "line": 226,
20024                              "column": 29
20025                            },
20026                            "end": {
20027                              "line": 226,
20028                              "column": 30
20029                            }
20030                          }
20031                        },
20032                        "loc": {
20033                          "start": {
20034                            "line": 226,
20035                            "column": 25
20036                          },
20037                          "end": {
20038                            "line": 226,
20039                            "column": 30
20040                          }
20041                        }
20042                      },
20043                      "update": {
20044                        "type": "UpdateExpression",
20045                        "operator": "++",
20046                        "prefix": true,
20047                        "argument": {
20048                          "type": "Identifier",
20049                          "name": "i",
20050                          "decorators": [],
20051                          "loc": {
20052                            "start": {
20053                              "line": 226,
20054                              "column": 34
20055                            },
20056                            "end": {
20057                              "line": 226,
20058                              "column": 35
20059                            }
20060                          }
20061                        },
20062                        "loc": {
20063                          "start": {
20064                            "line": 226,
20065                            "column": 32
20066                          },
20067                          "end": {
20068                            "line": 226,
20069                            "column": 35
20070                          }
20071                        }
20072                      },
20073                      "body": {
20074                        "type": "BlockStatement",
20075                        "statements": [
20076                          {
20077                            "type": "ForUpdateStatement",
20078                            "init": {
20079                              "type": "VariableDeclaration",
20080                              "declarations": [
20081                                {
20082                                  "type": "VariableDeclarator",
20083                                  "id": {
20084                                    "type": "Identifier",
20085                                    "name": "j",
20086                                    "decorators": [],
20087                                    "loc": {
20088                                      "start": {
20089                                        "line": 227,
20090                                        "column": 22
20091                                      },
20092                                      "end": {
20093                                        "line": 227,
20094                                        "column": 23
20095                                      }
20096                                    }
20097                                  },
20098                                  "init": {
20099                                    "type": "Identifier",
20100                                    "name": "i",
20101                                    "decorators": [],
20102                                    "loc": {
20103                                      "start": {
20104                                        "line": 227,
20105                                        "column": 26
20106                                      },
20107                                      "end": {
20108                                        "line": 227,
20109                                        "column": 27
20110                                      }
20111                                    }
20112                                  },
20113                                  "loc": {
20114                                    "start": {
20115                                      "line": 227,
20116                                      "column": 22
20117                                    },
20118                                    "end": {
20119                                      "line": 227,
20120                                      "column": 27
20121                                    }
20122                                  }
20123                                }
20124                              ],
20125                              "kind": "let",
20126                              "loc": {
20127                                "start": {
20128                                  "line": 227,
20129                                  "column": 18
20130                                },
20131                                "end": {
20132                                  "line": 227,
20133                                  "column": 27
20134                                }
20135                              }
20136                            },
20137                            "test": {
20138                              "type": "BinaryExpression",
20139                              "operator": "<",
20140                              "left": {
20141                                "type": "Identifier",
20142                                "name": "j",
20143                                "decorators": [],
20144                                "loc": {
20145                                  "start": {
20146                                    "line": 227,
20147                                    "column": 29
20148                                  },
20149                                  "end": {
20150                                    "line": 227,
20151                                    "column": 30
20152                                  }
20153                                }
20154                              },
20155                              "right": {
20156                                "type": "BinaryExpression",
20157                                "operator": "-",
20158                                "left": {
20159                                  "type": "Identifier",
20160                                  "name": "r",
20161                                  "decorators": [],
20162                                  "loc": {
20163                                    "start": {
20164                                      "line": 227,
20165                                      "column": 33
20166                                    },
20167                                    "end": {
20168                                      "line": 227,
20169                                      "column": 34
20170                                    }
20171                                  }
20172                                },
20173                                "right": {
20174                                  "type": "Identifier",
20175                                  "name": "i",
20176                                  "decorators": [],
20177                                  "loc": {
20178                                    "start": {
20179                                      "line": 227,
20180                                      "column": 37
20181                                    },
20182                                    "end": {
20183                                      "line": 227,
20184                                      "column": 38
20185                                    }
20186                                  }
20187                                },
20188                                "loc": {
20189                                  "start": {
20190                                    "line": 227,
20191                                    "column": 33
20192                                  },
20193                                  "end": {
20194                                    "line": 227,
20195                                    "column": 38
20196                                  }
20197                                }
20198                              },
20199                              "loc": {
20200                                "start": {
20201                                  "line": 227,
20202                                  "column": 29
20203                                },
20204                                "end": {
20205                                  "line": 227,
20206                                  "column": 38
20207                                }
20208                              }
20209                            },
20210                            "update": {
20211                              "type": "UpdateExpression",
20212                              "operator": "++",
20213                              "prefix": true,
20214                              "argument": {
20215                                "type": "Identifier",
20216                                "name": "j",
20217                                "decorators": [],
20218                                "loc": {
20219                                  "start": {
20220                                    "line": 227,
20221                                    "column": 42
20222                                  },
20223                                  "end": {
20224                                    "line": 227,
20225                                    "column": 43
20226                                  }
20227                                }
20228                              },
20229                              "loc": {
20230                                "start": {
20231                                  "line": 227,
20232                                  "column": 40
20233                                },
20234                                "end": {
20235                                  "line": 227,
20236                                  "column": 43
20237                                }
20238                              }
20239                            },
20240                            "body": {
20241                              "type": "BlockStatement",
20242                              "statements": [
20243                                {
20244                                  "type": "IfStatement",
20245                                  "test": {
20246                                    "type": "CallExpression",
20247                                    "callee": {
20248                                      "type": "Identifier",
20249                                      "name": "comparator",
20250                                      "decorators": [],
20251                                      "loc": {
20252                                        "start": {
20253                                          "line": 228,
20254                                          "column": 21
20255                                        },
20256                                        "end": {
20257                                          "line": 228,
20258                                          "column": 31
20259                                        }
20260                                      }
20261                                    },
20262                                    "arguments": [
20263                                      {
20264                                        "type": "MemberExpression",
20265                                        "object": {
20266                                          "type": "Identifier",
20267                                          "name": "arr",
20268                                          "decorators": [],
20269                                          "loc": {
20270                                            "start": {
20271                                              "line": 228,
20272                                              "column": 32
20273                                            },
20274                                            "end": {
20275                                              "line": 228,
20276                                              "column": 35
20277                                            }
20278                                          }
20279                                        },
20280                                        "property": {
20281                                          "type": "BinaryExpression",
20282                                          "operator": "+",
20283                                          "left": {
20284                                            "type": "Identifier",
20285                                            "name": "j",
20286                                            "decorators": [],
20287                                            "loc": {
20288                                              "start": {
20289                                                "line": 228,
20290                                                "column": 36
20291                                              },
20292                                              "end": {
20293                                                "line": 228,
20294                                                "column": 37
20295                                              }
20296                                            }
20297                                          },
20298                                          "right": {
20299                                            "type": "NumberLiteral",
20300                                            "value": 1,
20301                                            "loc": {
20302                                              "start": {
20303                                                "line": 228,
20304                                                "column": 40
20305                                              },
20306                                              "end": {
20307                                                "line": 228,
20308                                                "column": 41
20309                                              }
20310                                            }
20311                                          },
20312                                          "loc": {
20313                                            "start": {
20314                                              "line": 228,
20315                                              "column": 36
20316                                            },
20317                                            "end": {
20318                                              "line": 228,
20319                                              "column": 41
20320                                            }
20321                                          }
20322                                        },
20323                                        "computed": true,
20324                                        "optional": false,
20325                                        "loc": {
20326                                          "start": {
20327                                            "line": 228,
20328                                            "column": 32
20329                                          },
20330                                          "end": {
20331                                            "line": 228,
20332                                            "column": 42
20333                                          }
20334                                        }
20335                                      },
20336                                      {
20337                                        "type": "MemberExpression",
20338                                        "object": {
20339                                          "type": "Identifier",
20340                                          "name": "arr",
20341                                          "decorators": [],
20342                                          "loc": {
20343                                            "start": {
20344                                              "line": 228,
20345                                              "column": 44
20346                                            },
20347                                            "end": {
20348                                              "line": 228,
20349                                              "column": 47
20350                                            }
20351                                          }
20352                                        },
20353                                        "property": {
20354                                          "type": "Identifier",
20355                                          "name": "j",
20356                                          "decorators": [],
20357                                          "loc": {
20358                                            "start": {
20359                                              "line": 228,
20360                                              "column": 48
20361                                            },
20362                                            "end": {
20363                                              "line": 228,
20364                                              "column": 49
20365                                            }
20366                                          }
20367                                        },
20368                                        "computed": true,
20369                                        "optional": false,
20370                                        "loc": {
20371                                          "start": {
20372                                            "line": 228,
20373                                            "column": 44
20374                                          },
20375                                          "end": {
20376                                            "line": 228,
20377                                            "column": 50
20378                                          }
20379                                        }
20380                                      }
20381                                    ],
20382                                    "optional": false,
20383                                    "loc": {
20384                                      "start": {
20385                                        "line": 228,
20386                                        "column": 21
20387                                      },
20388                                      "end": {
20389                                        "line": 228,
20390                                        "column": 51
20391                                      }
20392                                    }
20393                                  },
20394                                  "consequent": {
20395                                    "type": "BlockStatement",
20396                                    "statements": [
20397                                      {
20398                                        "type": "VariableDeclaration",
20399                                        "declarations": [
20400                                          {
20401                                            "type": "VariableDeclarator",
20402                                            "id": {
20403                                              "type": "Identifier",
20404                                              "name": "tmp",
20405                                              "decorators": [],
20406                                              "loc": {
20407                                                "start": {
20408                                                  "line": 229,
20409                                                  "column": 25
20410                                                },
20411                                                "end": {
20412                                                  "line": 229,
20413                                                  "column": 28
20414                                                }
20415                                              }
20416                                            },
20417                                            "init": {
20418                                              "type": "MemberExpression",
20419                                              "object": {
20420                                                "type": "Identifier",
20421                                                "name": "arr",
20422                                                "decorators": [],
20423                                                "loc": {
20424                                                  "start": {
20425                                                    "line": 229,
20426                                                    "column": 31
20427                                                  },
20428                                                  "end": {
20429                                                    "line": 229,
20430                                                    "column": 34
20431                                                  }
20432                                                }
20433                                              },
20434                                              "property": {
20435                                                "type": "BinaryExpression",
20436                                                "operator": "+",
20437                                                "left": {
20438                                                  "type": "Identifier",
20439                                                  "name": "j",
20440                                                  "decorators": [],
20441                                                  "loc": {
20442                                                    "start": {
20443                                                      "line": 229,
20444                                                      "column": 35
20445                                                    },
20446                                                    "end": {
20447                                                      "line": 229,
20448                                                      "column": 36
20449                                                    }
20450                                                  }
20451                                                },
20452                                                "right": {
20453                                                  "type": "NumberLiteral",
20454                                                  "value": 1,
20455                                                  "loc": {
20456                                                    "start": {
20457                                                      "line": 229,
20458                                                      "column": 39
20459                                                    },
20460                                                    "end": {
20461                                                      "line": 229,
20462                                                      "column": 40
20463                                                    }
20464                                                  }
20465                                                },
20466                                                "loc": {
20467                                                  "start": {
20468                                                    "line": 229,
20469                                                    "column": 35
20470                                                  },
20471                                                  "end": {
20472                                                    "line": 229,
20473                                                    "column": 40
20474                                                  }
20475                                                }
20476                                              },
20477                                              "computed": true,
20478                                              "optional": false,
20479                                              "loc": {
20480                                                "start": {
20481                                                  "line": 229,
20482                                                  "column": 31
20483                                                },
20484                                                "end": {
20485                                                  "line": 229,
20486                                                  "column": 41
20487                                                }
20488                                              }
20489                                            },
20490                                            "loc": {
20491                                              "start": {
20492                                                "line": 229,
20493                                                "column": 25
20494                                              },
20495                                              "end": {
20496                                                "line": 229,
20497                                                "column": 41
20498                                              }
20499                                            }
20500                                          }
20501                                        ],
20502                                        "kind": "let",
20503                                        "loc": {
20504                                          "start": {
20505                                            "line": 229,
20506                                            "column": 21
20507                                          },
20508                                          "end": {
20509                                            "line": 229,
20510                                            "column": 42
20511                                          }
20512                                        }
20513                                      },
20514                                      {
20515                                        "type": "ExpressionStatement",
20516                                        "expression": {
20517                                          "type": "AssignmentExpression",
20518                                          "operator": "=",
20519                                          "left": {
20520                                            "type": "MemberExpression",
20521                                            "object": {
20522                                              "type": "Identifier",
20523                                              "name": "arr",
20524                                              "decorators": [],
20525                                              "loc": {
20526                                                "start": {
20527                                                  "line": 230,
20528                                                  "column": 21
20529                                                },
20530                                                "end": {
20531                                                  "line": 230,
20532                                                  "column": 24
20533                                                }
20534                                              }
20535                                            },
20536                                            "property": {
20537                                              "type": "BinaryExpression",
20538                                              "operator": "+",
20539                                              "left": {
20540                                                "type": "Identifier",
20541                                                "name": "j",
20542                                                "decorators": [],
20543                                                "loc": {
20544                                                  "start": {
20545                                                    "line": 230,
20546                                                    "column": 25
20547                                                  },
20548                                                  "end": {
20549                                                    "line": 230,
20550                                                    "column": 26
20551                                                  }
20552                                                }
20553                                              },
20554                                              "right": {
20555                                                "type": "NumberLiteral",
20556                                                "value": 1,
20557                                                "loc": {
20558                                                  "start": {
20559                                                    "line": 230,
20560                                                    "column": 29
20561                                                  },
20562                                                  "end": {
20563                                                    "line": 230,
20564                                                    "column": 30
20565                                                  }
20566                                                }
20567                                              },
20568                                              "loc": {
20569                                                "start": {
20570                                                  "line": 230,
20571                                                  "column": 25
20572                                                },
20573                                                "end": {
20574                                                  "line": 230,
20575                                                  "column": 30
20576                                                }
20577                                              }
20578                                            },
20579                                            "computed": true,
20580                                            "optional": false,
20581                                            "loc": {
20582                                              "start": {
20583                                                "line": 230,
20584                                                "column": 21
20585                                              },
20586                                              "end": {
20587                                                "line": 230,
20588                                                "column": 31
20589                                              }
20590                                            }
20591                                          },
20592                                          "right": {
20593                                            "type": "MemberExpression",
20594                                            "object": {
20595                                              "type": "Identifier",
20596                                              "name": "arr",
20597                                              "decorators": [],
20598                                              "loc": {
20599                                                "start": {
20600                                                  "line": 230,
20601                                                  "column": 34
20602                                                },
20603                                                "end": {
20604                                                  "line": 230,
20605                                                  "column": 37
20606                                                }
20607                                              }
20608                                            },
20609                                            "property": {
20610                                              "type": "Identifier",
20611                                              "name": "j",
20612                                              "decorators": [],
20613                                              "loc": {
20614                                                "start": {
20615                                                  "line": 230,
20616                                                  "column": 38
20617                                                },
20618                                                "end": {
20619                                                  "line": 230,
20620                                                  "column": 39
20621                                                }
20622                                              }
20623                                            },
20624                                            "computed": true,
20625                                            "optional": false,
20626                                            "loc": {
20627                                              "start": {
20628                                                "line": 230,
20629                                                "column": 34
20630                                              },
20631                                              "end": {
20632                                                "line": 230,
20633                                                "column": 40
20634                                              }
20635                                            }
20636                                          },
20637                                          "loc": {
20638                                            "start": {
20639                                              "line": 230,
20640                                              "column": 21
20641                                            },
20642                                            "end": {
20643                                              "line": 230,
20644                                              "column": 40
20645                                            }
20646                                          }
20647                                        },
20648                                        "loc": {
20649                                          "start": {
20650                                            "line": 230,
20651                                            "column": 21
20652                                          },
20653                                          "end": {
20654                                            "line": 230,
20655                                            "column": 41
20656                                          }
20657                                        }
20658                                      },
20659                                      {
20660                                        "type": "ExpressionStatement",
20661                                        "expression": {
20662                                          "type": "AssignmentExpression",
20663                                          "operator": "=",
20664                                          "left": {
20665                                            "type": "MemberExpression",
20666                                            "object": {
20667                                              "type": "Identifier",
20668                                              "name": "arr",
20669                                              "decorators": [],
20670                                              "loc": {
20671                                                "start": {
20672                                                  "line": 231,
20673                                                  "column": 21
20674                                                },
20675                                                "end": {
20676                                                  "line": 231,
20677                                                  "column": 24
20678                                                }
20679                                              }
20680                                            },
20681                                            "property": {
20682                                              "type": "Identifier",
20683                                              "name": "j",
20684                                              "decorators": [],
20685                                              "loc": {
20686                                                "start": {
20687                                                  "line": 231,
20688                                                  "column": 25
20689                                                },
20690                                                "end": {
20691                                                  "line": 231,
20692                                                  "column": 26
20693                                                }
20694                                              }
20695                                            },
20696                                            "computed": true,
20697                                            "optional": false,
20698                                            "loc": {
20699                                              "start": {
20700                                                "line": 231,
20701                                                "column": 21
20702                                              },
20703                                              "end": {
20704                                                "line": 231,
20705                                                "column": 27
20706                                              }
20707                                            }
20708                                          },
20709                                          "right": {
20710                                            "type": "Identifier",
20711                                            "name": "tmp",
20712                                            "decorators": [],
20713                                            "loc": {
20714                                              "start": {
20715                                                "line": 231,
20716                                                "column": 30
20717                                              },
20718                                              "end": {
20719                                                "line": 231,
20720                                                "column": 33
20721                                              }
20722                                            }
20723                                          },
20724                                          "loc": {
20725                                            "start": {
20726                                              "line": 231,
20727                                              "column": 21
20728                                            },
20729                                            "end": {
20730                                              "line": 231,
20731                                              "column": 33
20732                                            }
20733                                          }
20734                                        },
20735                                        "loc": {
20736                                          "start": {
20737                                            "line": 231,
20738                                            "column": 21
20739                                          },
20740                                          "end": {
20741                                            "line": 231,
20742                                            "column": 34
20743                                          }
20744                                        }
20745                                      }
20746                                    ],
20747                                    "loc": {
20748                                      "start": {
20749                                        "line": 228,
20750                                        "column": 53
20751                                      },
20752                                      "end": {
20753                                        "line": 232,
20754                                        "column": 18
20755                                      }
20756                                    }
20757                                  },
20758                                  "alternate": null,
20759                                  "loc": {
20760                                    "start": {
20761                                      "line": 228,
20762                                      "column": 17
20763                                    },
20764                                    "end": {
20765                                      "line": 232,
20766                                      "column": 18
20767                                    }
20768                                  }
20769                                }
20770                              ],
20771                              "loc": {
20772                                "start": {
20773                                  "line": 227,
20774                                  "column": 45
20775                                },
20776                                "end": {
20777                                  "line": 233,
20778                                  "column": 14
20779                                }
20780                              }
20781                            },
20782                            "loc": {
20783                              "start": {
20784                                "line": 227,
20785                                "column": 13
20786                              },
20787                              "end": {
20788                                "line": 233,
20789                                "column": 14
20790                              }
20791                            }
20792                          }
20793                        ],
20794                        "loc": {
20795                          "start": {
20796                            "line": 226,
20797                            "column": 37
20798                          },
20799                          "end": {
20800                            "line": 234,
20801                            "column": 10
20802                          }
20803                        }
20804                      },
20805                      "loc": {
20806                        "start": {
20807                          "line": 226,
20808                          "column": 9
20809                        },
20810                        "end": {
20811                          "line": 234,
20812                          "column": 10
20813                        }
20814                      }
20815                    }
20816                  ],
20817                  "loc": {
20818                    "start": {
20819                      "line": 225,
20820                      "column": 104
20821                    },
20822                    "end": {
20823                      "line": 235,
20824                      "column": 6
20825                    }
20826                  }
20827                },
20828                "loc": {
20829                  "start": {
20830                    "line": 225,
20831                    "column": 30
20832                  },
20833                  "end": {
20834                    "line": 235,
20835                    "column": 6
20836                  }
20837                }
20838              },
20839              "loc": {
20840                "start": {
20841                  "line": 225,
20842                  "column": 30
20843                },
20844                "end": {
20845                  "line": 235,
20846                  "column": 6
20847                }
20848              }
20849            },
20850            "overloads": [],
20851            "decorators": [],
20852            "loc": {
20853              "start": {
20854                "line": 225,
20855                "column": 5
20856              },
20857              "end": {
20858                "line": 235,
20859                "column": 6
20860              }
20861            }
20862          },
20863          {
20864            "type": "ClassProperty",
20865            "key": {
20866              "type": "Identifier",
20867              "name": "data",
20868              "decorators": [],
20869              "loc": {
20870                "start": {
20871                  "line": 238,
20872                  "column": 13
20873                },
20874                "end": {
20875                  "line": 238,
20876                  "column": 17
20877                }
20878              }
20879            },
20880            "value": {
20881              "type": "ArrayExpression",
20882              "elements": [],
20883              "loc": {
20884                "start": {
20885                  "line": 238,
20886                  "column": 25
20887                },
20888                "end": {
20889                  "line": 238,
20890                  "column": 27
20891                }
20892              }
20893            },
20894            "accessibility": "private",
20895            "static": false,
20896            "readonly": false,
20897            "declare": false,
20898            "optional": false,
20899            "computed": false,
20900            "typeAnnotation": {
20901              "type": "TSArrayType",
20902              "elementType": {
20903                "type": "ETSTypeReference",
20904                "part": {
20905                  "type": "ETSTypeReferencePart",
20906                  "name": {
20907                    "type": "Identifier",
20908                    "name": "T",
20909                    "decorators": [],
20910                    "loc": {
20911                      "start": {
20912                        "line": 238,
20913                        "column": 19
20914                      },
20915                      "end": {
20916                        "line": 238,
20917                        "column": 20
20918                      }
20919                    }
20920                  },
20921                  "loc": {
20922                    "start": {
20923                      "line": 238,
20924                      "column": 19
20925                    },
20926                    "end": {
20927                      "line": 238,
20928                      "column": 21
20929                    }
20930                  }
20931                },
20932                "loc": {
20933                  "start": {
20934                    "line": 238,
20935                    "column": 19
20936                  },
20937                  "end": {
20938                    "line": 238,
20939                    "column": 21
20940                  }
20941                }
20942              },
20943              "loc": {
20944                "start": {
20945                  "line": 238,
20946                  "column": 23
20947                },
20948                "end": {
20949                  "line": 238,
20950                  "column": 24
20951                }
20952              }
20953            },
20954            "definite": false,
20955            "decorators": [],
20956            "loc": {
20957              "start": {
20958                "line": 238,
20959                "column": 13
20960              },
20961              "end": {
20962                "line": 238,
20963                "column": 27
20964              }
20965            }
20966          },
20967          {
20968            "type": "ClassProperty",
20969            "key": {
20970              "type": "Identifier",
20971              "name": "curSize",
20972              "decorators": [],
20973              "loc": {
20974                "start": {
20975                  "line": 239,
20976                  "column": 13
20977                },
20978                "end": {
20979                  "line": 239,
20980                  "column": 20
20981                }
20982              }
20983            },
20984            "accessibility": "private",
20985            "static": false,
20986            "readonly": false,
20987            "declare": false,
20988            "optional": false,
20989            "computed": false,
20990            "typeAnnotation": {
20991              "type": "ETSPrimitiveType",
20992              "loc": {
20993                "start": {
20994                  "line": 239,
20995                  "column": 22
20996                },
20997                "end": {
20998                  "line": 239,
20999                  "column": 25
21000                }
21001              }
21002            },
21003            "definite": false,
21004            "decorators": [],
21005            "loc": {
21006              "start": {
21007                "line": 239,
21008                "column": 13
21009              },
21010              "end": {
21011                "line": 239,
21012                "column": 25
21013              }
21014            }
21015          }
21016        ],
21017        "loc": {
21018          "start": {
21019            "line": 37,
21020            "column": 43
21021          },
21022          "end": {
21023            "line": 240,
21024            "column": 2
21025          }
21026        }
21027      },
21028      "loc": {
21029        "start": {
21030          "line": 37,
21031          "column": 1
21032        },
21033        "end": {
21034          "line": 240,
21035          "column": 2
21036        }
21037      }
21038    },
21039    {
21040      "type": "ClassDeclaration",
21041      "definition": {
21042        "id": {
21043          "type": "Identifier",
21044          "name": "ETSGLOBAL",
21045          "decorators": [],
21046          "loc": {
21047            "start": {
21048              "line": 1,
21049              "column": 1
21050            },
21051            "end": {
21052              "line": 1,
21053              "column": 1
21054            }
21055          }
21056        },
21057        "superClass": null,
21058        "implements": [],
21059        "body": [
21060          {
21061            "type": "MethodDefinition",
21062            "key": {
21063              "type": "Identifier",
21064              "name": "_$init$_",
21065              "decorators": [],
21066              "loc": {
21067                "start": {
21068                  "line": 1,
21069                  "column": 1
21070                },
21071                "end": {
21072                  "line": 1,
21073                  "column": 1
21074                }
21075              }
21076            },
21077            "kind": "method",
21078            "accessibility": "public",
21079            "static": true,
21080            "optional": false,
21081            "computed": false,
21082            "value": {
21083              "type": "FunctionExpression",
21084              "function": {
21085                "type": "ScriptFunction",
21086                "id": {
21087                  "type": "Identifier",
21088                  "name": "_$init$_",
21089                  "decorators": [],
21090                  "loc": {
21091                    "start": {
21092                      "line": 1,
21093                      "column": 1
21094                    },
21095                    "end": {
21096                      "line": 1,
21097                      "column": 1
21098                    }
21099                  }
21100                },
21101                "generator": false,
21102                "async": false,
21103                "expression": false,
21104                "params": [],
21105                "body": {
21106                  "type": "BlockStatement",
21107                  "statements": [],
21108                  "loc": {
21109                    "start": {
21110                      "line": 1,
21111                      "column": 1
21112                    },
21113                    "end": {
21114                      "line": 1,
21115                      "column": 1
21116                    }
21117                  }
21118                },
21119                "loc": {
21120                  "start": {
21121                    "line": 1,
21122                    "column": 1
21123                  },
21124                  "end": {
21125                    "line": 1,
21126                    "column": 1
21127                  }
21128                }
21129              },
21130              "loc": {
21131                "start": {
21132                  "line": 1,
21133                  "column": 1
21134                },
21135                "end": {
21136                  "line": 1,
21137                  "column": 1
21138                }
21139              }
21140            },
21141            "overloads": [],
21142            "decorators": [],
21143            "loc": {
21144              "start": {
21145                "line": 1,
21146                "column": 1
21147              },
21148              "end": {
21149                "line": 1,
21150                "column": 1
21151              }
21152            }
21153          }
21154        ],
21155        "loc": {
21156          "start": {
21157            "line": 1,
21158            "column": 1
21159          },
21160          "end": {
21161            "line": 1,
21162            "column": 1
21163          }
21164        }
21165      },
21166      "loc": {
21167        "start": {
21168          "line": 1,
21169          "column": 1
21170        },
21171        "end": {
21172          "line": 1,
21173          "column": 1
21174        }
21175      }
21176    }
21177  ],
21178  "loc": {
21179    "start": {
21180      "line": 1,
21181      "column": 1
21182    },
21183    "end": {
21184      "line": 241,
21185      "column": 1
21186    }
21187  }
21188}
21189