Problems reported:

parser/error_recovery/utf_16_le_content.crash:1:3: Expected a declaration, but got '/'.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
  ^

parser/error_recovery/utf_16_le_content.crash:1:5: Expected a declaration, but got '/'.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
    ^

parser/error_recovery/utf_16_le_content.crash:1:11: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
          ^

parser/error_recovery/utf_16_le_content.crash:1:15: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
              ^

parser/error_recovery/utf_16_le_content.crash:1:19: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                  ^

parser/error_recovery/utf_16_le_content.crash:1:23: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                      ^

parser/error_recovery/utf_16_le_content.crash:1:37: Expected a function body, but got '2'.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                    ^

parser/error_recovery/utf_16_le_content.crash:1:37: Expected a declaration, but got '2'.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                    ^

parser/error_recovery/utf_16_le_content.crash:1:39: Expected a declaration, but got '0'.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                      ^

parser/error_recovery/utf_16_le_content.crash:1:41: Expected a declaration, but got '2'.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                        ^

parser/error_recovery/utf_16_le_content.crash:1:43: Expected a declaration, but got '0'.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                          ^

parser/error_recovery/utf_16_le_content.crash:1:45: Expected a declaration, but got ','.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                            ^

parser/error_recovery/utf_16_le_content.crash:1:51: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                  ^

parser/error_recovery/utf_16_le_content.crash:1:57: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                        ^

parser/error_recovery/utf_16_le_content.crash:1:61: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                            ^

parser/error_recovery/utf_16_le_content.crash:1:67: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                  ^

parser/error_recovery/utf_16_le_content.crash:1:71: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                      ^

parser/error_recovery/utf_16_le_content.crash:1:75: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                          ^

parser/error_recovery/utf_16_le_content.crash:1:79: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                              ^

parser/error_recovery/utf_16_le_content.crash:1:85: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                    ^

parser/error_recovery/utf_16_le_content.crash:1:89: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                        ^

parser/error_recovery/utf_16_le_content.crash:1:93: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                            ^

parser/error_recovery/utf_16_le_content.crash:1:103: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                      ^

parser/error_recovery/utf_16_le_content.crash:1:107: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                          ^

parser/error_recovery/utf_16_le_content.crash:1:111: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                              ^

parser/error_recovery/utf_16_le_content.crash:1:117: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                    ^

parser/error_recovery/utf_16_le_content.crash:1:123: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                          ^

parser/error_recovery/utf_16_le_content.crash:1:127: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                              ^

parser/error_recovery/utf_16_le_content.crash:1:133: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                    ^

parser/error_recovery/utf_16_le_content.crash:1:137: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                        ^

parser/error_recovery/utf_16_le_content.crash:1:141: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                            ^

parser/error_recovery/utf_16_le_content.crash:1:147: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                                  ^

parser/error_recovery/utf_16_le_content.crash:1:151: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                                      ^

parser/error_recovery/utf_16_le_content.crash:1:153: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                                        ^

parser/error_recovery/utf_16_le_content.crash:1:153: Expected ';' after this.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                                        ^

parser/error_recovery/utf_16_le_content.crash:2:2: Expected a declaration, but got '/'.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
 ^

parser/error_recovery/utf_16_le_content.crash:2:4: Expected a declaration, but got '/'.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
   ^

parser/error_recovery/utf_16_le_content.crash:2:10: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
         ^

parser/error_recovery/utf_16_le_content.crash:2:16: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
               ^

parser/error_recovery/utf_16_le_content.crash:2:20: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                   ^

parser/error_recovery/utf_16_le_content.crash:2:24: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                       ^

parser/error_recovery/utf_16_le_content.crash:2:28: A function declaration needs an explicit list of parameters.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                           ^

parser/error_recovery/utf_16_le_content.crash:2:30: Expected a function body, but got '.'.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                             ^

parser/error_recovery/utf_16_le_content.crash:2:30: Expected a declaration, but got '.'.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                             ^

parser/error_recovery/utf_16_le_content.crash:2:36: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                   ^

parser/error_recovery/utf_16_le_content.crash:2:42: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                         ^

parser/error_recovery/utf_16_le_content.crash:2:46: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                             ^

parser/error_recovery/utf_16_le_content.crash:2:50: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                 ^

parser/error_recovery/utf_16_le_content.crash:2:56: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                       ^

parser/error_recovery/utf_16_le_content.crash:2:60: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                           ^

parser/error_recovery/utf_16_le_content.crash:2:64: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                               ^

parser/error_recovery/utf_16_le_content.crash:2:68: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                   ^

parser/error_recovery/utf_16_le_content.crash:2:78: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                             ^

parser/error_recovery/utf_16_le_content.crash:2:84: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                   ^

parser/error_recovery/utf_16_le_content.crash:2:90: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:2:94: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                             ^

parser/error_recovery/utf_16_le_content.crash:2:100: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                   ^

parser/error_recovery/utf_16_le_content.crash:2:104: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                       ^

parser/error_recovery/utf_16_le_content.crash:2:108: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:2:114: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                 ^

parser/error_recovery/utf_16_le_content.crash:2:118: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                     ^

parser/error_recovery/utf_16_le_content.crash:2:124: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:2:130: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                 ^

parser/error_recovery/utf_16_le_content.crash:2:134: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                     ^

parser/error_recovery/utf_16_le_content.crash:2:138: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:2:142: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                             ^

parser/error_recovery/utf_16_le_content.crash:2:148: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                                   ^

parser/error_recovery/utf_16_le_content.crash:2:154: Expected ';' after this.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:3:2: Expected a declaration, but got '/'.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
 ^

parser/error_recovery/utf_16_le_content.crash:3:4: Expected a declaration, but got '/'.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
   ^

parser/error_recovery/utf_16_le_content.crash:3:10: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
         ^

parser/error_recovery/utf_16_le_content.crash:3:12: Variables must be declared using the keywords 'const', 'final', 'var' or a type name.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
           ^

parser/error_recovery/utf_16_le_content.crash:3:12: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
           ^

parser/error_recovery/utf_16_le_content.crash:3:14: Expected a declaration, but got '-'.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
             ^

parser/error_recovery/utf_16_le_content.crash:3:18: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                 ^

parser/error_recovery/utf_16_le_content.crash:3:22: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                     ^

parser/error_recovery/utf_16_le_content.crash:3:28: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                           ^

parser/error_recovery/utf_16_le_content.crash:3:32: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                               ^

parser/error_recovery/utf_16_le_content.crash:3:36: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                   ^

parser/error_recovery/utf_16_le_content.crash:3:40: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                       ^

parser/error_recovery/utf_16_le_content.crash:3:46: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                             ^

parser/error_recovery/utf_16_le_content.crash:3:50: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                 ^

parser/error_recovery/utf_16_le_content.crash:3:56: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                       ^

parser/error_recovery/utf_16_le_content.crash:3:62: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                             ^

parser/error_recovery/utf_16_le_content.crash:3:68: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                   ^

parser/error_recovery/utf_16_le_content.crash:3:72: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                       ^

parser/error_recovery/utf_16_le_content.crash:3:76: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                           ^

parser/error_recovery/utf_16_le_content.crash:3:82: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                 ^

parser/error_recovery/utf_16_le_content.crash:3:88: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                       ^

parser/error_recovery/utf_16_le_content.crash:3:94: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                             ^

parser/error_recovery/utf_16_le_content.crash:3:98: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                 ^

parser/error_recovery/utf_16_le_content.crash:3:102: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                     ^

parser/error_recovery/utf_16_le_content.crash:3:106: A function declaration needs an explicit list of parameters.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:3:108: Expected a function body, but got '.'.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:3:108: Expected a declaration, but got '.'.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:3:112: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                               ^

parser/error_recovery/utf_16_le_content.crash:3:118: Expected ';' after this.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                                     ^

parser/error_recovery/utf_16_le_content.crash:3:122: A function declaration needs an explicit list of parameters.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:3:124: Expected a function body, but got '.'.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:3:124: Expected a declaration, but got '.'.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:5:2: Expected a declaration, but got '/'.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
 ^

parser/error_recovery/utf_16_le_content.crash:5:4: Expected a declaration, but got '/'.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
   ^

parser/error_recovery/utf_16_le_content.crash:5:10: Expected ';' after this.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
         ^

parser/error_recovery/utf_16_le_content.crash:5:14: Expected ';' after this.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
             ^

parser/error_recovery/utf_16_le_content.crash:5:20: Expected ';' after this.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                   ^

parser/error_recovery/utf_16_le_content.crash:5:24: Expected ';' after this.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                       ^

parser/error_recovery/utf_16_le_content.crash:5:30: Expected ';' after this.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                             ^

parser/error_recovery/utf_16_le_content.crash:5:36: Expected ';' after this.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                   ^

parser/error_recovery/utf_16_le_content.crash:5:40: Expected ';' after this.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                       ^

parser/error_recovery/utf_16_le_content.crash:5:46: Expected ';' after this.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                             ^

parser/error_recovery/utf_16_le_content.crash:5:52: Expected ';' after this.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                   ^

parser/error_recovery/utf_16_le_content.crash:5:56: Expected ';' after this.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                       ^

parser/error_recovery/utf_16_le_content.crash:5:58: Expected a declaration, but got '-'.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                         ^

parser/error_recovery/utf_16_le_content.crash:5:60: Expected a declaration, but got '1'.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                           ^

parser/error_recovery/utf_16_le_content.crash:5:62: Expected a declaration, but got '6'.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                             ^

parser/error_recovery/utf_16_le_content.crash:5:68: A function declaration needs an explicit list of parameters.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                                   ^

parser/error_recovery/utf_16_le_content.crash:5:70: Expected a function body, but got '.'.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                                     ^

parser/error_recovery/utf_16_le_content.crash:5:70: Expected a declaration, but got '.'.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                                     ^

parser/error_recovery/utf_16_le_content.crash:7:4: Expected ';' after this.
 m a i n ( )   {  
   ^

parser/error_recovery/utf_16_le_content.crash:8:8: Expected ';' after this.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
       ^

parser/error_recovery/utf_16_le_content.crash:8:12: Expected ';' after this.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
           ^

parser/error_recovery/utf_16_le_content.crash:8:20: Expected ',' before this.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                   ^

parser/error_recovery/utf_16_le_content.crash:8:22: Expected ',' before this.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                     ^

parser/error_recovery/utf_16_le_content.crash:8:24: Expected ',' before this.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                       ^

parser/error_recovery/utf_16_le_content.crash:8:26: Expected ',' before this.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                         ^

parser/error_recovery/utf_16_le_content.crash:8:28: Expected ',' before this.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                           ^

parser/error_recovery/utf_16_le_content.crash:8:36: Expected ',' before this.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                   ^

parser/error_recovery/utf_16_le_content.crash:8:38: Expected ',' before this.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                     ^

parser/error_recovery/utf_16_le_content.crash:8:40: Expected ',' before this.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                       ^

parser/error_recovery/utf_16_le_content.crash:8:42: Expected ',' before this.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                         ^

parser/error_recovery/utf_16_le_content.crash:8:46: Expected ',' before this.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                             ^

parser/error_recovery/utf_16_le_content.crash:1:1: Unable to decode bytes as UTF-8.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
^

parser/error_recovery/utf_16_le_content.crash:1:2: Unable to decode bytes as UTF-8.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
 ^

parser/error_recovery/utf_16_le_content.crash:1:3: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
  ^

parser/error_recovery/utf_16_le_content.crash:1:5: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
    ^

parser/error_recovery/utf_16_le_content.crash:1:7: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
      ^

parser/error_recovery/utf_16_le_content.crash:1:9: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
        ^

parser/error_recovery/utf_16_le_content.crash:1:11: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
          ^

parser/error_recovery/utf_16_le_content.crash:1:13: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
            ^

parser/error_recovery/utf_16_le_content.crash:1:15: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
              ^

parser/error_recovery/utf_16_le_content.crash:1:17: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                ^

parser/error_recovery/utf_16_le_content.crash:1:19: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                  ^

parser/error_recovery/utf_16_le_content.crash:1:21: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                    ^

parser/error_recovery/utf_16_le_content.crash:1:23: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                      ^

parser/error_recovery/utf_16_le_content.crash:1:25: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                        ^

parser/error_recovery/utf_16_le_content.crash:1:27: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                          ^

parser/error_recovery/utf_16_le_content.crash:1:29: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                            ^

parser/error_recovery/utf_16_le_content.crash:1:31: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                              ^

parser/error_recovery/utf_16_le_content.crash:1:33: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                ^

parser/error_recovery/utf_16_le_content.crash:1:35: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                  ^

parser/error_recovery/utf_16_le_content.crash:1:37: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                    ^

parser/error_recovery/utf_16_le_content.crash:1:39: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                      ^

parser/error_recovery/utf_16_le_content.crash:1:41: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                        ^

parser/error_recovery/utf_16_le_content.crash:1:43: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                          ^

parser/error_recovery/utf_16_le_content.crash:1:45: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                            ^

parser/error_recovery/utf_16_le_content.crash:1:47: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                              ^

parser/error_recovery/utf_16_le_content.crash:1:49: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                ^

parser/error_recovery/utf_16_le_content.crash:1:51: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                  ^

parser/error_recovery/utf_16_le_content.crash:1:53: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                    ^

parser/error_recovery/utf_16_le_content.crash:1:55: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                      ^

parser/error_recovery/utf_16_le_content.crash:1:57: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                        ^

parser/error_recovery/utf_16_le_content.crash:1:59: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                          ^

parser/error_recovery/utf_16_le_content.crash:1:61: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                            ^

parser/error_recovery/utf_16_le_content.crash:1:63: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                              ^

parser/error_recovery/utf_16_le_content.crash:1:65: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                ^

parser/error_recovery/utf_16_le_content.crash:1:67: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                  ^

parser/error_recovery/utf_16_le_content.crash:1:69: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                    ^

parser/error_recovery/utf_16_le_content.crash:1:71: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                      ^

parser/error_recovery/utf_16_le_content.crash:1:73: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                        ^

parser/error_recovery/utf_16_le_content.crash:1:75: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                          ^

parser/error_recovery/utf_16_le_content.crash:1:77: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                            ^

parser/error_recovery/utf_16_le_content.crash:1:79: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                              ^

parser/error_recovery/utf_16_le_content.crash:1:81: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                ^

parser/error_recovery/utf_16_le_content.crash:1:83: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                  ^

parser/error_recovery/utf_16_le_content.crash:1:85: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                    ^

parser/error_recovery/utf_16_le_content.crash:1:87: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                      ^

parser/error_recovery/utf_16_le_content.crash:1:89: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                        ^

parser/error_recovery/utf_16_le_content.crash:1:91: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                          ^

parser/error_recovery/utf_16_le_content.crash:1:93: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                            ^

parser/error_recovery/utf_16_le_content.crash:1:95: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                              ^

parser/error_recovery/utf_16_le_content.crash:1:97: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                ^

parser/error_recovery/utf_16_le_content.crash:1:99: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                  ^

parser/error_recovery/utf_16_le_content.crash:1:101: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                    ^

parser/error_recovery/utf_16_le_content.crash:1:103: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                      ^

parser/error_recovery/utf_16_le_content.crash:1:105: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                        ^

parser/error_recovery/utf_16_le_content.crash:1:107: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                          ^

parser/error_recovery/utf_16_le_content.crash:1:109: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                            ^

parser/error_recovery/utf_16_le_content.crash:1:111: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                              ^

parser/error_recovery/utf_16_le_content.crash:1:113: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                ^

parser/error_recovery/utf_16_le_content.crash:1:115: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                  ^

parser/error_recovery/utf_16_le_content.crash:1:117: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                    ^

parser/error_recovery/utf_16_le_content.crash:1:119: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                      ^

parser/error_recovery/utf_16_le_content.crash:1:121: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                        ^

parser/error_recovery/utf_16_le_content.crash:1:123: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                          ^

parser/error_recovery/utf_16_le_content.crash:1:125: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                            ^

parser/error_recovery/utf_16_le_content.crash:1:127: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                              ^

parser/error_recovery/utf_16_le_content.crash:1:129: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                ^

parser/error_recovery/utf_16_le_content.crash:1:131: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                  ^

parser/error_recovery/utf_16_le_content.crash:1:133: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                    ^

parser/error_recovery/utf_16_le_content.crash:1:135: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                      ^

parser/error_recovery/utf_16_le_content.crash:1:137: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                        ^

parser/error_recovery/utf_16_le_content.crash:1:139: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                          ^

parser/error_recovery/utf_16_le_content.crash:1:141: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                            ^

parser/error_recovery/utf_16_le_content.crash:1:143: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                              ^

parser/error_recovery/utf_16_le_content.crash:1:145: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                                ^

parser/error_recovery/utf_16_le_content.crash:1:147: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                                  ^

parser/error_recovery/utf_16_le_content.crash:1:149: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                                    ^

parser/error_recovery/utf_16_le_content.crash:1:151: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                                      ^

parser/error_recovery/utf_16_le_content.crash:1:153: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                                        ^

parser/error_recovery/utf_16_le_content.crash:1:155: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                                          ^

parser/error_recovery/utf_16_le_content.crash:1:157: The control character U+0000 can only be used in strings and comments.
��/ /   C o p y r i g h t   ( c )   2 0 2 0 ,   t h e   D a r t   p r o j e c t   a u t h o r s .   P l e a s e   s e e   t h e   A U T H O R S   f i l e  
                                                                                                                                                            ^...

parser/error_recovery/utf_16_le_content.crash:2:2: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
 ^

parser/error_recovery/utf_16_le_content.crash:2:4: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
   ^

parser/error_recovery/utf_16_le_content.crash:2:6: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
     ^

parser/error_recovery/utf_16_le_content.crash:2:8: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
       ^

parser/error_recovery/utf_16_le_content.crash:2:10: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
         ^

parser/error_recovery/utf_16_le_content.crash:2:12: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
           ^

parser/error_recovery/utf_16_le_content.crash:2:14: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
             ^

parser/error_recovery/utf_16_le_content.crash:2:16: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
               ^

parser/error_recovery/utf_16_le_content.crash:2:18: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                 ^

parser/error_recovery/utf_16_le_content.crash:2:20: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                   ^

parser/error_recovery/utf_16_le_content.crash:2:22: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                     ^

parser/error_recovery/utf_16_le_content.crash:2:24: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                       ^

parser/error_recovery/utf_16_le_content.crash:2:26: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                         ^

parser/error_recovery/utf_16_le_content.crash:2:28: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                           ^

parser/error_recovery/utf_16_le_content.crash:2:30: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                             ^

parser/error_recovery/utf_16_le_content.crash:2:32: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                               ^

parser/error_recovery/utf_16_le_content.crash:2:34: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                 ^

parser/error_recovery/utf_16_le_content.crash:2:36: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                   ^

parser/error_recovery/utf_16_le_content.crash:2:38: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                     ^

parser/error_recovery/utf_16_le_content.crash:2:40: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                       ^

parser/error_recovery/utf_16_le_content.crash:2:42: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                         ^

parser/error_recovery/utf_16_le_content.crash:2:44: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                           ^

parser/error_recovery/utf_16_le_content.crash:2:46: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                             ^

parser/error_recovery/utf_16_le_content.crash:2:48: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                               ^

parser/error_recovery/utf_16_le_content.crash:2:50: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                 ^

parser/error_recovery/utf_16_le_content.crash:2:52: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                   ^

parser/error_recovery/utf_16_le_content.crash:2:54: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                     ^

parser/error_recovery/utf_16_le_content.crash:2:56: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                       ^

parser/error_recovery/utf_16_le_content.crash:2:58: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                         ^

parser/error_recovery/utf_16_le_content.crash:2:60: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                           ^

parser/error_recovery/utf_16_le_content.crash:2:62: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                             ^

parser/error_recovery/utf_16_le_content.crash:2:64: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                               ^

parser/error_recovery/utf_16_le_content.crash:2:66: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                 ^

parser/error_recovery/utf_16_le_content.crash:2:68: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                   ^

parser/error_recovery/utf_16_le_content.crash:2:70: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                     ^

parser/error_recovery/utf_16_le_content.crash:2:72: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                       ^

parser/error_recovery/utf_16_le_content.crash:2:74: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                         ^

parser/error_recovery/utf_16_le_content.crash:2:76: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                           ^

parser/error_recovery/utf_16_le_content.crash:2:78: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                             ^

parser/error_recovery/utf_16_le_content.crash:2:80: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                               ^

parser/error_recovery/utf_16_le_content.crash:2:82: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                 ^

parser/error_recovery/utf_16_le_content.crash:2:84: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                   ^

parser/error_recovery/utf_16_le_content.crash:2:86: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                     ^

parser/error_recovery/utf_16_le_content.crash:2:88: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                       ^

parser/error_recovery/utf_16_le_content.crash:2:90: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:2:92: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:2:94: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                             ^

parser/error_recovery/utf_16_le_content.crash:2:96: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                               ^

parser/error_recovery/utf_16_le_content.crash:2:98: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                 ^

parser/error_recovery/utf_16_le_content.crash:2:100: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                   ^

parser/error_recovery/utf_16_le_content.crash:2:102: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                     ^

parser/error_recovery/utf_16_le_content.crash:2:104: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                       ^

parser/error_recovery/utf_16_le_content.crash:2:106: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:2:108: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:2:110: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                             ^

parser/error_recovery/utf_16_le_content.crash:2:112: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                               ^

parser/error_recovery/utf_16_le_content.crash:2:114: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                 ^

parser/error_recovery/utf_16_le_content.crash:2:116: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                   ^

parser/error_recovery/utf_16_le_content.crash:2:118: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                     ^

parser/error_recovery/utf_16_le_content.crash:2:120: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                       ^

parser/error_recovery/utf_16_le_content.crash:2:122: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:2:124: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:2:126: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                             ^

parser/error_recovery/utf_16_le_content.crash:2:128: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                               ^

parser/error_recovery/utf_16_le_content.crash:2:130: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                 ^

parser/error_recovery/utf_16_le_content.crash:2:132: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                   ^

parser/error_recovery/utf_16_le_content.crash:2:134: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                     ^

parser/error_recovery/utf_16_le_content.crash:2:136: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                       ^

parser/error_recovery/utf_16_le_content.crash:2:138: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:2:140: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:2:142: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                             ^

parser/error_recovery/utf_16_le_content.crash:2:144: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                               ^

parser/error_recovery/utf_16_le_content.crash:2:146: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                                 ^

parser/error_recovery/utf_16_le_content.crash:2:148: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                                   ^

parser/error_recovery/utf_16_le_content.crash:2:150: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                                     ^

parser/error_recovery/utf_16_le_content.crash:2:152: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                                       ^

parser/error_recovery/utf_16_le_content.crash:2:154: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:2:156: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:2:158: The control character U+0000 can only be used in strings and comments.
 / /   f o r   d e t a i l s .   A l l   r i g h t s   r e s e r v e d .   U s e   o f   t h i s   s o u r c e   c o d e   i s   g o v e r n e d   b y   a  
                                                                                                                                                             ^...

parser/error_recovery/utf_16_le_content.crash:3:2: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
 ^

parser/error_recovery/utf_16_le_content.crash:3:4: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
   ^

parser/error_recovery/utf_16_le_content.crash:3:6: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
     ^

parser/error_recovery/utf_16_le_content.crash:3:8: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
       ^

parser/error_recovery/utf_16_le_content.crash:3:10: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
         ^

parser/error_recovery/utf_16_le_content.crash:3:12: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
           ^

parser/error_recovery/utf_16_le_content.crash:3:14: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
             ^

parser/error_recovery/utf_16_le_content.crash:3:16: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
               ^

parser/error_recovery/utf_16_le_content.crash:3:18: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                 ^

parser/error_recovery/utf_16_le_content.crash:3:20: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                   ^

parser/error_recovery/utf_16_le_content.crash:3:22: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                     ^

parser/error_recovery/utf_16_le_content.crash:3:24: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                       ^

parser/error_recovery/utf_16_le_content.crash:3:26: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                         ^

parser/error_recovery/utf_16_le_content.crash:3:28: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                           ^

parser/error_recovery/utf_16_le_content.crash:3:30: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                             ^

parser/error_recovery/utf_16_le_content.crash:3:32: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                               ^

parser/error_recovery/utf_16_le_content.crash:3:34: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                 ^

parser/error_recovery/utf_16_le_content.crash:3:36: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                   ^

parser/error_recovery/utf_16_le_content.crash:3:38: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                     ^

parser/error_recovery/utf_16_le_content.crash:3:40: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                       ^

parser/error_recovery/utf_16_le_content.crash:3:42: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                         ^

parser/error_recovery/utf_16_le_content.crash:3:44: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                           ^

parser/error_recovery/utf_16_le_content.crash:3:46: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                             ^

parser/error_recovery/utf_16_le_content.crash:3:48: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                               ^

parser/error_recovery/utf_16_le_content.crash:3:50: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                 ^

parser/error_recovery/utf_16_le_content.crash:3:52: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                   ^

parser/error_recovery/utf_16_le_content.crash:3:54: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                     ^

parser/error_recovery/utf_16_le_content.crash:3:56: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                       ^

parser/error_recovery/utf_16_le_content.crash:3:58: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                         ^

parser/error_recovery/utf_16_le_content.crash:3:60: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                           ^

parser/error_recovery/utf_16_le_content.crash:3:62: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                             ^

parser/error_recovery/utf_16_le_content.crash:3:64: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                               ^

parser/error_recovery/utf_16_le_content.crash:3:66: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                 ^

parser/error_recovery/utf_16_le_content.crash:3:68: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                   ^

parser/error_recovery/utf_16_le_content.crash:3:70: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                     ^

parser/error_recovery/utf_16_le_content.crash:3:72: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                       ^

parser/error_recovery/utf_16_le_content.crash:3:74: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                         ^

parser/error_recovery/utf_16_le_content.crash:3:76: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                           ^

parser/error_recovery/utf_16_le_content.crash:3:78: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                             ^

parser/error_recovery/utf_16_le_content.crash:3:80: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                               ^

parser/error_recovery/utf_16_le_content.crash:3:82: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                 ^

parser/error_recovery/utf_16_le_content.crash:3:84: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                   ^

parser/error_recovery/utf_16_le_content.crash:3:86: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                     ^

parser/error_recovery/utf_16_le_content.crash:3:88: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                       ^

parser/error_recovery/utf_16_le_content.crash:3:90: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:3:92: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:3:94: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                             ^

parser/error_recovery/utf_16_le_content.crash:3:96: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                               ^

parser/error_recovery/utf_16_le_content.crash:3:98: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                 ^

parser/error_recovery/utf_16_le_content.crash:3:100: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                   ^

parser/error_recovery/utf_16_le_content.crash:3:102: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                     ^

parser/error_recovery/utf_16_le_content.crash:3:104: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                       ^

parser/error_recovery/utf_16_le_content.crash:3:106: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:3:108: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:3:110: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                             ^

parser/error_recovery/utf_16_le_content.crash:3:112: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                               ^

parser/error_recovery/utf_16_le_content.crash:3:114: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                                 ^

parser/error_recovery/utf_16_le_content.crash:3:116: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                                   ^

parser/error_recovery/utf_16_le_content.crash:3:118: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                                     ^

parser/error_recovery/utf_16_le_content.crash:3:120: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                                       ^

parser/error_recovery/utf_16_le_content.crash:3:122: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                                         ^

parser/error_recovery/utf_16_le_content.crash:3:124: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                                           ^

parser/error_recovery/utf_16_le_content.crash:3:126: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                                             ^

parser/error_recovery/utf_16_le_content.crash:3:128: The control character U+0000 can only be used in strings and comments.
 / /   B S D - s t y l e   l i c e n s e   t h a t   c a n   b e   f o u n d   i n   t h e   L I C E N S E . m d   f i l e .  
                                                                                                                               ^...

parser/error_recovery/utf_16_le_content.crash:4:2: The control character U+0000 can only be used in strings and comments.
  
 ^

parser/error_recovery/utf_16_le_content.crash:4:4: The control character U+0000 can only be used in strings and comments.
  
   ^...

parser/error_recovery/utf_16_le_content.crash:5:2: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
 ^

parser/error_recovery/utf_16_le_content.crash:5:4: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
   ^

parser/error_recovery/utf_16_le_content.crash:5:6: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
     ^

parser/error_recovery/utf_16_le_content.crash:5:8: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
       ^

parser/error_recovery/utf_16_le_content.crash:5:10: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
         ^

parser/error_recovery/utf_16_le_content.crash:5:12: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
           ^

parser/error_recovery/utf_16_le_content.crash:5:14: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
             ^

parser/error_recovery/utf_16_le_content.crash:5:16: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
               ^

parser/error_recovery/utf_16_le_content.crash:5:18: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                 ^

parser/error_recovery/utf_16_le_content.crash:5:20: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                   ^

parser/error_recovery/utf_16_le_content.crash:5:22: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                     ^

parser/error_recovery/utf_16_le_content.crash:5:24: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                       ^

parser/error_recovery/utf_16_le_content.crash:5:26: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                         ^

parser/error_recovery/utf_16_le_content.crash:5:28: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                           ^

parser/error_recovery/utf_16_le_content.crash:5:30: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                             ^

parser/error_recovery/utf_16_le_content.crash:5:32: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                               ^

parser/error_recovery/utf_16_le_content.crash:5:34: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                 ^

parser/error_recovery/utf_16_le_content.crash:5:36: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                   ^

parser/error_recovery/utf_16_le_content.crash:5:38: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                     ^

parser/error_recovery/utf_16_le_content.crash:5:40: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                       ^

parser/error_recovery/utf_16_le_content.crash:5:42: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                         ^

parser/error_recovery/utf_16_le_content.crash:5:44: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                           ^

parser/error_recovery/utf_16_le_content.crash:5:46: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                             ^

parser/error_recovery/utf_16_le_content.crash:5:48: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                               ^

parser/error_recovery/utf_16_le_content.crash:5:50: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                 ^

parser/error_recovery/utf_16_le_content.crash:5:52: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                   ^

parser/error_recovery/utf_16_le_content.crash:5:54: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                     ^

parser/error_recovery/utf_16_le_content.crash:5:56: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                       ^

parser/error_recovery/utf_16_le_content.crash:5:58: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                         ^

parser/error_recovery/utf_16_le_content.crash:5:60: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                           ^

parser/error_recovery/utf_16_le_content.crash:5:62: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                             ^

parser/error_recovery/utf_16_le_content.crash:5:64: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                               ^

parser/error_recovery/utf_16_le_content.crash:5:66: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                                 ^

parser/error_recovery/utf_16_le_content.crash:5:68: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                                   ^

parser/error_recovery/utf_16_le_content.crash:5:70: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                                     ^

parser/error_recovery/utf_16_le_content.crash:5:72: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                                       ^

parser/error_recovery/utf_16_le_content.crash:5:74: The control character U+0000 can only be used in strings and comments.
 / /   T h i s   f i l e   i s   s a v e d   a s   U T F - 1 6   L E .  
                                                                         ^...

parser/error_recovery/utf_16_le_content.crash:6:2: The control character U+0000 can only be used in strings and comments.
  
 ^

parser/error_recovery/utf_16_le_content.crash:6:4: The control character U+0000 can only be used in strings and comments.
  
   ^...

parser/error_recovery/utf_16_le_content.crash:7:2: The control character U+0000 can only be used in strings and comments.
 m a i n ( )   {  
 ^

parser/error_recovery/utf_16_le_content.crash:7:4: The control character U+0000 can only be used in strings and comments.
 m a i n ( )   {  
   ^

parser/error_recovery/utf_16_le_content.crash:7:6: The control character U+0000 can only be used in strings and comments.
 m a i n ( )   {  
     ^

parser/error_recovery/utf_16_le_content.crash:7:8: The control character U+0000 can only be used in strings and comments.
 m a i n ( )   {  
       ^

parser/error_recovery/utf_16_le_content.crash:7:10: The control character U+0000 can only be used in strings and comments.
 m a i n ( )   {  
         ^

parser/error_recovery/utf_16_le_content.crash:7:12: The control character U+0000 can only be used in strings and comments.
 m a i n ( )   {  
           ^

parser/error_recovery/utf_16_le_content.crash:7:14: The control character U+0000 can only be used in strings and comments.
 m a i n ( )   {  
             ^

parser/error_recovery/utf_16_le_content.crash:7:16: The control character U+0000 can only be used in strings and comments.
 m a i n ( )   {  
               ^

parser/error_recovery/utf_16_le_content.crash:7:18: The control character U+0000 can only be used in strings and comments.
 m a i n ( )   {  
                 ^

parser/error_recovery/utf_16_le_content.crash:7:20: The control character U+0000 can only be used in strings and comments.
 m a i n ( )   {  
                   ^...

parser/error_recovery/utf_16_le_content.crash:8:2: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
 ^

parser/error_recovery/utf_16_le_content.crash:8:4: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
   ^

parser/error_recovery/utf_16_le_content.crash:8:6: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
     ^

parser/error_recovery/utf_16_le_content.crash:8:8: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
       ^

parser/error_recovery/utf_16_le_content.crash:8:10: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
         ^

parser/error_recovery/utf_16_le_content.crash:8:12: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
           ^

parser/error_recovery/utf_16_le_content.crash:8:14: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
             ^

parser/error_recovery/utf_16_le_content.crash:8:16: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
               ^

parser/error_recovery/utf_16_le_content.crash:8:18: String starting with " must end with ".
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                 ^

parser/error_recovery/utf_16_le_content.crash:8:18: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                 ^

parser/error_recovery/utf_16_le_content.crash:8:20: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                   ^

parser/error_recovery/utf_16_le_content.crash:8:22: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                     ^

parser/error_recovery/utf_16_le_content.crash:8:24: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                       ^

parser/error_recovery/utf_16_le_content.crash:8:26: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                         ^

parser/error_recovery/utf_16_le_content.crash:8:28: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                           ^

parser/error_recovery/utf_16_le_content.crash:8:30: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                             ^

parser/error_recovery/utf_16_le_content.crash:8:32: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                               ^

parser/error_recovery/utf_16_le_content.crash:8:34: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                 ^

parser/error_recovery/utf_16_le_content.crash:8:36: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                   ^

parser/error_recovery/utf_16_le_content.crash:8:38: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                     ^

parser/error_recovery/utf_16_le_content.crash:8:40: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                       ^

parser/error_recovery/utf_16_le_content.crash:8:42: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                         ^

parser/error_recovery/utf_16_le_content.crash:8:44: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                           ^

parser/error_recovery/utf_16_le_content.crash:8:46: String starting with " must end with ".
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                             ^

parser/error_recovery/utf_16_le_content.crash:8:46: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                             ^

parser/error_recovery/utf_16_le_content.crash:8:48: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                               ^

parser/error_recovery/utf_16_le_content.crash:8:50: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                                 ^

parser/error_recovery/utf_16_le_content.crash:8:52: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                                   ^

parser/error_recovery/utf_16_le_content.crash:8:54: The control character U+0000 can only be used in strings and comments.
     p r i n t ( " H e l l o ,   w o r l d ! " ) ;  
                                                     ^...

parser/error_recovery/utf_16_le_content.crash:9:2: The control character U+0000 can only be used in strings and comments.
 }  
 ^

parser/error_recovery/utf_16_le_content.crash:9:4: The control character U+0000 can only be used in strings and comments.
 }  
   ^

parser/error_recovery/utf_16_le_content.crash:9:6: The control character U+0000 can only be used in strings and comments.
 }  
     ^...

beginCompilationUnit(/)
  beginMetadataStar(/)
  endMetadataStar(0)
  beginTopLevelMember(/)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '/'., null, {token: /}], /, /)
    handleInvalidTopLevelDeclaration(/)
  endTopLevelDeclaration(/)
  beginMetadataStar(/)
  endMetadataStar(0)
  beginTopLevelMember(/)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '/'., null, {token: /}], /, /)
    handleInvalidTopLevelDeclaration(/)
  endTopLevelDeclaration(C)
  beginMetadataStar(C)
  endMetadataStar(0)
  beginTopLevelMember(C)
    beginFields(/)
      handleIdentifier(C, typeReference)
      handleNoTypeArguments(o)
      handleType(C, null)
      handleIdentifier(o, topLevelVariableDeclaration)
      handleNoFieldInitializer(p)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], o, o)
    endTopLevelFields(null, null, null, null, null, 1, C, ;)
  endTopLevelDeclaration(p)
  beginMetadataStar(p)
  endMetadataStar(0)
  beginTopLevelMember(p)
    beginFields(;)
      handleIdentifier(p, typeReference)
      handleNoTypeArguments(y)
      handleType(p, null)
      handleIdentifier(y, topLevelVariableDeclaration)
      handleNoFieldInitializer(r)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], y, y)
    endTopLevelFields(null, null, null, null, null, 1, p, ;)
  endTopLevelDeclaration(r)
  beginMetadataStar(r)
  endMetadataStar(0)
  beginTopLevelMember(r)
    beginFields(;)
      handleIdentifier(r, typeReference)
      handleNoTypeArguments(i)
      handleType(r, null)
      handleIdentifier(i, topLevelVariableDeclaration)
      handleNoFieldInitializer(g)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], i, i)
    endTopLevelFields(null, null, null, null, null, 1, r, ;)
  endTopLevelDeclaration(g)
  beginMetadataStar(g)
  endMetadataStar(0)
  beginTopLevelMember(g)
    beginFields(;)
      handleIdentifier(g, typeReference)
      handleNoTypeArguments(h)
      handleType(g, null)
      handleIdentifier(h, topLevelVariableDeclaration)
      handleNoFieldInitializer(t)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], h, h)
    endTopLevelFields(null, null, null, null, null, 1, g, ;)
  endTopLevelDeclaration(t)
  beginMetadataStar(t)
  endMetadataStar(0)
  beginTopLevelMember(t)
    beginTopLevelMethod(;, null)
      handleNoType(;)
      handleIdentifier(t, topLevelFunctionDeclaration)
      handleNoTypeVariables(()
      beginFormalParameters((, MemberKind.TopLevelMethod)
        beginMetadataStar(c)
        endMetadataStar(0)
        beginFormalParameter(c, MemberKind.TopLevelMethod, null, null, null)
          handleNoType(()
          handleIdentifier(c, formalParameterDeclaration)
          handleFormalParameterWithoutValue())
        endFormalParameter(null, null, c, null, null, FormalParameterKind.mandatory, MemberKind.TopLevelMethod)
      endFormalParameters(1, (, ), MemberKind.TopLevelMethod)
      handleAsyncModifier(null, null)
      handleRecoverableError(Message[ExpectedFunctionBody, Expected a function body, but got '2'., null, {token: 2}], 2, 2)
      handleInvalidFunctionBody({)
    endTopLevelMethod(t, null, })
  endTopLevelDeclaration(2)
  beginMetadataStar(2)
  endMetadataStar(0)
  beginTopLevelMember(2)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '2'., null, {token: 2}], 2, 2)
    handleInvalidTopLevelDeclaration(2)
  endTopLevelDeclaration(0)
  beginMetadataStar(0)
  endMetadataStar(0)
  beginTopLevelMember(0)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '0'., null, {token: 0}], 0, 0)
    handleInvalidTopLevelDeclaration(0)
  endTopLevelDeclaration(2)
  beginMetadataStar(2)
  endMetadataStar(0)
  beginTopLevelMember(2)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '2'., null, {token: 2}], 2, 2)
    handleInvalidTopLevelDeclaration(2)
  endTopLevelDeclaration(0)
  beginMetadataStar(0)
  endMetadataStar(0)
  beginTopLevelMember(0)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '0'., null, {token: 0}], 0, 0)
    handleInvalidTopLevelDeclaration(0)
  endTopLevelDeclaration(,)
  beginMetadataStar(,)
  endMetadataStar(0)
  beginTopLevelMember(,)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got ','., null, {token: ,}], ,, ,)
    handleInvalidTopLevelDeclaration(,)
  endTopLevelDeclaration(t)
  beginMetadataStar(t)
  endMetadataStar(0)
  beginTopLevelMember(t)
    beginFields(,)
      handleIdentifier(t, typeReference)
      handleNoTypeArguments(h)
      handleType(t, null)
      handleIdentifier(h, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], h, h)
    endTopLevelFields(null, null, null, null, null, 1, t, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(D)
      handleType(e, null)
      handleIdentifier(D, topLevelVariableDeclaration)
      handleNoFieldInitializer(a)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], D, D)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(a)
  beginMetadataStar(a)
  endMetadataStar(0)
  beginTopLevelMember(a)
    beginFields(;)
      handleIdentifier(a, typeReference)
      handleNoTypeArguments(r)
      handleType(a, null)
      handleIdentifier(r, topLevelVariableDeclaration)
      handleNoFieldInitializer(t)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
    endTopLevelFields(null, null, null, null, null, 1, a, ;)
  endTopLevelDeclaration(t)
  beginMetadataStar(t)
  endMetadataStar(0)
  beginTopLevelMember(t)
    beginFields(;)
      handleIdentifier(t, typeReference)
      handleNoTypeArguments(p)
      handleType(t, null)
      handleIdentifier(p, topLevelVariableDeclaration)
      handleNoFieldInitializer(r)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], p, p)
    endTopLevelFields(null, null, null, null, null, 1, t, ;)
  endTopLevelDeclaration(r)
  beginMetadataStar(r)
  endMetadataStar(0)
  beginTopLevelMember(r)
    beginFields(;)
      handleIdentifier(r, typeReference)
      handleNoTypeArguments(o)
      handleType(r, null)
      handleIdentifier(o, topLevelVariableDeclaration)
      handleNoFieldInitializer(j)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], o, o)
    endTopLevelFields(null, null, null, null, null, 1, r, ;)
  endTopLevelDeclaration(j)
  beginMetadataStar(j)
  endMetadataStar(0)
  beginTopLevelMember(j)
    beginFields(;)
      handleIdentifier(j, typeReference)
      handleNoTypeArguments(e)
      handleType(j, null)
      handleIdentifier(e, topLevelVariableDeclaration)
      handleNoFieldInitializer(c)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
    endTopLevelFields(null, null, null, null, null, 1, j, ;)
  endTopLevelDeclaration(c)
  beginMetadataStar(c)
  endMetadataStar(0)
  beginTopLevelMember(c)
    beginFields(;)
      handleIdentifier(c, typeReference)
      handleNoTypeArguments(t)
      handleType(c, null)
      handleIdentifier(t, topLevelVariableDeclaration)
      handleNoFieldInitializer(a)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
    endTopLevelFields(null, null, null, null, null, 1, c, ;)
  endTopLevelDeclaration(a)
  beginMetadataStar(a)
  endMetadataStar(0)
  beginTopLevelMember(a)
    beginFields(;)
      handleIdentifier(a, typeReference)
      handleNoTypeArguments(u)
      handleType(a, null)
      handleIdentifier(u, topLevelVariableDeclaration)
      handleNoFieldInitializer(t)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], u, u)
    endTopLevelFields(null, null, null, null, null, 1, a, ;)
  endTopLevelDeclaration(t)
  beginMetadataStar(t)
  endMetadataStar(0)
  beginTopLevelMember(t)
    beginFields(;)
      handleIdentifier(t, typeReference)
      handleNoTypeArguments(h)
      handleType(t, null)
      handleIdentifier(h, topLevelVariableDeclaration)
      handleNoFieldInitializer(o)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], h, h)
    endTopLevelFields(null, null, null, null, null, 1, t, ;)
  endTopLevelDeclaration(o)
  beginMetadataStar(o)
  endMetadataStar(0)
  beginTopLevelMember(o)
    beginFields(;)
      handleIdentifier(o, typeReference)
      handleNoTypeArguments(r)
      handleType(o, null)
      handleIdentifier(r, topLevelVariableDeclaration)
      handleNoFieldInitializer(s)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
    endTopLevelFields(null, null, null, null, null, 1, o, ;)
  endTopLevelDeclaration(s)
  beginMetadataStar(s)
  endMetadataStar(0)
  beginTopLevelMember(s)
    beginFields(;)
      handleIdentifier(s, prefixedTypeReference)
      handleIdentifier(P, typeReferenceContinuation)
      handleQualified(.)
      handleNoTypeArguments(l)
      handleType(s, null)
      handleIdentifier(l, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], l, l)
    endTopLevelFields(null, null, null, null, null, 1, s, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(a)
      handleType(e, null)
      handleIdentifier(a, topLevelVariableDeclaration)
      handleNoFieldInitializer(s)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], a, a)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(s)
  beginMetadataStar(s)
  endMetadataStar(0)
  beginTopLevelMember(s)
    beginFields(;)
      handleIdentifier(s, typeReference)
      handleNoTypeArguments(e)
      handleType(s, null)
      handleIdentifier(e, topLevelVariableDeclaration)
      handleNoFieldInitializer(s)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
    endTopLevelFields(null, null, null, null, null, 1, s, ;)
  endTopLevelDeclaration(s)
  beginMetadataStar(s)
  endMetadataStar(0)
  beginTopLevelMember(s)
    beginFields(;)
      handleIdentifier(s, typeReference)
      handleNoTypeArguments(e)
      handleType(s, null)
      handleIdentifier(e, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
    endTopLevelFields(null, null, null, null, null, 1, s, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(t)
      handleType(e, null)
      handleIdentifier(t, topLevelVariableDeclaration)
      handleNoFieldInitializer(h)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(h)
  beginMetadataStar(h)
  endMetadataStar(0)
  beginTopLevelMember(h)
    beginFields(;)
      handleIdentifier(h, typeReference)
      handleNoTypeArguments(e)
      handleType(h, null)
      handleIdentifier(e, topLevelVariableDeclaration)
      handleNoFieldInitializer(A)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
    endTopLevelFields(null, null, null, null, null, 1, h, ;)
  endTopLevelDeclaration(A)
  beginMetadataStar(A)
  endMetadataStar(0)
  beginTopLevelMember(A)
    beginFields(;)
      handleIdentifier(A, typeReference)
      handleNoTypeArguments(U)
      handleType(A, null)
      handleIdentifier(U, topLevelVariableDeclaration)
      handleNoFieldInitializer(T)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], U, U)
    endTopLevelFields(null, null, null, null, null, 1, A, ;)
  endTopLevelDeclaration(T)
  beginMetadataStar(T)
  endMetadataStar(0)
  beginTopLevelMember(T)
    beginFields(;)
      handleIdentifier(T, typeReference)
      handleNoTypeArguments(H)
      handleType(T, null)
      handleIdentifier(H, topLevelVariableDeclaration)
      handleNoFieldInitializer(O)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], H, H)
    endTopLevelFields(null, null, null, null, null, 1, T, ;)
  endTopLevelDeclaration(O)
  beginMetadataStar(O)
  endMetadataStar(0)
  beginTopLevelMember(O)
    beginFields(;)
      handleIdentifier(O, typeReference)
      handleNoTypeArguments(R)
      handleType(O, null)
      handleIdentifier(R, topLevelVariableDeclaration)
      handleNoFieldInitializer(S)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], R, R)
    endTopLevelFields(null, null, null, null, null, 1, O, ;)
  endTopLevelDeclaration(S)
  beginMetadataStar(S)
  endMetadataStar(0)
  beginTopLevelMember(S)
    beginFields(;)
      handleIdentifier(S, typeReference)
      handleNoTypeArguments(f)
      handleType(S, null)
      handleIdentifier(f, topLevelVariableDeclaration)
      handleNoFieldInitializer(i)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], f, f)
    endTopLevelFields(null, null, null, null, null, 1, S, ;)
  endTopLevelDeclaration(i)
  beginMetadataStar(i)
  endMetadataStar(0)
  beginTopLevelMember(i)
    beginFields(;)
      handleIdentifier(i, typeReference)
      handleNoTypeArguments(l)
      handleType(i, null)
      handleIdentifier(l, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], l, l)
    endTopLevelFields(null, null, null, null, null, 1, i, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleRecoverableError(MissingConstFinalVarOrType, e, e)
      handleNoType(;)
      handleIdentifier(e, topLevelVariableDeclaration)
      handleNoFieldInitializer(/)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(/)
  beginMetadataStar(/)
  endMetadataStar(0)
  beginTopLevelMember(/)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '/'., null, {token: /}], /, /)
    handleInvalidTopLevelDeclaration(/)
  endTopLevelDeclaration(/)
  beginMetadataStar(/)
  endMetadataStar(0)
  beginTopLevelMember(/)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '/'., null, {token: /}], /, /)
    handleInvalidTopLevelDeclaration(/)
  endTopLevelDeclaration(f)
  beginMetadataStar(f)
  endMetadataStar(0)
  beginTopLevelMember(f)
    beginFields(/)
      handleIdentifier(f, typeReference)
      handleNoTypeArguments(o)
      handleType(f, null)
      handleIdentifier(o, topLevelVariableDeclaration)
      handleNoFieldInitializer(r)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], o, o)
    endTopLevelFields(null, null, null, null, null, 1, f, ;)
  endTopLevelDeclaration(r)
  beginMetadataStar(r)
  endMetadataStar(0)
  beginTopLevelMember(r)
    beginFields(;)
      handleIdentifier(r, typeReference)
      handleNoTypeArguments(d)
      handleType(r, null)
      handleIdentifier(d, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], d, d)
    endTopLevelFields(null, null, null, null, null, 1, r, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(t)
      handleType(e, null)
      handleIdentifier(t, topLevelVariableDeclaration)
      handleNoFieldInitializer(a)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(a)
  beginMetadataStar(a)
  endMetadataStar(0)
  beginTopLevelMember(a)
    beginFields(;)
      handleIdentifier(a, typeReference)
      handleNoTypeArguments(i)
      handleType(a, null)
      handleIdentifier(i, topLevelVariableDeclaration)
      handleNoFieldInitializer(l)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], i, i)
    endTopLevelFields(null, null, null, null, null, 1, a, ;)
  endTopLevelDeclaration(l)
  beginMetadataStar(l)
  endMetadataStar(0)
  beginTopLevelMember(l)
    beginTopLevelMethod(;, null)
      handleIdentifier(l, typeReference)
      handleNoTypeArguments(s)
      handleType(l, null)
      handleIdentifier(s, topLevelFunctionDeclaration)
      handleNoTypeVariables(.)
      handleRecoverableError(MissingFunctionParameters, s, s)
      beginFormalParameters((, MemberKind.TopLevelMethod)
      endFormalParameters(0, (, ), MemberKind.TopLevelMethod)
      handleAsyncModifier(null, null)
      handleRecoverableError(Message[ExpectedFunctionBody, Expected a function body, but got '.'., null, {token: .}], ., .)
      handleInvalidFunctionBody({)
    endTopLevelMethod(l, null, })
  endTopLevelDeclaration(.)
  beginMetadataStar(.)
  endMetadataStar(0)
  beginTopLevelMember(.)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '.'., null, {token: .}], ., .)
    handleInvalidTopLevelDeclaration(.)
  endTopLevelDeclaration(A)
  beginMetadataStar(A)
  endMetadataStar(0)
  beginTopLevelMember(A)
    beginFields(.)
      handleIdentifier(A, typeReference)
      handleNoTypeArguments(l)
      handleType(A, null)
      handleIdentifier(l, topLevelVariableDeclaration)
      handleNoFieldInitializer(l)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], l, l)
    endTopLevelFields(null, null, null, null, null, 1, A, ;)
  endTopLevelDeclaration(l)
  beginMetadataStar(l)
  endMetadataStar(0)
  beginTopLevelMember(l)
    beginFields(;)
      handleIdentifier(l, typeReference)
      handleNoTypeArguments(r)
      handleType(l, null)
      handleIdentifier(r, topLevelVariableDeclaration)
      handleNoFieldInitializer(i)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
    endTopLevelFields(null, null, null, null, null, 1, l, ;)
  endTopLevelDeclaration(i)
  beginMetadataStar(i)
  endMetadataStar(0)
  beginTopLevelMember(i)
    beginFields(;)
      handleIdentifier(i, typeReference)
      handleNoTypeArguments(g)
      handleType(i, null)
      handleIdentifier(g, topLevelVariableDeclaration)
      handleNoFieldInitializer(h)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], g, g)
    endTopLevelFields(null, null, null, null, null, 1, i, ;)
  endTopLevelDeclaration(h)
  beginMetadataStar(h)
  endMetadataStar(0)
  beginTopLevelMember(h)
    beginFields(;)
      handleIdentifier(h, typeReference)
      handleNoTypeArguments(t)
      handleType(h, null)
      handleIdentifier(t, topLevelVariableDeclaration)
      handleNoFieldInitializer(s)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
    endTopLevelFields(null, null, null, null, null, 1, h, ;)
  endTopLevelDeclaration(s)
  beginMetadataStar(s)
  endMetadataStar(0)
  beginTopLevelMember(s)
    beginFields(;)
      handleIdentifier(s, typeReference)
      handleNoTypeArguments(r)
      handleType(s, null)
      handleIdentifier(r, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
    endTopLevelFields(null, null, null, null, null, 1, s, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(s)
      handleType(e, null)
      handleIdentifier(s, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], s, s)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(r)
      handleType(e, null)
      handleIdentifier(r, topLevelVariableDeclaration)
      handleNoFieldInitializer(v)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(v)
  beginMetadataStar(v)
  endMetadataStar(0)
  beginTopLevelMember(v)
    beginFields(;)
      handleIdentifier(v, typeReference)
      handleNoTypeArguments(e)
      handleType(v, null)
      handleIdentifier(e, topLevelVariableDeclaration)
      handleNoFieldInitializer(d)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
    endTopLevelFields(null, null, null, null, null, 1, v, ;)
  endTopLevelDeclaration(d)
  beginMetadataStar(d)
  endMetadataStar(0)
  beginTopLevelMember(d)
    beginFields(;)
      handleIdentifier(d, prefixedTypeReference)
      handleIdentifier(U, typeReferenceContinuation)
      handleQualified(.)
      handleNoTypeArguments(s)
      handleType(d, null)
      handleIdentifier(s, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], s, s)
    endTopLevelFields(null, null, null, null, null, 1, d, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(o)
      handleType(e, null)
      handleIdentifier(o, topLevelVariableDeclaration)
      handleNoFieldInitializer(f)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], o, o)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(f)
  beginMetadataStar(f)
  endMetadataStar(0)
  beginTopLevelMember(f)
    beginFields(;)
      handleIdentifier(f, typeReference)
      handleNoTypeArguments(t)
      handleType(f, null)
      handleIdentifier(t, topLevelVariableDeclaration)
      handleNoFieldInitializer(h)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
    endTopLevelFields(null, null, null, null, null, 1, f, ;)
  endTopLevelDeclaration(h)
  beginMetadataStar(h)
  endMetadataStar(0)
  beginTopLevelMember(h)
    beginFields(;)
      handleIdentifier(h, typeReference)
      handleNoTypeArguments(i)
      handleType(h, null)
      handleIdentifier(i, topLevelVariableDeclaration)
      handleNoFieldInitializer(s)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], i, i)
    endTopLevelFields(null, null, null, null, null, 1, h, ;)
  endTopLevelDeclaration(s)
  beginMetadataStar(s)
  endMetadataStar(0)
  beginTopLevelMember(s)
    beginFields(;)
      handleIdentifier(s, typeReference)
      handleNoTypeArguments(s)
      handleType(s, null)
      handleIdentifier(s, topLevelVariableDeclaration)
      handleNoFieldInitializer(o)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], s, s)
    endTopLevelFields(null, null, null, null, null, 1, s, ;)
  endTopLevelDeclaration(o)
  beginMetadataStar(o)
  endMetadataStar(0)
  beginTopLevelMember(o)
    beginFields(;)
      handleIdentifier(o, typeReference)
      handleNoTypeArguments(u)
      handleType(o, null)
      handleIdentifier(u, topLevelVariableDeclaration)
      handleNoFieldInitializer(r)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], u, u)
    endTopLevelFields(null, null, null, null, null, 1, o, ;)
  endTopLevelDeclaration(r)
  beginMetadataStar(r)
  endMetadataStar(0)
  beginTopLevelMember(r)
    beginFields(;)
      handleIdentifier(r, typeReference)
      handleNoTypeArguments(c)
      handleType(r, null)
      handleIdentifier(c, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], c, c)
    endTopLevelFields(null, null, null, null, null, 1, r, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(c)
      handleType(e, null)
      handleIdentifier(c, topLevelVariableDeclaration)
      handleNoFieldInitializer(o)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], c, c)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(o)
  beginMetadataStar(o)
  endMetadataStar(0)
  beginTopLevelMember(o)
    beginFields(;)
      handleIdentifier(o, typeReference)
      handleNoTypeArguments(d)
      handleType(o, null)
      handleIdentifier(d, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], d, d)
    endTopLevelFields(null, null, null, null, null, 1, o, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(i)
      handleType(e, null)
      handleIdentifier(i, topLevelVariableDeclaration)
      handleNoFieldInitializer(s)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], i, i)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(s)
  beginMetadataStar(s)
  endMetadataStar(0)
  beginTopLevelMember(s)
    beginFields(;)
      handleIdentifier(s, typeReference)
      handleNoTypeArguments(g)
      handleType(s, null)
      handleIdentifier(g, topLevelVariableDeclaration)
      handleNoFieldInitializer(o)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], g, g)
    endTopLevelFields(null, null, null, null, null, 1, s, ;)
  endTopLevelDeclaration(o)
  beginMetadataStar(o)
  endMetadataStar(0)
  beginTopLevelMember(o)
    beginFields(;)
      handleIdentifier(o, typeReference)
      handleNoTypeArguments(v)
      handleType(o, null)
      handleIdentifier(v, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], v, v)
    endTopLevelFields(null, null, null, null, null, 1, o, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(r)
      handleType(e, null)
      handleIdentifier(r, topLevelVariableDeclaration)
      handleNoFieldInitializer(n)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(n)
  beginMetadataStar(n)
  endMetadataStar(0)
  beginTopLevelMember(n)
    beginFields(;)
      handleIdentifier(n, typeReference)
      handleNoTypeArguments(e)
      handleType(n, null)
      handleIdentifier(e, topLevelVariableDeclaration)
      handleNoFieldInitializer(d)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
    endTopLevelFields(null, null, null, null, null, 1, n, ;)
  endTopLevelDeclaration(d)
  beginMetadataStar(d)
  endMetadataStar(0)
  beginTopLevelMember(d)
    beginFields(;)
      handleIdentifier(d, typeReference)
      handleNoTypeArguments(b)
      handleType(d, null)
      handleIdentifier(b, topLevelVariableDeclaration)
      handleNoFieldInitializer(y)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], b, b)
    endTopLevelFields(null, null, null, null, null, 1, d, ;)
  endTopLevelDeclaration(y)
  beginMetadataStar(y)
  endMetadataStar(0)
  beginTopLevelMember(y)
    beginFields(;)
      handleIdentifier(y, typeReference)
      handleNoTypeArguments(a)
      handleType(y, null)
      handleIdentifier(a, topLevelVariableDeclaration)
      handleNoFieldInitializer(/)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], a, a)
    endTopLevelFields(null, null, null, null, null, 1, y, ;)
  endTopLevelDeclaration(/)
  beginMetadataStar(/)
  endMetadataStar(0)
  beginTopLevelMember(/)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '/'., null, {token: /}], /, /)
    handleInvalidTopLevelDeclaration(/)
  endTopLevelDeclaration(/)
  beginMetadataStar(/)
  endMetadataStar(0)
  beginTopLevelMember(/)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '/'., null, {token: /}], /, /)
    handleInvalidTopLevelDeclaration(/)
  endTopLevelDeclaration(B)
  beginMetadataStar(B)
  endMetadataStar(0)
  beginTopLevelMember(B)
    beginFields(/)
      handleIdentifier(B, typeReference)
      handleNoTypeArguments(S)
      handleType(B, null)
      handleIdentifier(S, topLevelVariableDeclaration)
      handleNoFieldInitializer(D)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], S, S)
    endTopLevelFields(null, null, null, null, null, 1, B, ;)
  endTopLevelDeclaration(D)
  beginMetadataStar(D)
  endMetadataStar(0)
  beginTopLevelMember(D)
    beginFields(;)
      handleRecoverableError(MissingConstFinalVarOrType, D, D)
      handleNoType(;)
      handleIdentifier(D, topLevelVariableDeclaration)
      handleNoFieldInitializer(-)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], D, D)
    endTopLevelFields(null, null, null, null, null, 1, D, ;)
  endTopLevelDeclaration(-)
  beginMetadataStar(-)
  endMetadataStar(0)
  beginTopLevelMember(-)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '-'., null, {token: -}], -, -)
    handleInvalidTopLevelDeclaration(-)
  endTopLevelDeclaration(s)
  beginMetadataStar(s)
  endMetadataStar(0)
  beginTopLevelMember(s)
    beginFields(-)
      handleIdentifier(s, typeReference)
      handleNoTypeArguments(t)
      handleType(s, null)
      handleIdentifier(t, topLevelVariableDeclaration)
      handleNoFieldInitializer(y)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
    endTopLevelFields(null, null, null, null, null, 1, s, ;)
  endTopLevelDeclaration(y)
  beginMetadataStar(y)
  endMetadataStar(0)
  beginTopLevelMember(y)
    beginFields(;)
      handleIdentifier(y, typeReference)
      handleNoTypeArguments(l)
      handleType(y, null)
      handleIdentifier(l, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], l, l)
    endTopLevelFields(null, null, null, null, null, 1, y, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(l)
      handleType(e, null)
      handleIdentifier(l, topLevelVariableDeclaration)
      handleNoFieldInitializer(i)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], l, l)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(i)
  beginMetadataStar(i)
  endMetadataStar(0)
  beginTopLevelMember(i)
    beginFields(;)
      handleIdentifier(i, typeReference)
      handleNoTypeArguments(c)
      handleType(i, null)
      handleIdentifier(c, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], c, c)
    endTopLevelFields(null, null, null, null, null, 1, i, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(n)
      handleType(e, null)
      handleIdentifier(n, topLevelVariableDeclaration)
      handleNoFieldInitializer(s)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], n, n)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(s)
  beginMetadataStar(s)
  endMetadataStar(0)
  beginTopLevelMember(s)
    beginFields(;)
      handleIdentifier(s, typeReference)
      handleNoTypeArguments(e)
      handleType(s, null)
      handleIdentifier(e, topLevelVariableDeclaration)
      handleNoFieldInitializer(t)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
    endTopLevelFields(null, null, null, null, null, 1, s, ;)
  endTopLevelDeclaration(t)
  beginMetadataStar(t)
  endMetadataStar(0)
  beginTopLevelMember(t)
    beginFields(;)
      handleIdentifier(t, typeReference)
      handleNoTypeArguments(h)
      handleType(t, null)
      handleIdentifier(h, topLevelVariableDeclaration)
      handleNoFieldInitializer(a)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], h, h)
    endTopLevelFields(null, null, null, null, null, 1, t, ;)
  endTopLevelDeclaration(a)
  beginMetadataStar(a)
  endMetadataStar(0)
  beginTopLevelMember(a)
    beginFields(;)
      handleIdentifier(a, typeReference)
      handleNoTypeArguments(t)
      handleType(a, null)
      handleIdentifier(t, topLevelVariableDeclaration)
      handleNoFieldInitializer(c)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], t, t)
    endTopLevelFields(null, null, null, null, null, 1, a, ;)
  endTopLevelDeclaration(c)
  beginMetadataStar(c)
  endMetadataStar(0)
  beginTopLevelMember(c)
    beginFields(;)
      handleIdentifier(c, typeReference)
      handleNoTypeArguments(a)
      handleType(c, null)
      handleIdentifier(a, topLevelVariableDeclaration)
      handleNoFieldInitializer(n)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], a, a)
    endTopLevelFields(null, null, null, null, null, 1, c, ;)
  endTopLevelDeclaration(n)
  beginMetadataStar(n)
  endMetadataStar(0)
  beginTopLevelMember(n)
    beginFields(;)
      handleIdentifier(n, typeReference)
      handleNoTypeArguments(b)
      handleType(n, null)
      handleIdentifier(b, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], b, b)
    endTopLevelFields(null, null, null, null, null, 1, n, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(f)
      handleType(e, null)
      handleIdentifier(f, topLevelVariableDeclaration)
      handleNoFieldInitializer(o)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], f, f)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(o)
  beginMetadataStar(o)
  endMetadataStar(0)
  beginTopLevelMember(o)
    beginFields(;)
      handleIdentifier(o, typeReference)
      handleNoTypeArguments(u)
      handleType(o, null)
      handleIdentifier(u, topLevelVariableDeclaration)
      handleNoFieldInitializer(n)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], u, u)
    endTopLevelFields(null, null, null, null, null, 1, o, ;)
  endTopLevelDeclaration(n)
  beginMetadataStar(n)
  endMetadataStar(0)
  beginTopLevelMember(n)
    beginFields(;)
      handleIdentifier(n, typeReference)
      handleNoTypeArguments(d)
      handleType(n, null)
      handleIdentifier(d, topLevelVariableDeclaration)
      handleNoFieldInitializer(i)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], d, d)
    endTopLevelFields(null, null, null, null, null, 1, n, ;)
  endTopLevelDeclaration(i)
  beginMetadataStar(i)
  endMetadataStar(0)
  beginTopLevelMember(i)
    beginFields(;)
      handleIdentifier(i, typeReference)
      handleNoTypeArguments(n)
      handleType(i, null)
      handleIdentifier(n, topLevelVariableDeclaration)
      handleNoFieldInitializer(t)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], n, n)
    endTopLevelFields(null, null, null, null, null, 1, i, ;)
  endTopLevelDeclaration(t)
  beginMetadataStar(t)
  endMetadataStar(0)
  beginTopLevelMember(t)
    beginFields(;)
      handleIdentifier(t, typeReference)
      handleNoTypeArguments(h)
      handleType(t, null)
      handleIdentifier(h, topLevelVariableDeclaration)
      handleNoFieldInitializer(e)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], h, h)
    endTopLevelFields(null, null, null, null, null, 1, t, ;)
  endTopLevelDeclaration(e)
  beginMetadataStar(e)
  endMetadataStar(0)
  beginTopLevelMember(e)
    beginFields(;)
      handleIdentifier(e, typeReference)
      handleNoTypeArguments(L)
      handleType(e, null)
      handleIdentifier(L, topLevelVariableDeclaration)
      handleNoFieldInitializer(I)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], L, L)
    endTopLevelFields(null, null, null, null, null, 1, e, ;)
  endTopLevelDeclaration(I)
  beginMetadataStar(I)
  endMetadataStar(0)
  beginTopLevelMember(I)
    beginFields(;)
      handleIdentifier(I, typeReference)
      handleNoTypeArguments(C)
      handleType(I, null)
      handleIdentifier(C, topLevelVariableDeclaration)
      handleNoFieldInitializer(E)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], C, C)
    endTopLevelFields(null, null, null, null, null, 1, I, ;)
  endTopLevelDeclaration(E)
  beginMetadataStar(E)
  endMetadataStar(0)
  beginTopLevelMember(E)
    beginFields(;)
      handleIdentifier(E, typeReference)
      handleNoTypeArguments(N)
      handleType(E, null)
      handleIdentifier(N, topLevelVariableDeclaration)
      handleNoFieldInitializer(S)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], N, N)
    endTopLevelFields(null, null, null, null, null, 1, E, ;)
  endTopLevelDeclaration(S)
  beginMetadataStar(S)
  endMetadataStar(0)
  beginTopLevelMember(S)
    beginTopLevelMethod(;, null)
      handleIdentifier(S, typeReference)
      handleNoTypeArguments(E)
      handleType(S, null)
      handleIdentifier(E, topLevelFunctionDeclaration)
      handleNoTypeVariables(.)
      handleRecoverableError(MissingFunctionParameters, E, E)
      beginFormalParameters((, MemberKind.TopLevelMethod)
      endFormalParameters(0, (, ), MemberKind.TopLevelMethod)
      handleAsyncModifier(null, null)
      handleRecoverableError(Message[ExpectedFunctionBody, Expected a function body, but got '.'., null, {token: .}], ., .)
      handleInvalidFunctionBody({)
    endTopLevelMethod(S, null, })
  endTopLevelDeclaration(.)
  beginMetadataStar(.)
  endMetadataStar(0)
  beginTopLevelMember(.)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '.'., null, {token: .}], ., .)
    handleInvalidTopLevelDeclaration(.)
  endTopLevelDeclaration(m)
  beginMetadataStar(m)
  endMetadataStar(0)
  beginTopLevelMember(m)
    beginFields(.)
      handleIdentifier(m, typeReference)
      handleNoTypeArguments(d)
      handleType(m, null)
      handleIdentifier(d, topLevelVariableDeclaration)
      handleNoFieldInitializer(f)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], d, d)
    endTopLevelFields(null, null, null, null, null, 1, m, ;)
  endTopLevelDeclaration(f)
  beginMetadataStar(f)
  endMetadataStar(0)
  beginTopLevelMember(f)
    beginFields(;)
      handleIdentifier(f, typeReference)
      handleNoTypeArguments(i)
      handleType(f, null)
      handleIdentifier(i, topLevelVariableDeclaration)
      handleNoFieldInitializer(l)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], i, i)
    endTopLevelFields(null, null, null, null, null, 1, f, ;)
  endTopLevelDeclaration(l)
  beginMetadataStar(l)
  endMetadataStar(0)
  beginTopLevelMember(l)
    beginTopLevelMethod(;, null)
      handleIdentifier(l, typeReference)
      handleNoTypeArguments(e)
      handleType(l, null)
      handleIdentifier(e, topLevelFunctionDeclaration)
      handleNoTypeVariables(.)
      handleRecoverableError(MissingFunctionParameters, e, e)
      beginFormalParameters((, MemberKind.TopLevelMethod)
      endFormalParameters(0, (, ), MemberKind.TopLevelMethod)
      handleAsyncModifier(null, null)
      handleRecoverableError(Message[ExpectedFunctionBody, Expected a function body, but got '.'., null, {token: .}], ., .)
      handleInvalidFunctionBody({)
    endTopLevelMethod(l, null, })
  endTopLevelDeclaration(.)
  beginMetadataStar(.)
  endMetadataStar(0)
  beginTopLevelMember(.)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '.'., null, {token: .}], ., .)
    handleInvalidTopLevelDeclaration(.)
  endTopLevelDeclaration(/)
  beginMetadataStar(/)
  endMetadataStar(0)
  beginTopLevelMember(/)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '/'., null, {token: /}], /, /)
    handleInvalidTopLevelDeclaration(/)
  endTopLevelDeclaration(/)
  beginMetadataStar(/)
  endMetadataStar(0)
  beginTopLevelMember(/)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '/'., null, {token: /}], /, /)
    handleInvalidTopLevelDeclaration(/)
  endTopLevelDeclaration(T)
  beginMetadataStar(T)
  endMetadataStar(0)
  beginTopLevelMember(T)
    beginFields(/)
      handleIdentifier(T, typeReference)
      handleNoTypeArguments(h)
      handleType(T, null)
      handleIdentifier(h, topLevelVariableDeclaration)
      handleNoFieldInitializer(i)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], h, h)
    endTopLevelFields(null, null, null, null, null, 1, T, ;)
  endTopLevelDeclaration(i)
  beginMetadataStar(i)
  endMetadataStar(0)
  beginTopLevelMember(i)
    beginFields(;)
      handleIdentifier(i, typeReference)
      handleNoTypeArguments(s)
      handleType(i, null)
      handleIdentifier(s, topLevelVariableDeclaration)
      handleNoFieldInitializer(f)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], s, s)
    endTopLevelFields(null, null, null, null, null, 1, i, ;)
  endTopLevelDeclaration(f)
  beginMetadataStar(f)
  endMetadataStar(0)
  beginTopLevelMember(f)
    beginFields(;)
      handleIdentifier(f, typeReference)
      handleNoTypeArguments(i)
      handleType(f, null)
      handleIdentifier(i, topLevelVariableDeclaration)
      handleNoFieldInitializer(l)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], i, i)
    endTopLevelFields(null, null, null, null, null, 1, f, ;)
  endTopLevelDeclaration(l)
  beginMetadataStar(l)
  endMetadataStar(0)
  beginTopLevelMember(l)
    beginFields(;)
      handleIdentifier(l, typeReference)
      handleNoTypeArguments(e)
      handleType(l, null)
      handleIdentifier(e, topLevelVariableDeclaration)
      handleNoFieldInitializer(i)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
    endTopLevelFields(null, null, null, null, null, 1, l, ;)
  endTopLevelDeclaration(i)
  beginMetadataStar(i)
  endMetadataStar(0)
  beginTopLevelMember(i)
    beginFields(;)
      handleIdentifier(i, typeReference)
      handleNoTypeArguments(s)
      handleType(i, null)
      handleIdentifier(s, topLevelVariableDeclaration)
      handleNoFieldInitializer(s)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], s, s)
    endTopLevelFields(null, null, null, null, null, 1, i, ;)
  endTopLevelDeclaration(s)
  beginMetadataStar(s)
  endMetadataStar(0)
  beginTopLevelMember(s)
    beginFields(;)
      handleIdentifier(s, typeReference)
      handleNoTypeArguments(a)
      handleType(s, null)
      handleIdentifier(a, topLevelVariableDeclaration)
      handleNoFieldInitializer(v)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], a, a)
    endTopLevelFields(null, null, null, null, null, 1, s, ;)
  endTopLevelDeclaration(v)
  beginMetadataStar(v)
  endMetadataStar(0)
  beginTopLevelMember(v)
    beginFields(;)
      handleIdentifier(v, typeReference)
      handleNoTypeArguments(e)
      handleType(v, null)
      handleIdentifier(e, topLevelVariableDeclaration)
      handleNoFieldInitializer(d)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], e, e)
    endTopLevelFields(null, null, null, null, null, 1, v, ;)
  endTopLevelDeclaration(d)
  beginMetadataStar(d)
  endMetadataStar(0)
  beginTopLevelMember(d)
    beginFields(;)
      handleIdentifier(d, typeReference)
      handleNoTypeArguments(a)
      handleType(d, null)
      handleIdentifier(a, topLevelVariableDeclaration)
      handleNoFieldInitializer(s)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], a, a)
    endTopLevelFields(null, null, null, null, null, 1, d, ;)
  endTopLevelDeclaration(s)
  beginMetadataStar(s)
  endMetadataStar(0)
  beginTopLevelMember(s)
    beginFields(;)
      handleIdentifier(s, typeReference)
      handleNoTypeArguments(U)
      handleType(s, null)
      handleIdentifier(U, topLevelVariableDeclaration)
      handleNoFieldInitializer(T)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], U, U)
    endTopLevelFields(null, null, null, null, null, 1, s, ;)
  endTopLevelDeclaration(T)
  beginMetadataStar(T)
  endMetadataStar(0)
  beginTopLevelMember(T)
    beginFields(;)
      handleIdentifier(T, typeReference)
      handleNoTypeArguments(F)
      handleType(T, null)
      handleIdentifier(F, topLevelVariableDeclaration)
      handleNoFieldInitializer(-)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], F, F)
    endTopLevelFields(null, null, null, null, null, 1, T, ;)
  endTopLevelDeclaration(-)
  beginMetadataStar(-)
  endMetadataStar(0)
  beginTopLevelMember(-)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '-'., null, {token: -}], -, -)
    handleInvalidTopLevelDeclaration(-)
  endTopLevelDeclaration(1)
  beginMetadataStar(1)
  endMetadataStar(0)
  beginTopLevelMember(1)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '1'., null, {token: 1}], 1, 1)
    handleInvalidTopLevelDeclaration(1)
  endTopLevelDeclaration(6)
  beginMetadataStar(6)
  endMetadataStar(0)
  beginTopLevelMember(6)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '6'., null, {token: 6}], 6, 6)
    handleInvalidTopLevelDeclaration(6)
  endTopLevelDeclaration(L)
  beginMetadataStar(L)
  endMetadataStar(0)
  beginTopLevelMember(L)
    beginTopLevelMethod(6, null)
      handleIdentifier(L, typeReference)
      handleNoTypeArguments(E)
      handleType(L, null)
      handleIdentifier(E, topLevelFunctionDeclaration)
      handleNoTypeVariables(.)
      handleRecoverableError(MissingFunctionParameters, E, E)
      beginFormalParameters((, MemberKind.TopLevelMethod)
      endFormalParameters(0, (, ), MemberKind.TopLevelMethod)
      handleAsyncModifier(null, null)
      handleRecoverableError(Message[ExpectedFunctionBody, Expected a function body, but got '.'., null, {token: .}], ., .)
      handleInvalidFunctionBody({)
    endTopLevelMethod(L, null, })
  endTopLevelDeclaration(.)
  beginMetadataStar(.)
  endMetadataStar(0)
  beginTopLevelMember(.)
    handleRecoverableError(Message[ExpectedDeclaration, Expected a declaration, but got '.'., null, {token: .}], ., .)
    handleInvalidTopLevelDeclaration(.)
  endTopLevelDeclaration(m)
  beginMetadataStar(m)
  endMetadataStar(0)
  beginTopLevelMember(m)
    beginFields(.)
      handleIdentifier(m, typeReference)
      handleNoTypeArguments(a)
      handleType(m, null)
      handleIdentifier(a, topLevelVariableDeclaration)
      handleNoFieldInitializer(i)
      handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], a, a)
    endTopLevelFields(null, null, null, null, null, 1, m, ;)
  endTopLevelDeclaration(i)
  beginMetadataStar(i)
  endMetadataStar(0)
  beginTopLevelMember(i)
    beginTopLevelMethod(;, null)
      handleIdentifier(i, typeReference)
      handleNoTypeArguments(n)
      handleType(i, null)
      handleIdentifier(n, topLevelFunctionDeclaration)
      handleNoTypeVariables(()
      beginFormalParameters((, MemberKind.TopLevelMethod)
      endFormalParameters(0, (, ), MemberKind.TopLevelMethod)
      handleAsyncModifier(null, null)
      beginBlockFunctionBody({)
        beginMetadataStar(p)
        endMetadataStar(0)
        handleIdentifier(p, typeReference)
        handleNoTypeArguments(r)
        handleType(p, null)
        beginVariablesDeclaration(r, null, null)
          handleIdentifier(r, localVariableDeclaration)
          beginInitializedIdentifier(r)
            handleNoVariableInitializer(r)
          endInitializedIdentifier(r)
          handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], r, r)
        endVariablesDeclaration(1, ;)
        beginMetadataStar(i)
        endMetadataStar(0)
        handleIdentifier(i, typeReference)
        handleNoTypeArguments(n)
        handleType(i, null)
        beginVariablesDeclaration(n, null, null)
          handleIdentifier(n, localVariableDeclaration)
          beginInitializedIdentifier(n)
            handleNoVariableInitializer(n)
          endInitializedIdentifier(n)
          handleRecoverableError(Message[ExpectedAfterButGot, Expected ';' after this., null, {string: ;}], n, n)
        endVariablesDeclaration(1, ;)
        handleIdentifier(t, expression)
        handleNoTypeArguments(()
        beginArguments(()
          beginLiteralString("")
          endLiteralString(0, H)
          handleRecoverableError(Message[ExpectedButGot, Expected ',' before this., null, {string: ,}], H, H)
          handleIdentifier(H, expression)
          handleNoTypeArguments(e)
          handleNoArguments(e)
          handleSend(H, e)
          handleRecoverableError(Message[ExpectedButGot, Expected ',' before this., null, {string: ,}], e, e)
          handleIdentifier(e, expression)
          handleNoTypeArguments(l)
          handleNoArguments(l)
          handleSend(e, l)
          handleRecoverableError(Message[ExpectedButGot, Expected ',' before this., null, {string: ,}], l, l)
          handleIdentifier(l, expression)
          handleNoTypeArguments(l)
          handleNoArguments(l)
          handleSend(l, l)
          handleRecoverableError(Message[ExpectedButGot, Expected ',' before this., null, {string: ,}], l, l)
          handleIdentifier(l, expression)
          handleNoTypeArguments(o)
          handleNoArguments(o)
          handleSend(l, o)
          handleRecoverableError(Message[ExpectedButGot, Expected ',' before this., null, {string: ,}], o, o)
          handleIdentifier(o, expression)
          handleNoTypeArguments(,)
          handleNoArguments(,)
          handleSend(o, ,)
          handleIdentifier(w, expression)
          handleNoTypeArguments(o)
          handleNoArguments(o)
          handleSend(w, o)
          handleRecoverableError(Message[ExpectedButGot, Expected ',' before this., null, {string: ,}], o, o)
          handleIdentifier(o, expression)
          handleNoTypeArguments(r)
          handleNoArguments(r)
          handleSend(o, r)
          handleRecoverableError(Message[ExpectedButGot, Expected ',' before this., null, {string: ,}], r, r)
          handleIdentifier(r, expression)
          handleNoTypeArguments(l)
          handleNoArguments(l)
          handleSend(r, l)
          handleRecoverableError(Message[ExpectedButGot, Expected ',' before this., null, {string: ,}], l, l)
          handleIdentifier(l, expression)
          handleNoTypeArguments(d)
          handleNoArguments(d)
          handleSend(l, d)
          handleRecoverableError(Message[ExpectedButGot, Expected ',' before this., null, {string: ,}], d, d)
          handleIdentifier(d, expression)
          handleNoTypeArguments(!)
          handleNoArguments(!)
          handleSend(d, !)
          handleNonNullAssertExpression(!)
          handleRecoverableError(Message[ExpectedButGot, Expected ',' before this., null, {string: ,}], "", "")
          beginLiteralString("")
          endLiteralString(0, ))
        endArguments(12, (, ))
        handleSend(t, ;)
        handleExpressionStatement(;)
      endBlockFunctionBody(3, {, })
    endTopLevelMethod(i, null, })
  endTopLevelDeclaration()
  handleErrorToken(EncodingErrorToken())
  handleRecoverableError(Encoding, EncodingErrorToken(), EncodingErrorToken())
  handleErrorToken(EncodingErrorToken())
  handleRecoverableError(Encoding, EncodingErrorToken(), EncodingErrorToken())
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(UnterminatedString("))
  handleRecoverableError(Message[UnterminatedString, String starting with " must end with "., null, {string: ", string2: "}], UnterminatedString("), UnterminatedString("))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(UnterminatedString("))
  handleRecoverableError(Message[UnterminatedString, String starting with " must end with "., null, {string: ", string2: "}], UnterminatedString("), UnterminatedString("))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
  handleErrorToken(AsciiControlCharacterToken(0))
  handleRecoverableError(Message[AsciiControlCharacter, The control character U+0000 can only be used in strings and comments., null, {codePoint: 0}], AsciiControlCharacterToken(0), AsciiControlCharacterToken(0))
endCompilationUnit(114, )
