@designliquido/delegua 0.36.0 → 0.36.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. package/analisador-semantico/analisador-semantico-base.d.ts +69 -69
  2. package/analisador-semantico/analisador-semantico-base.js +180 -180
  3. package/analisador-semantico/analisador-semantico.d.ts +59 -59
  4. package/analisador-semantico/analisador-semantico.js +442 -442
  5. package/analisador-semantico/analisador-semantico.js.map +1 -1
  6. package/analisador-semantico/index.d.ts +3 -3
  7. package/analisador-semantico/index.js +19 -19
  8. package/analisador-semantico/pilha-variaveis.d.ts +20 -20
  9. package/analisador-semantico/pilha-variaveis.js +25 -25
  10. package/avaliador-sintatico/avaliador-sintatico-base.d.ts +69 -69
  11. package/avaliador-sintatico/avaliador-sintatico-base.js +223 -223
  12. package/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  13. package/avaliador-sintatico/avaliador-sintatico.d.ts +126 -126
  14. package/avaliador-sintatico/avaliador-sintatico.js +1093 -1093
  15. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  16. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.d.ts +73 -73
  17. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js +648 -648
  18. package/avaliador-sintatico/dialetos/avaliador-sintatico-egua-classico.js.map +1 -1
  19. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.d.ts +21 -21
  20. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js +149 -149
  21. package/avaliador-sintatico/dialetos/avaliador-sintatico-guarani.js.map +1 -1
  22. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +87 -87
  23. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +770 -770
  24. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  25. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.d.ts +34 -34
  26. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js +168 -168
  27. package/avaliador-sintatico/dialetos/avaliador-sintatico-portugol-ipt.js.map +1 -1
  28. package/avaliador-sintatico/dialetos/index.d.ts +3 -3
  29. package/avaliador-sintatico/dialetos/index.js +19 -19
  30. package/avaliador-sintatico/erro-avaliador-sintatico.d.ts +5 -5
  31. package/avaliador-sintatico/erro-avaliador-sintatico.js +11 -11
  32. package/avaliador-sintatico/index.d.ts +6 -6
  33. package/avaliador-sintatico/index.js +22 -22
  34. package/avaliador-sintatico/micro-avaliador-sintatico-base.d.ts +27 -27
  35. package/avaliador-sintatico/micro-avaliador-sintatico-base.js +116 -116
  36. package/avaliador-sintatico/micro-avaliador-sintatico-base.js.map +1 -1
  37. package/avaliador-sintatico/micro-avaliador-sintatico.d.ts +33 -33
  38. package/avaliador-sintatico/micro-avaliador-sintatico.js +287 -287
  39. package/avaliador-sintatico/micro-avaliador-sintatico.js.map +1 -1
  40. package/avaliador-sintatico/retornos/index.d.ts +3 -3
  41. package/avaliador-sintatico/retornos/index.js +19 -19
  42. package/avaliador-sintatico/retornos/retorno-declaracao.d.ts +3 -3
  43. package/avaliador-sintatico/retornos/retorno-declaracao.js +2 -2
  44. package/avaliador-sintatico/retornos/retorno-primario.d.ts +3 -3
  45. package/avaliador-sintatico/retornos/retorno-primario.js +2 -2
  46. package/avaliador-sintatico/retornos/retorno-resolver-declaracao.d.ts +2 -2
  47. package/avaliador-sintatico/retornos/retorno-resolver-declaracao.js +2 -2
  48. package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.d.ts +59 -59
  49. package/avaliador-sintatico/traducao/avaliador-sintatico-javascript.js +150 -150
  50. package/bibliotecas/biblioteca-global.d.ts +157 -157
  51. package/bibliotecas/biblioteca-global.js +497 -498
  52. package/bibliotecas/biblioteca-global.js.map +1 -1
  53. package/bibliotecas/dialetos/egua-classico/biblioteca-global.d.ts +1 -1
  54. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js +236 -236
  55. package/bibliotecas/dialetos/egua-classico/biblioteca-global.js.map +1 -1
  56. package/bibliotecas/dialetos/egua-classico/index.d.ts +2 -2
  57. package/bibliotecas/dialetos/egua-classico/index.js +32 -32
  58. package/bibliotecas/dialetos/egua-classico/index.js.map +1 -1
  59. package/bibliotecas/dialetos/egua-classico/matematica.d.ts +1 -1
  60. package/bibliotecas/dialetos/egua-classico/matematica.js +541 -541
  61. package/bibliotecas/dialetos/egua-classico/matematica.js.map +1 -1
  62. package/bibliotecas/dialetos/egua-classico/tempo.d.ts +1 -1
  63. package/bibliotecas/dialetos/egua-classico/tempo.js +39 -39
  64. package/bibliotecas/dialetos/egua-classico/tempo.js.map +1 -1
  65. package/bibliotecas/dialetos/egua-classico/textos.d.ts +8 -8
  66. package/bibliotecas/dialetos/egua-classico/textos.js +201 -201
  67. package/bibliotecas/dialetos/egua-classico/textos.js.map +1 -1
  68. package/bibliotecas/primitivas-dicionario.d.ts +6 -6
  69. package/bibliotecas/primitivas-dicionario.d.ts.map +1 -1
  70. package/bibliotecas/primitivas-dicionario.js +10 -10
  71. package/bibliotecas/primitivas-numero.d.ts +6 -6
  72. package/bibliotecas/primitivas-numero.d.ts.map +1 -1
  73. package/bibliotecas/primitivas-numero.js +10 -10
  74. package/bibliotecas/primitivas-texto.d.ts +17 -17
  75. package/bibliotecas/primitivas-texto.d.ts.map +1 -1
  76. package/bibliotecas/primitivas-texto.js +22 -22
  77. package/bibliotecas/primitivas-texto.js.map +1 -1
  78. package/bibliotecas/primitivas-vetor.d.ts +21 -21
  79. package/bibliotecas/primitivas-vetor.d.ts.map +1 -1
  80. package/bibliotecas/primitivas-vetor.js +90 -90
  81. package/bibliotecas/primitivas-vetor.js.map +1 -1
  82. package/bin/package.json +5 -4
  83. package/construtos/acesso-elemento-matriz.d.ts +12 -12
  84. package/construtos/acesso-elemento-matriz.js +17 -17
  85. package/construtos/acesso-indice-variavel.d.ts +15 -15
  86. package/construtos/acesso-indice-variavel.js +20 -20
  87. package/construtos/acesso-metodo-ou-propriedade.d.ts +14 -14
  88. package/construtos/acesso-metodo-ou-propriedade.js +19 -19
  89. package/construtos/agrupamento.d.ts +14 -14
  90. package/construtos/agrupamento.js +19 -19
  91. package/construtos/atribuicao-por-indice.d.ts +11 -11
  92. package/construtos/atribuicao-por-indice.js +16 -16
  93. package/construtos/atribuicao-por-indices-matriz.d.ts +12 -12
  94. package/construtos/atribuicao-por-indices-matriz.js +17 -17
  95. package/construtos/atribuir.d.ts +15 -15
  96. package/construtos/atribuir.js +24 -24
  97. package/construtos/atribuir.js.map +1 -1
  98. package/construtos/binario.d.ts +33 -33
  99. package/construtos/binario.js +38 -38
  100. package/construtos/chamada.d.ts +15 -15
  101. package/construtos/chamada.js +21 -21
  102. package/construtos/comentario.d.ts +15 -15
  103. package/construtos/comentario.js +20 -20
  104. package/construtos/constante.d.ts +12 -12
  105. package/construtos/constante.js +17 -17
  106. package/construtos/construto.d.ts +7 -7
  107. package/construtos/construto.js +2 -2
  108. package/construtos/decorador.d.ts +14 -14
  109. package/construtos/decorador.js +19 -19
  110. package/construtos/definir-valor.d.ts +11 -11
  111. package/construtos/definir-valor.js +16 -16
  112. package/construtos/dicionario.d.ts +10 -10
  113. package/construtos/dicionario.js +15 -15
  114. package/construtos/expressao-regular.d.ts +10 -10
  115. package/construtos/expressao-regular.js +15 -15
  116. package/construtos/fim-para.d.ts +22 -22
  117. package/construtos/fim-para.js +25 -25
  118. package/construtos/formatacao-escrita.d.ts +16 -16
  119. package/construtos/formatacao-escrita.js +21 -21
  120. package/construtos/funcao.d.ts +12 -12
  121. package/construtos/funcao.js +16 -16
  122. package/construtos/index.d.ts +29 -29
  123. package/construtos/index.js +45 -45
  124. package/construtos/isto.d.ts +9 -9
  125. package/construtos/isto.js +14 -14
  126. package/construtos/literal.d.ts +10 -10
  127. package/construtos/literal.js +14 -14
  128. package/construtos/logico.d.ts +11 -11
  129. package/construtos/logico.js +16 -16
  130. package/construtos/qual-tipo.d.ts +11 -11
  131. package/construtos/qual-tipo.js +16 -16
  132. package/construtos/super.d.ts +10 -10
  133. package/construtos/super.js +15 -15
  134. package/construtos/tipo-de.d.ts +10 -10
  135. package/construtos/tipo-de.js +15 -15
  136. package/construtos/tuplas/deceto.d.ts +18 -18
  137. package/construtos/tuplas/deceto.js +32 -32
  138. package/construtos/tuplas/dupla.d.ts +6 -6
  139. package/construtos/tuplas/dupla.js +12 -12
  140. package/construtos/tuplas/index.d.ts +13 -13
  141. package/construtos/tuplas/index.js +67 -67
  142. package/construtos/tuplas/index.js.map +1 -1
  143. package/construtos/tuplas/noneto.d.ts +15 -15
  144. package/construtos/tuplas/noneto.js +25 -25
  145. package/construtos/tuplas/octeto.d.ts +14 -14
  146. package/construtos/tuplas/octeto.js +24 -24
  147. package/construtos/tuplas/quarteto.d.ts +8 -8
  148. package/construtos/tuplas/quarteto.js +14 -14
  149. package/construtos/tuplas/quinteto.d.ts +9 -9
  150. package/construtos/tuplas/quinteto.js +15 -15
  151. package/construtos/tuplas/septeto.d.ts +13 -13
  152. package/construtos/tuplas/septeto.js +23 -23
  153. package/construtos/tuplas/sexteto.d.ts +10 -10
  154. package/construtos/tuplas/sexteto.js +16 -16
  155. package/construtos/tuplas/trio.d.ts +7 -7
  156. package/construtos/tuplas/trio.js +13 -13
  157. package/construtos/tuplas/tupla.d.ts +8 -8
  158. package/construtos/tuplas/tupla.js +9 -9
  159. package/construtos/unario.d.ts +11 -11
  160. package/construtos/unario.js +16 -16
  161. package/construtos/variavel.d.ts +9 -9
  162. package/construtos/variavel.js +14 -14
  163. package/construtos/vetor.d.ts +11 -10
  164. package/construtos/vetor.d.ts.map +1 -1
  165. package/construtos/vetor.js +21 -20
  166. package/construtos/vetor.js.map +1 -1
  167. package/declaracoes/aleatorio.d.ts +15 -15
  168. package/declaracoes/aleatorio.js +15 -15
  169. package/declaracoes/bloco.d.ts +7 -7
  170. package/declaracoes/bloco.js +14 -14
  171. package/declaracoes/cabecalho-programa.d.ts +7 -7
  172. package/declaracoes/cabecalho-programa.js +14 -14
  173. package/declaracoes/classe.d.ts +14 -14
  174. package/declaracoes/classe.js +18 -18
  175. package/declaracoes/const-multiplo.d.ts +14 -14
  176. package/declaracoes/const-multiplo.js +19 -19
  177. package/declaracoes/const.d.ts +14 -14
  178. package/declaracoes/const.js +19 -19
  179. package/declaracoes/continua.d.ts +6 -6
  180. package/declaracoes/continua.js +13 -13
  181. package/declaracoes/declaracao.d.ts +8 -8
  182. package/declaracoes/declaracao.js +17 -17
  183. package/declaracoes/enquanto.d.ts +10 -10
  184. package/declaracoes/enquanto.js +15 -15
  185. package/declaracoes/escolha.d.ts +14 -14
  186. package/declaracoes/escolha.js +19 -19
  187. package/declaracoes/escreva-mesma-linha.d.ts +8 -8
  188. package/declaracoes/escreva-mesma-linha.js +14 -14
  189. package/declaracoes/escreva.d.ts +8 -8
  190. package/declaracoes/escreva.js +14 -14
  191. package/declaracoes/expressao.d.ts +8 -8
  192. package/declaracoes/expressao.js +14 -14
  193. package/declaracoes/falhar.d.ts +8 -8
  194. package/declaracoes/falhar.js +15 -15
  195. package/declaracoes/fazer.d.ts +10 -10
  196. package/declaracoes/fazer.js +15 -15
  197. package/declaracoes/funcao.d.ts +11 -11
  198. package/declaracoes/funcao.js +17 -17
  199. package/declaracoes/importar.d.ts +9 -9
  200. package/declaracoes/importar.js +15 -15
  201. package/declaracoes/index.d.ts +31 -31
  202. package/declaracoes/index.js +47 -47
  203. package/declaracoes/inicio-algoritmo.d.ts +6 -6
  204. package/declaracoes/inicio-algoritmo.js +13 -13
  205. package/declaracoes/leia-multiplo.d.ts +14 -14
  206. package/declaracoes/leia-multiplo.js +21 -21
  207. package/declaracoes/leia.d.ts +17 -17
  208. package/declaracoes/leia.js +21 -21
  209. package/declaracoes/para-cada.d.ts +11 -11
  210. package/declaracoes/para-cada.js +17 -17
  211. package/declaracoes/para.d.ts +19 -19
  212. package/declaracoes/para.js +24 -24
  213. package/declaracoes/propriedade-classe.d.ts +10 -10
  214. package/declaracoes/propriedade-classe.js +16 -16
  215. package/declaracoes/retorna.d.ts +8 -8
  216. package/declaracoes/retorna.js +15 -15
  217. package/declaracoes/se.d.ts +11 -11
  218. package/declaracoes/se.js +17 -17
  219. package/declaracoes/sustar.d.ts +6 -6
  220. package/declaracoes/sustar.js +13 -13
  221. package/declaracoes/tendo-como.d.ts +16 -16
  222. package/declaracoes/tendo-como.js +21 -21
  223. package/declaracoes/tente.d.ts +14 -14
  224. package/declaracoes/tente.js +20 -20
  225. package/declaracoes/var-multiplo.d.ts +15 -15
  226. package/declaracoes/var-multiplo.js +20 -20
  227. package/declaracoes/var.d.ts +16 -16
  228. package/declaracoes/var.js +21 -21
  229. package/depuracao/cyrb53.d.ts +9 -9
  230. package/depuracao/cyrb53.js +22 -22
  231. package/depuracao/cyrb53.js.map +1 -1
  232. package/depuracao/index.d.ts +2 -2
  233. package/depuracao/index.js +23 -23
  234. package/depuracao/ponto-parada.d.ts +4 -4
  235. package/depuracao/ponto-parada.js +2 -2
  236. package/espaco-variaveis.d.ts +19 -19
  237. package/espaco-variaveis.js +19 -19
  238. package/estruturas/chamavel.d.ts +7 -7
  239. package/estruturas/chamavel.js +12 -12
  240. package/estruturas/classe-padrao.d.ts +31 -31
  241. package/estruturas/classe-padrao.js +39 -39
  242. package/estruturas/delegua-funcao.d.ts +29 -29
  243. package/estruturas/delegua-funcao.js +141 -141
  244. package/estruturas/delegua-funcao.js.map +1 -1
  245. package/estruturas/descritor-tipo-classe.d.ts +37 -37
  246. package/estruturas/descritor-tipo-classe.js +79 -79
  247. package/estruturas/descritor-tipo-classe.js.map +1 -1
  248. package/estruturas/funcao-padrao.d.ts +23 -23
  249. package/estruturas/funcao-padrao.js +34 -34
  250. package/estruturas/index.d.ts +9 -9
  251. package/estruturas/index.js +25 -25
  252. package/estruturas/metodo-primitiva.d.ts +28 -28
  253. package/estruturas/metodo-primitiva.js +40 -40
  254. package/estruturas/modulo.d.ts +18 -18
  255. package/estruturas/modulo.js +24 -24
  256. package/estruturas/objeto-delegua-classe.d.ts +26 -26
  257. package/estruturas/objeto-delegua-classe.js +53 -53
  258. package/estruturas/objeto-delegua-classe.js.map +1 -1
  259. package/estruturas/objeto-padrao.d.ts +18 -18
  260. package/estruturas/objeto-padrao.js +32 -32
  261. package/estruturas/objeto-padrao.js.map +1 -1
  262. package/excecoes/erro-em-tempo-de-execucao.d.ts +7 -7
  263. package/excecoes/erro-em-tempo-de-execucao.js +13 -13
  264. package/excecoes/index.d.ts +1 -1
  265. package/excecoes/index.js +17 -17
  266. package/formatadores/formatador-delegua.d.ts +79 -79
  267. package/formatadores/formatador-delegua.js +676 -676
  268. package/formatadores/formatador-delegua.js.map +1 -1
  269. package/formatadores/index.d.ts +1 -1
  270. package/formatadores/index.js +17 -17
  271. package/geracao-identificadores/index.d.ts +1 -1
  272. package/geracao-identificadores/index.js +22 -23
  273. package/geracao-identificadores/index.js.map +1 -1
  274. package/index.d.ts +9 -9
  275. package/index.js +27 -27
  276. package/interfaces/analisador-semantico-interface.d.ts +6 -6
  277. package/interfaces/analisador-semantico-interface.js +2 -2
  278. package/interfaces/avaliador-sintatico-interface.d.ts +55 -55
  279. package/interfaces/avaliador-sintatico-interface.js +2 -2
  280. package/interfaces/construtos/index.d.ts +4 -4
  281. package/interfaces/construtos/index.js +2 -2
  282. package/interfaces/erros/diagnostico-analisador-semantico.d.ts +14 -14
  283. package/interfaces/erros/diagnostico-analisador-semantico.js +10 -10
  284. package/interfaces/erros/diagnostico-analisador-semantico.js.map +1 -1
  285. package/interfaces/erros/erro-interpretador.d.ts +8 -8
  286. package/interfaces/erros/erro-interpretador.js +2 -2
  287. package/interfaces/erros/index.d.ts +1 -1
  288. package/interfaces/erros/index.js +17 -17
  289. package/interfaces/escopo-execucao.d.ts +12 -12
  290. package/interfaces/escopo-execucao.js +2 -2
  291. package/interfaces/formatador-comum-interface.d.ts +11 -11
  292. package/interfaces/formatador-comum-interface.js +2 -2
  293. package/interfaces/funcao-hipotetica-interface.d.ts +3 -3
  294. package/interfaces/funcao-hipotetica-interface.js +2 -2
  295. package/interfaces/index.d.ts +16 -16
  296. package/interfaces/index.js +32 -32
  297. package/interfaces/interpretador-com-depuracao-interface.d.ts +17 -17
  298. package/interfaces/interpretador-com-depuracao-interface.js +2 -2
  299. package/interfaces/interpretador-interface-potigol.d.ts +5 -5
  300. package/interfaces/interpretador-interface-potigol.js +2 -2
  301. package/interfaces/interpretador-interface.d.ts +20 -20
  302. package/interfaces/interpretador-interface.js +2 -2
  303. package/interfaces/lexador-interface.d.ts +23 -23
  304. package/interfaces/lexador-interface.js +2 -2
  305. package/interfaces/parametro-interface.d.ts +15 -15
  306. package/interfaces/parametro-interface.js +2 -2
  307. package/interfaces/pilha-escopos-execucao-interface.d.ts +26 -26
  308. package/interfaces/pilha-escopos-execucao-interface.js +2 -2
  309. package/interfaces/pilha-interface.d.ts +7 -7
  310. package/interfaces/pilha-interface.js +2 -2
  311. package/interfaces/resolvedor-interface.d.ts +41 -41
  312. package/interfaces/resolvedor-interface.js +2 -2
  313. package/interfaces/retornos/index.d.ts +4 -4
  314. package/interfaces/retornos/index.js +20 -20
  315. package/interfaces/retornos/retorno-analisador-semantico.d.ts +4 -4
  316. package/interfaces/retornos/retorno-analisador-semantico.js +2 -2
  317. package/interfaces/retornos/retorno-avaliador-sintatico.d.ts +5 -5
  318. package/interfaces/retornos/retorno-avaliador-sintatico.js +2 -2
  319. package/interfaces/retornos/retorno-execucao-interface.d.ts +5 -5
  320. package/interfaces/retornos/retorno-execucao-interface.js +2 -2
  321. package/interfaces/retornos/retorno-interpretador.d.ts +5 -5
  322. package/interfaces/retornos/retorno-interpretador.js +2 -2
  323. package/interfaces/retornos/retorno-lexador.d.ts +9 -9
  324. package/interfaces/retornos/retorno-lexador.js +2 -2
  325. package/interfaces/simbolo-interface.d.ts +7 -7
  326. package/interfaces/simbolo-interface.js +2 -2
  327. package/interfaces/tradutor-interface.d.ts +3 -3
  328. package/interfaces/tradutor-interface.js +2 -2
  329. package/interfaces/variavel-hipotetica-interface.d.ts +8 -8
  330. package/interfaces/variavel-hipotetica-interface.js +2 -2
  331. package/interfaces/variavel-interface.d.ts +8 -8
  332. package/interfaces/variavel-interface.js +2 -2
  333. package/interfaces/visitante-comum-interface.d.ts +58 -58
  334. package/interfaces/visitante-comum-interface.js +2 -2
  335. package/interpretador/argumento-interface.d.ts +4 -4
  336. package/interpretador/argumento-interface.js +2 -2
  337. package/interpretador/comum.d.ts +2 -2
  338. package/interpretador/comum.js +51 -52
  339. package/interpretador/comum.js.map +1 -1
  340. package/interpretador/dialetos/egua-classico/index.d.ts +1 -1
  341. package/interpretador/dialetos/egua-classico/index.js +17 -17
  342. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.d.ts +119 -119
  343. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js +815 -815
  344. package/interpretador/dialetos/egua-classico/interpretador-egua-classico.js.map +1 -1
  345. package/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.d.ts +5 -5
  346. package/interpretador/dialetos/egua-classico/resolvedor/erro-resolvedor.js +11 -11
  347. package/interpretador/dialetos/egua-classico/resolvedor/index.d.ts +3 -3
  348. package/interpretador/dialetos/egua-classico/resolvedor/index.js +19 -19
  349. package/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.d.ts +9 -9
  350. package/interpretador/dialetos/egua-classico/resolvedor/pilha-escopos.js +25 -25
  351. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.d.ts +106 -106
  352. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js +441 -441
  353. package/interpretador/dialetos/egua-classico/resolvedor/resolvedor.js.map +1 -1
  354. package/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.d.ts +6 -6
  355. package/interpretador/dialetos/egua-classico/resolvedor/retorno-resolvedor.js +2 -2
  356. package/interpretador/dialetos/index.d.ts +2 -2
  357. package/interpretador/dialetos/index.js +18 -18
  358. package/interpretador/dialetos/portugol-ipt/index.d.ts +1 -1
  359. package/interpretador/dialetos/portugol-ipt/index.js +17 -17
  360. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.d.ts +133 -133
  361. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js +501 -501
  362. package/interpretador/dialetos/portugol-ipt/interpretador-portugol-ipt.js.map +1 -1
  363. package/interpretador/index.d.ts +3 -3
  364. package/interpretador/index.js +19 -19
  365. package/interpretador/inferenciador.d.ts +15 -15
  366. package/interpretador/inferenciador.d.ts.map +1 -1
  367. package/interpretador/inferenciador.js +80 -80
  368. package/interpretador/inferenciador.js.map +1 -1
  369. package/interpretador/interpretador-base.d.ts +268 -268
  370. package/interpretador/interpretador-base.js +1399 -1399
  371. package/interpretador/interpretador-base.js.map +1 -1
  372. package/interpretador/interpretador-com-depuracao.d.ts +190 -190
  373. package/interpretador/interpretador-com-depuracao.js +568 -568
  374. package/interpretador/interpretador-com-depuracao.js.map +1 -1
  375. package/interpretador/pilha-escopos-execucao.d.ts +39 -39
  376. package/interpretador/pilha-escopos-execucao.js +243 -243
  377. package/interpretador/pilha-escopos-execucao.js.map +1 -1
  378. package/lexador/dialetos/index.d.ts +4 -4
  379. package/lexador/dialetos/index.js +20 -20
  380. package/lexador/dialetos/lexador-egua-classico.d.ts +36 -36
  381. package/lexador/dialetos/lexador-egua-classico.js +286 -286
  382. package/lexador/dialetos/lexador-egua-classico.js.map +1 -1
  383. package/lexador/dialetos/lexador-guarani.d.ts +10 -10
  384. package/lexador/dialetos/lexador-guarani.js +113 -113
  385. package/lexador/dialetos/lexador-guarani.js.map +1 -1
  386. package/lexador/dialetos/lexador-pitugues.d.ts +51 -51
  387. package/lexador/dialetos/lexador-pitugues.js +398 -398
  388. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  389. package/lexador/dialetos/lexador-portugol-ipt.d.ts +33 -33
  390. package/lexador/dialetos/lexador-portugol-ipt.js +237 -237
  391. package/lexador/dialetos/lexador-portugol-ipt.js.map +1 -1
  392. package/lexador/dialetos/palavras-reservadas/egua-classico.d.ts +32 -32
  393. package/lexador/dialetos/palavras-reservadas/egua-classico.js +39 -39
  394. package/lexador/dialetos/palavras-reservadas/guarani.d.ts +3 -3
  395. package/lexador/dialetos/palavras-reservadas/guarani.js +10 -10
  396. package/lexador/dialetos/palavras-reservadas/portugol-ipt.d.ts +13 -13
  397. package/lexador/dialetos/palavras-reservadas/portugol-ipt.js +20 -20
  398. package/lexador/dialetos/palavras-reservadas/rantiaquin.d.ts +1 -1
  399. package/lexador/dialetos/palavras-reservadas/rantiaquin.js +4 -4
  400. package/lexador/dialetos/pragma.d.ts +8 -8
  401. package/lexador/dialetos/pragma.js +2 -2
  402. package/lexador/erro-lexador.d.ts +5 -5
  403. package/lexador/erro-lexador.js +2 -2
  404. package/lexador/index.d.ts +4 -4
  405. package/lexador/index.js +20 -20
  406. package/lexador/lexador-base-linha-unica.d.ts +28 -28
  407. package/lexador/lexador-base-linha-unica.js +82 -82
  408. package/lexador/lexador-base-linha-unica.js.map +1 -1
  409. package/lexador/lexador-base.d.ts +41 -41
  410. package/lexador/lexador-base.js +112 -112
  411. package/lexador/lexador-base.js.map +1 -1
  412. package/lexador/lexador.d.ts +43 -43
  413. package/lexador/lexador.js +440 -440
  414. package/lexador/lexador.js.map +1 -1
  415. package/lexador/micro-lexador.d.ts +29 -29
  416. package/lexador/micro-lexador.js +207 -207
  417. package/lexador/micro-lexador.js.map +1 -1
  418. package/lexador/palavras-reservadas.d.ts +54 -54
  419. package/lexador/palavras-reservadas.js +61 -61
  420. package/lexador/simbolo.d.ts +10 -10
  421. package/lexador/simbolo.js +16 -16
  422. package/lexador/traducao/lexador-javascript.d.ts +28 -28
  423. package/lexador/traducao/lexador-javascript.js +58 -58
  424. package/package.json +5 -4
  425. package/quebras/index.d.ts +10 -10
  426. package/quebras/index.js +19 -19
  427. package/tipo-dados-elementar.d.ts +1 -1
  428. package/tipo-dados-elementar.js +2 -2
  429. package/tipos-de-dados/delegua.d.ts +18 -18
  430. package/tipos-de-dados/delegua.js +19 -19
  431. package/tipos-de-dados/listas-delegua.d.ts +6 -6
  432. package/tipos-de-dados/listas-delegua.js +7 -7
  433. package/tipos-de-dados/listas-primitivos.d.ts +5 -5
  434. package/tipos-de-dados/listas-primitivos.js +6 -6
  435. package/tipos-de-dados/primitivos.d.ts +16 -16
  436. package/tipos-de-dados/primitivos.js +17 -17
  437. package/tipos-de-simbolos/comum.d.ts +23 -23
  438. package/tipos-de-simbolos/comum.js +24 -24
  439. package/tipos-de-simbolos/delegua.d.ts +91 -91
  440. package/tipos-de-simbolos/delegua.js +92 -92
  441. package/tipos-de-simbolos/egua-classico.d.ts +75 -75
  442. package/tipos-de-simbolos/egua-classico.js +76 -76
  443. package/tipos-de-simbolos/guarani.d.ts +14 -14
  444. package/tipos-de-simbolos/guarani.js +15 -15
  445. package/tipos-de-simbolos/guarani.js.map +1 -1
  446. package/tipos-de-simbolos/microgramaticas/delegua.d.ts +46 -46
  447. package/tipos-de-simbolos/microgramaticas/delegua.js +47 -47
  448. package/tipos-de-simbolos/pitugues.d.ts +75 -75
  449. package/tipos-de-simbolos/pitugues.js +76 -76
  450. package/tipos-de-simbolos/portugol-ipt.d.ts +36 -36
  451. package/tipos-de-simbolos/portugol-ipt.js +37 -37
  452. package/tipos-de-simbolos/rantiaquin.d.ts +2 -2
  453. package/tipos-de-simbolos/rantiaquin.js +3 -3
  454. package/tradutores/dicionarios/dicionario-delegua-javascript.d.ts +2 -2
  455. package/tradutores/dicionarios/dicionario-delegua-javascript.js +10 -10
  456. package/tradutores/dicionarios/index.d.ts +1 -1
  457. package/tradutores/dicionarios/index.js +17 -17
  458. package/tradutores/index.d.ts +6 -6
  459. package/tradutores/index.js +22 -22
  460. package/tradutores/python/python3-lexer.d.ts +152 -152
  461. package/tradutores/python/python3-lexer.js +1227 -1227
  462. package/tradutores/python/python3-lexer.js.map +1 -1
  463. package/tradutores/python/python3-listener.d.ts +964 -964
  464. package/tradutores/python/python3-listener.js +3 -3
  465. package/tradutores/python/python3-parser.d.ts +1342 -1342
  466. package/tradutores/python/python3-parser.js +11226 -11226
  467. package/tradutores/python/python3-parser.js.map +1 -1
  468. package/tradutores/python/python3-visitor.d.ts +619 -619
  469. package/tradutores/python/python3-visitor.js +3 -3
  470. package/tradutores/tradutor-assembly-x64.d.ts +19 -19
  471. package/tradutores/tradutor-assembly-x64.js +128 -128
  472. package/tradutores/tradutor-assembly-x64.js.map +1 -1
  473. package/tradutores/tradutor-assemblyscript.d.ts +91 -91
  474. package/tradutores/tradutor-assemblyscript.js +590 -590
  475. package/tradutores/tradutor-assemblyscript.js.map +1 -1
  476. package/tradutores/tradutor-javascript.d.ts +95 -95
  477. package/tradutores/tradutor-javascript.js +577 -577
  478. package/tradutores/tradutor-javascript.js.map +1 -1
  479. package/tradutores/tradutor-portugol-ipt.d.ts +21 -21
  480. package/tradutores/tradutor-portugol-ipt.js +60 -60
  481. package/tradutores/tradutor-portugol-ipt.js.map +1 -1
  482. package/tradutores/tradutor-python.d.ts +65 -65
  483. package/tradutores/tradutor-python.js +461 -461
  484. package/tradutores/tradutor-python.js.map +1 -1
  485. package/tradutores/tradutor-reverso-javascript.d.ts +50 -50
  486. package/tradutores/tradutor-reverso-javascript.js +392 -392
  487. package/tradutores/tradutor-reverso-javascript.js.map +1 -1
  488. package/tradutores/tradutor-reverso-python.d.ts +32 -32
  489. package/tradutores/tradutor-reverso-python.js +71 -71
  490. package/tradutores/tradutor-reverso-python.js.map +1 -1
  491. package/umd/delegua.js +26337 -26339
@@ -1,1228 +1,1228 @@
1
- "use strict";
2
- // Generated from fontes\tradutores\python\Python3.g4 by ANTLR 4.9.0-SNAPSHOT
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
20
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
21
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
22
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
23
- return c > 3 && r && Object.defineProperty(target, key, r), r;
24
- };
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
31
- };
32
- Object.defineProperty(exports, "__esModule", { value: true });
33
- exports.Python3Lexer = void 0;
34
- const Token_1 = require("antlr4ts/Token");
35
- const CommonToken_1 = require("antlr4ts/CommonToken");
36
- const python3_parser_1 = require("./python3-parser");
37
- const ATNDeserializer_1 = require("antlr4ts/atn/ATNDeserializer");
38
- const Lexer_1 = require("antlr4ts/Lexer");
39
- const LexerATNSimulator_1 = require("antlr4ts/atn/LexerATNSimulator");
40
- const Decorators_1 = require("antlr4ts/Decorators");
41
- const VocabularyImpl_1 = require("antlr4ts/VocabularyImpl");
42
- const Utils = __importStar(require("antlr4ts/misc/Utils"));
43
- class Python3Lexer extends Lexer_1.Lexer {
44
- // @Override
45
- // @NotNull
46
- get vocabulary() {
47
- return Python3Lexer.VOCABULARY;
48
- }
49
- reset() {
50
- // A queue where extra tokens are pushed on (see the NEWLINE lexer rule).
51
- this.token_queue = [];
52
- // The stack that keeps track of the indentation level.
53
- this.indents = [];
54
- // The amount of opened braces, brackets and parenthesis.
55
- this.opened = 0;
56
- super.reset();
57
- }
58
- emit(token) {
59
- if (token) {
60
- token = super.emit(token);
61
- }
62
- else {
63
- token = super.emit();
64
- }
65
- this.token_queue.push(token);
66
- return token;
67
- }
68
- /**
69
- * Return the next token from the character stream and records this last
70
- * token in case it resides on the default channel. This recorded token
71
- * is used to determine when the lexer could possibly match a regex
72
- * literal.
73
- *
74
- */
75
- nextToken() {
76
- // Check if the end-of-file is ahead and there are still some DEDENTS expected.
77
- if (this.inputStream.LA(1) === python3_parser_1.Python3Parser.EOF && this.indents.length) {
78
- // Remove any trailing EOF tokens from our buffer.
79
- this.token_queue = this.token_queue.filter(function (val) {
80
- return val.type !== python3_parser_1.Python3Parser.EOF;
81
- });
82
- // First emit an extra line break that serves as the end of the statement.
83
- this.emit(this.commonToken(python3_parser_1.Python3Parser.NEWLINE, '\n'));
84
- // Now emit as much DEDENT tokens as needed.
85
- while (this.indents.length) {
86
- this.emit(this.createDedent());
87
- this.indents.pop();
88
- }
89
- // Put the EOF back on the token stream.
90
- this.emit(this.commonToken(python3_parser_1.Python3Parser.EOF, '<EOF>'));
91
- }
92
- let next = super.nextToken();
93
- if (next.channel == Token_1.Token.DEFAULT_CHANNEL) {
94
- // Keep track of the last token on the default channel.
95
- this.last_token = next;
96
- }
97
- return this.token_queue.shift() || next;
98
- }
99
- createDedent() {
100
- let dedent = this.commonToken(python3_parser_1.Python3Parser.DEDENT, '');
101
- if (this.last_token) {
102
- dedent.line = this.last_token.line;
103
- }
104
- return dedent;
105
- }
106
- commonToken(type, text) {
107
- let stop = this.charIndex - 1;
108
- let start = text.length ? stop - text.length + 1 : stop;
109
- return new CommonToken_1.CommonToken(type, text, this._tokenFactorySourcePair, Lexer_1.Lexer.DEFAULT_TOKEN_CHANNEL, start, stop);
110
- }
111
- // Calculates the indentation of the provided spaces, taking the
112
- // following rules into account:
113
- //
114
- // "Tabs are replaced (from left to right) by one to eight spaces
115
- // such that the total number of characters up to and including
116
- // the replacement is a multiple of eight [...]"
117
- //
118
- // -- https://docs.python.org/3.1/reference/lexical_analysis.html#indentation
119
- getIndentationCount(whitespace) {
120
- let count = 0;
121
- for (let i = 0; i < whitespace.length; i++) {
122
- if (whitespace[i] === '\t') {
123
- count += 8 - (count % 8);
124
- }
125
- else {
126
- count++;
127
- }
128
- }
129
- return count;
130
- }
131
- atStartOfInput() {
132
- return this.charIndex === 0;
133
- }
134
- constructor(input) {
135
- super(input);
136
- // tslint:enable:no-trailing-whitespace
137
- this.token_queue = [];
138
- this.indents = [];
139
- this.opened = 0;
140
- this.last_token = undefined;
141
- this._interp = new LexerATNSimulator_1.LexerATNSimulator(Python3Lexer._ATN, this);
142
- }
143
- // @Override
144
- get grammarFileName() {
145
- return 'Python3.g4';
146
- }
147
- // @Override
148
- get ruleNames() {
149
- return Python3Lexer.ruleNames;
150
- }
151
- // @Override
152
- get serializedATN() {
153
- return Python3Lexer._serializedATN;
154
- }
155
- // @Override
156
- get channelNames() {
157
- return Python3Lexer.channelNames;
158
- }
159
- // @Override
160
- get modeNames() {
161
- return Python3Lexer.modeNames;
162
- }
163
- // @Override
164
- action(_localctx, ruleIndex, actionIndex) {
165
- switch (ruleIndex) {
166
- case 38:
167
- this.NEWLINE_action(_localctx, actionIndex);
168
- break;
169
- case 51:
170
- this.OPEN_PAREN_action(_localctx, actionIndex);
171
- break;
172
- case 52:
173
- this.CLOSE_PAREN_action(_localctx, actionIndex);
174
- break;
175
- case 58:
176
- this.OPEN_BRACK_action(_localctx, actionIndex);
177
- break;
178
- case 59:
179
- this.CLOSE_BRACK_action(_localctx, actionIndex);
180
- break;
181
- case 71:
182
- this.OPEN_BRACE_action(_localctx, actionIndex);
183
- break;
184
- case 72:
185
- this.CLOSE_BRACE_action(_localctx, actionIndex);
186
- break;
187
- }
188
- }
189
- NEWLINE_action(_localctx, actionIndex) {
190
- switch (actionIndex) {
191
- case 0:
192
- let newLine = this.text.replace(/[^\r\n]+/g, '');
193
- let spaces = this.text.replace(/[\r\n]+/g, '');
194
- // Strip newlines inside open clauses except if we are near EOF. We keep NEWLINEs near EOF to
195
- // satisfy the final newline needed by the single_put rule used by the REPL.
196
- let next = this.inputStream.LA(1);
197
- let nextnext = this.inputStream.LA(2);
198
- if (this.opened > 0 ||
199
- (nextnext != -1 /* EOF */ &&
200
- (next === 13 /* '\r' */ || next === 10 /* '\n' */ || next === 35)) /* '#' */) {
201
- // If we're inside a list or on a blank line, ignore all indents,
202
- // dedents and line breaks.
203
- this.skip();
204
- }
205
- else {
206
- this.emit(this.commonToken(python3_parser_1.Python3Parser.NEWLINE, newLine));
207
- let indent = this.getIndentationCount(spaces);
208
- let previous = this.indents.length ? this.indents[this.indents.length - 1] : 0;
209
- if (indent === previous) {
210
- // skip indents of the same size as the present indent-size
211
- this.skip();
212
- }
213
- else if (indent > previous) {
214
- this.indents.push(indent);
215
- this.emit(this.commonToken(python3_parser_1.Python3Parser.INDENT, spaces));
216
- }
217
- else {
218
- // Possibly emit more than 1 DEDENT token.
219
- while (this.indents.length && this.indents[this.indents.length - 1] > indent) {
220
- this.emit(this.createDedent());
221
- this.indents.pop();
222
- }
223
- }
224
- }
225
- break;
226
- }
227
- }
228
- OPEN_PAREN_action(_localctx, actionIndex) {
229
- switch (actionIndex) {
230
- case 1:
231
- this.opened++;
232
- break;
233
- }
234
- }
235
- CLOSE_PAREN_action(_localctx, actionIndex) {
236
- switch (actionIndex) {
237
- case 2:
238
- this.opened--;
239
- break;
240
- }
241
- }
242
- OPEN_BRACK_action(_localctx, actionIndex) {
243
- switch (actionIndex) {
244
- case 3:
245
- this.opened++;
246
- break;
247
- }
248
- }
249
- CLOSE_BRACK_action(_localctx, actionIndex) {
250
- switch (actionIndex) {
251
- case 4:
252
- this.opened--;
253
- break;
254
- }
255
- }
256
- OPEN_BRACE_action(_localctx, actionIndex) {
257
- switch (actionIndex) {
258
- case 5:
259
- this.opened++;
260
- break;
261
- }
262
- }
263
- CLOSE_BRACE_action(_localctx, actionIndex) {
264
- switch (actionIndex) {
265
- case 6:
266
- this.opened--;
267
- break;
268
- }
269
- }
270
- // @Override
271
- sempred(_localctx, ruleIndex, predIndex) {
272
- switch (ruleIndex) {
273
- case 38:
274
- return this.NEWLINE_sempred(_localctx, predIndex);
275
- }
276
- return true;
277
- }
278
- NEWLINE_sempred(_localctx, predIndex) {
279
- switch (predIndex) {
280
- case 0:
281
- return this.atStartOfInput();
282
- }
283
- return true;
284
- }
285
- static get _ATN() {
286
- if (!Python3Lexer.__ATN) {
287
- Python3Lexer.__ATN = new ATNDeserializer_1.ATNDeserializer().deserialize(Utils.toCharArray(Python3Lexer._serializedATN));
288
- }
289
- return Python3Lexer.__ATN;
290
- }
291
- }
292
- Python3Lexer.STRING = 1;
293
- Python3Lexer.NUMBER = 2;
294
- Python3Lexer.INTEGER = 3;
295
- Python3Lexer.DEF = 4;
296
- Python3Lexer.RETURN = 5;
297
- Python3Lexer.RAISE = 6;
298
- Python3Lexer.FROM = 7;
299
- Python3Lexer.IMPORT = 8;
300
- Python3Lexer.AS = 9;
301
- Python3Lexer.GLOBAL = 10;
302
- Python3Lexer.NONLOCAL = 11;
303
- Python3Lexer.ASSERT = 12;
304
- Python3Lexer.IF = 13;
305
- Python3Lexer.ELIF = 14;
306
- Python3Lexer.ELSE = 15;
307
- Python3Lexer.WHILE = 16;
308
- Python3Lexer.FOR = 17;
309
- Python3Lexer.IN = 18;
310
- Python3Lexer.TRY = 19;
311
- Python3Lexer.FINALLY = 20;
312
- Python3Lexer.WITH = 21;
313
- Python3Lexer.EXCEPT = 22;
314
- Python3Lexer.LAMBDA = 23;
315
- Python3Lexer.OR = 24;
316
- Python3Lexer.AND = 25;
317
- Python3Lexer.NOT = 26;
318
- Python3Lexer.IS = 27;
319
- Python3Lexer.NONE = 28;
320
- Python3Lexer.TRUE = 29;
321
- Python3Lexer.FALSE = 30;
322
- Python3Lexer.CLASS = 31;
323
- Python3Lexer.YIELD = 32;
324
- Python3Lexer.DEL = 33;
325
- Python3Lexer.PASS = 34;
326
- Python3Lexer.CONTINUE = 35;
327
- Python3Lexer.BREAK = 36;
328
- Python3Lexer.ASYNC = 37;
329
- Python3Lexer.AWAIT = 38;
330
- Python3Lexer.NEWLINE = 39;
331
- Python3Lexer.NAME = 40;
332
- Python3Lexer.STRING_LITERAL = 41;
333
- Python3Lexer.BYTES_LITERAL = 42;
334
- Python3Lexer.DECIMAL_INTEGER = 43;
335
- Python3Lexer.OCT_INTEGER = 44;
336
- Python3Lexer.HEX_INTEGER = 45;
337
- Python3Lexer.BIN_INTEGER = 46;
338
- Python3Lexer.FLOAT_NUMBER = 47;
339
- Python3Lexer.IMAG_NUMBER = 48;
340
- Python3Lexer.DOT = 49;
341
- Python3Lexer.ELLIPSIS = 50;
342
- Python3Lexer.STAR = 51;
343
- Python3Lexer.OPEN_PAREN = 52;
344
- Python3Lexer.CLOSE_PAREN = 53;
345
- Python3Lexer.COMMA = 54;
346
- Python3Lexer.COLON = 55;
347
- Python3Lexer.SEMI_COLON = 56;
348
- Python3Lexer.POWER = 57;
349
- Python3Lexer.ASSIGN = 58;
350
- Python3Lexer.OPEN_BRACK = 59;
351
- Python3Lexer.CLOSE_BRACK = 60;
352
- Python3Lexer.OR_OP = 61;
353
- Python3Lexer.XOR = 62;
354
- Python3Lexer.AND_OP = 63;
355
- Python3Lexer.LEFT_SHIFT = 64;
356
- Python3Lexer.RIGHT_SHIFT = 65;
357
- Python3Lexer.ADD = 66;
358
- Python3Lexer.MINUS = 67;
359
- Python3Lexer.DIV = 68;
360
- Python3Lexer.MOD = 69;
361
- Python3Lexer.IDIV = 70;
362
- Python3Lexer.NOT_OP = 71;
363
- Python3Lexer.OPEN_BRACE = 72;
364
- Python3Lexer.CLOSE_BRACE = 73;
365
- Python3Lexer.LESS_THAN = 74;
366
- Python3Lexer.GREATER_THAN = 75;
367
- Python3Lexer.EQUALS = 76;
368
- Python3Lexer.GT_EQ = 77;
369
- Python3Lexer.LT_EQ = 78;
370
- Python3Lexer.NOT_EQ_1 = 79;
371
- Python3Lexer.NOT_EQ_2 = 80;
372
- Python3Lexer.AT = 81;
373
- Python3Lexer.ARROW = 82;
374
- Python3Lexer.ADD_ASSIGN = 83;
375
- Python3Lexer.SUB_ASSIGN = 84;
376
- Python3Lexer.MULT_ASSIGN = 85;
377
- Python3Lexer.AT_ASSIGN = 86;
378
- Python3Lexer.DIV_ASSIGN = 87;
379
- Python3Lexer.MOD_ASSIGN = 88;
380
- Python3Lexer.AND_ASSIGN = 89;
381
- Python3Lexer.OR_ASSIGN = 90;
382
- Python3Lexer.XOR_ASSIGN = 91;
383
- Python3Lexer.LEFT_SHIFT_ASSIGN = 92;
384
- Python3Lexer.RIGHT_SHIFT_ASSIGN = 93;
385
- Python3Lexer.POWER_ASSIGN = 94;
386
- Python3Lexer.IDIV_ASSIGN = 95;
387
- Python3Lexer.SKIP_ = 96;
388
- Python3Lexer.UNKNOWN_CHAR = 97;
389
- // tslint:disable:no-trailing-whitespace
390
- Python3Lexer.channelNames = ['DEFAULT_TOKEN_CHANNEL', 'HIDDEN'];
391
- // tslint:disable:no-trailing-whitespace
392
- Python3Lexer.modeNames = ['DEFAULT_MODE'];
393
- Python3Lexer.ruleNames = [
394
- 'STRING',
395
- 'NUMBER',
396
- 'INTEGER',
397
- 'DEF',
398
- 'RETURN',
399
- 'RAISE',
400
- 'FROM',
401
- 'IMPORT',
402
- 'AS',
403
- 'GLOBAL',
404
- 'NONLOCAL',
405
- 'ASSERT',
406
- 'IF',
407
- 'ELIF',
408
- 'ELSE',
409
- 'WHILE',
410
- 'FOR',
411
- 'IN',
412
- 'TRY',
413
- 'FINALLY',
414
- 'WITH',
415
- 'EXCEPT',
416
- 'LAMBDA',
417
- 'OR',
418
- 'AND',
419
- 'NOT',
420
- 'IS',
421
- 'NONE',
422
- 'TRUE',
423
- 'FALSE',
424
- 'CLASS',
425
- 'YIELD',
426
- 'DEL',
427
- 'PASS',
428
- 'CONTINUE',
429
- 'BREAK',
430
- 'ASYNC',
431
- 'AWAIT',
432
- 'NEWLINE',
433
- 'NAME',
434
- 'STRING_LITERAL',
435
- 'BYTES_LITERAL',
436
- 'DECIMAL_INTEGER',
437
- 'OCT_INTEGER',
438
- 'HEX_INTEGER',
439
- 'BIN_INTEGER',
440
- 'FLOAT_NUMBER',
441
- 'IMAG_NUMBER',
442
- 'DOT',
443
- 'ELLIPSIS',
444
- 'STAR',
445
- 'OPEN_PAREN',
446
- 'CLOSE_PAREN',
447
- 'COMMA',
448
- 'COLON',
449
- 'SEMI_COLON',
450
- 'POWER',
451
- 'ASSIGN',
452
- 'OPEN_BRACK',
453
- 'CLOSE_BRACK',
454
- 'OR_OP',
455
- 'XOR',
456
- 'AND_OP',
457
- 'LEFT_SHIFT',
458
- 'RIGHT_SHIFT',
459
- 'ADD',
460
- 'MINUS',
461
- 'DIV',
462
- 'MOD',
463
- 'IDIV',
464
- 'NOT_OP',
465
- 'OPEN_BRACE',
466
- 'CLOSE_BRACE',
467
- 'LESS_THAN',
468
- 'GREATER_THAN',
469
- 'EQUALS',
470
- 'GT_EQ',
471
- 'LT_EQ',
472
- 'NOT_EQ_1',
473
- 'NOT_EQ_2',
474
- 'AT',
475
- 'ARROW',
476
- 'ADD_ASSIGN',
477
- 'SUB_ASSIGN',
478
- 'MULT_ASSIGN',
479
- 'AT_ASSIGN',
480
- 'DIV_ASSIGN',
481
- 'MOD_ASSIGN',
482
- 'AND_ASSIGN',
483
- 'OR_ASSIGN',
484
- 'XOR_ASSIGN',
485
- 'LEFT_SHIFT_ASSIGN',
486
- 'RIGHT_SHIFT_ASSIGN',
487
- 'POWER_ASSIGN',
488
- 'IDIV_ASSIGN',
489
- 'SKIP_',
490
- 'UNKNOWN_CHAR',
491
- 'SHORT_STRING',
492
- 'LONG_STRING',
493
- 'LONG_STRING_ITEM',
494
- 'LONG_STRING_CHAR',
495
- 'STRING_ESCAPE_SEQ',
496
- 'NON_ZERO_DIGIT',
497
- 'DIGIT',
498
- 'OCT_DIGIT',
499
- 'HEX_DIGIT',
500
- 'BIN_DIGIT',
501
- 'POINT_FLOAT',
502
- 'EXPONENT_FLOAT',
503
- 'INT_PART',
504
- 'FRACTION',
505
- 'EXPONENT',
506
- 'SHORT_BYTES',
507
- 'LONG_BYTES',
508
- 'LONG_BYTES_ITEM',
509
- 'SHORT_BYTES_CHAR_NO_SINGLE_QUOTE',
510
- 'SHORT_BYTES_CHAR_NO_DOUBLE_QUOTE',
511
- 'LONG_BYTES_CHAR',
512
- 'BYTES_ESCAPE_SEQ',
513
- 'SPACES',
514
- 'COMMENT',
515
- 'LINE_JOINING',
516
- 'ID_START',
517
- 'ID_CONTINUE',
518
- ];
519
- Python3Lexer._LITERAL_NAMES = [
520
- undefined,
521
- undefined,
522
- undefined,
523
- undefined,
524
- "'def'",
525
- "'return'",
526
- "'raise'",
527
- "'from'",
528
- "'import'",
529
- "'as'",
530
- "'global'",
531
- "'nonlocal'",
532
- "'assert'",
533
- "'if'",
534
- "'elif'",
535
- "'else'",
536
- "'while'",
537
- "'for'",
538
- "'in'",
539
- "'try'",
540
- "'finally'",
541
- "'with'",
542
- "'except'",
543
- "'lambda'",
544
- "'or'",
545
- "'and'",
546
- "'not'",
547
- "'is'",
548
- "'None'",
549
- "'True'",
550
- "'False'",
551
- "'class'",
552
- "'yield'",
553
- "'del'",
554
- "'pass'",
555
- "'continue'",
556
- "'break'",
557
- "'async'",
558
- "'await'",
559
- undefined,
560
- undefined,
561
- undefined,
562
- undefined,
563
- undefined,
564
- undefined,
565
- undefined,
566
- undefined,
567
- undefined,
568
- undefined,
569
- "'.'",
570
- "'...'",
571
- "'*'",
572
- "'('",
573
- "')'",
574
- "','",
575
- "':'",
576
- "';'",
577
- "'**'",
578
- "'='",
579
- "'['",
580
- "']'",
581
- "'|'",
582
- "'^'",
583
- "'&'",
584
- "'<<'",
585
- "'>>'",
586
- "'+'",
587
- "'-'",
588
- "'/'",
589
- "'%'",
590
- "'//'",
591
- "'~'",
592
- "'{'",
593
- "'}'",
594
- "'<'",
595
- "'>'",
596
- "'=='",
597
- "'>='",
598
- "'<='",
599
- "'<>'",
600
- "'!='",
601
- "'@'",
602
- "'->'",
603
- "'+='",
604
- "'-='",
605
- "'*='",
606
- "'@='",
607
- "'/='",
608
- "'%='",
609
- "'&='",
610
- "'|='",
611
- "'^='",
612
- "'<<='",
613
- "'>>='",
614
- "'**='",
615
- "'//='",
616
- ];
617
- Python3Lexer._SYMBOLIC_NAMES = [
618
- undefined,
619
- 'STRING',
620
- 'NUMBER',
621
- 'INTEGER',
622
- 'DEF',
623
- 'RETURN',
624
- 'RAISE',
625
- 'FROM',
626
- 'IMPORT',
627
- 'AS',
628
- 'GLOBAL',
629
- 'NONLOCAL',
630
- 'ASSERT',
631
- 'IF',
632
- 'ELIF',
633
- 'ELSE',
634
- 'WHILE',
635
- 'FOR',
636
- 'IN',
637
- 'TRY',
638
- 'FINALLY',
639
- 'WITH',
640
- 'EXCEPT',
641
- 'LAMBDA',
642
- 'OR',
643
- 'AND',
644
- 'NOT',
645
- 'IS',
646
- 'NONE',
647
- 'TRUE',
648
- 'FALSE',
649
- 'CLASS',
650
- 'YIELD',
651
- 'DEL',
652
- 'PASS',
653
- 'CONTINUE',
654
- 'BREAK',
655
- 'ASYNC',
656
- 'AWAIT',
657
- 'NEWLINE',
658
- 'NAME',
659
- 'STRING_LITERAL',
660
- 'BYTES_LITERAL',
661
- 'DECIMAL_INTEGER',
662
- 'OCT_INTEGER',
663
- 'HEX_INTEGER',
664
- 'BIN_INTEGER',
665
- 'FLOAT_NUMBER',
666
- 'IMAG_NUMBER',
667
- 'DOT',
668
- 'ELLIPSIS',
669
- 'STAR',
670
- 'OPEN_PAREN',
671
- 'CLOSE_PAREN',
672
- 'COMMA',
673
- 'COLON',
674
- 'SEMI_COLON',
675
- 'POWER',
676
- 'ASSIGN',
677
- 'OPEN_BRACK',
678
- 'CLOSE_BRACK',
679
- 'OR_OP',
680
- 'XOR',
681
- 'AND_OP',
682
- 'LEFT_SHIFT',
683
- 'RIGHT_SHIFT',
684
- 'ADD',
685
- 'MINUS',
686
- 'DIV',
687
- 'MOD',
688
- 'IDIV',
689
- 'NOT_OP',
690
- 'OPEN_BRACE',
691
- 'CLOSE_BRACE',
692
- 'LESS_THAN',
693
- 'GREATER_THAN',
694
- 'EQUALS',
695
- 'GT_EQ',
696
- 'LT_EQ',
697
- 'NOT_EQ_1',
698
- 'NOT_EQ_2',
699
- 'AT',
700
- 'ARROW',
701
- 'ADD_ASSIGN',
702
- 'SUB_ASSIGN',
703
- 'MULT_ASSIGN',
704
- 'AT_ASSIGN',
705
- 'DIV_ASSIGN',
706
- 'MOD_ASSIGN',
707
- 'AND_ASSIGN',
708
- 'OR_ASSIGN',
709
- 'XOR_ASSIGN',
710
- 'LEFT_SHIFT_ASSIGN',
711
- 'RIGHT_SHIFT_ASSIGN',
712
- 'POWER_ASSIGN',
713
- 'IDIV_ASSIGN',
714
- 'SKIP_',
715
- 'UNKNOWN_CHAR',
716
- ];
717
- Python3Lexer.VOCABULARY = new VocabularyImpl_1.VocabularyImpl(Python3Lexer._LITERAL_NAMES, Python3Lexer._SYMBOLIC_NAMES, []);
718
- Python3Lexer._serializedATNSegments = 2;
719
- Python3Lexer._serializedATNSegment0 = '\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02c\u0373\b\x01' +
720
- '\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06' +
721
- '\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r' +
722
- '\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t' +
723
- '\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t' +
724
- '\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t' +
725
- '\x1C\x04\x1D\t\x1D\x04\x1E\t\x1E\x04\x1F\t\x1F\x04 \t \x04!\t!\x04"\t' +
726
- "\"\x04#\t#\x04$\t$\x04%\t%\x04&\t&\x04'\t'\x04(\t(\x04)\t)\x04*\t*\x04" +
727
- '+\t+\x04,\t,\x04-\t-\x04.\t.\x04/\t/\x040\t0\x041\t1\x042\t2\x043\t3\x04' +
728
- '4\t4\x045\t5\x046\t6\x047\t7\x048\t8\x049\t9\x04:\t:\x04;\t;\x04<\t<\x04' +
729
- '=\t=\x04>\t>\x04?\t?\x04@\t@\x04A\tA\x04B\tB\x04C\tC\x04D\tD\x04E\tE\x04' +
730
- 'F\tF\x04G\tG\x04H\tH\x04I\tI\x04J\tJ\x04K\tK\x04L\tL\x04M\tM\x04N\tN\x04' +
731
- 'O\tO\x04P\tP\x04Q\tQ\x04R\tR\x04S\tS\x04T\tT\x04U\tU\x04V\tV\x04W\tW\x04' +
732
- 'X\tX\x04Y\tY\x04Z\tZ\x04[\t[\x04\\\t\\\x04]\t]\x04^\t^\x04_\t_\x04`\t' +
733
- '`\x04a\ta\x04b\tb\x04c\tc\x04d\td\x04e\te\x04f\tf\x04g\tg\x04h\th\x04' +
734
- 'i\ti\x04j\tj\x04k\tk\x04l\tl\x04m\tm\x04n\tn\x04o\to\x04p\tp\x04q\tq\x04' +
735
- 'r\tr\x04s\ts\x04t\tt\x04u\tu\x04v\tv\x04w\tw\x04x\tx\x04y\ty\x04z\tz\x04' +
736
- '{\t{\x04|\t|\x04}\t}\x03\x02\x03\x02\x05\x02\xFE\n\x02\x03\x03\x03\x03' +
737
- '\x03\x03\x05\x03\u0103\n\x03\x03\x04\x03\x04\x03\x04\x03\x04\x05\x04\u0109' +
738
- '\n\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03\x06\x03\x06\x03\x06\x03\x06' +
739
- '\x03\x06\x03\x06\x03\x06\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07' +
740
- '\x03\b\x03\b\x03\b\x03\b\x03\b\x03\t\x03\t\x03\t\x03\t\x03\t\x03\t\x03' +
741
- '\t\x03\n\x03\n\x03\n\x03\v\x03\v\x03\v\x03\v\x03\v\x03\v\x03\v\x03\f\x03' +
742
- '\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\r\x03\r\x03\r\x03\r\x03' +
743
- '\r\x03\r\x03\r\x03\x0E\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x0F\x03\x0F' +
744
- '\x03\x0F\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x11\x03\x11\x03\x11' +
745
- '\x03\x11\x03\x11\x03\x11\x03\x12\x03\x12\x03\x12\x03\x12\x03\x13\x03\x13' +
746
- '\x03\x13\x03\x14\x03\x14\x03\x14\x03\x14\x03\x15\x03\x15\x03\x15\x03\x15' +
747
- '\x03\x15\x03\x15\x03\x15\x03\x15\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16' +
748
- '\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x18\x03\x18' +
749
- '\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19\x03\x19\x03\x1A' +
750
- '\x03\x1A\x03\x1A\x03\x1A\x03\x1B\x03\x1B\x03\x1B\x03\x1B\x03\x1C\x03\x1C' +
751
- '\x03\x1C\x03\x1D\x03\x1D\x03\x1D\x03\x1D\x03\x1D\x03\x1E\x03\x1E\x03\x1E' +
752
- '\x03\x1E\x03\x1E\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03 ' +
753
- '\x03 \x03 \x03 \x03 \x03 \x03!\x03!\x03!\x03!\x03!\x03!\x03"\x03"\x03' +
754
- '"\x03"\x03#\x03#\x03#\x03#\x03#\x03$\x03$\x03$\x03$\x03$\x03$\x03$\x03' +
755
- '$\x03$\x03%\x03%\x03%\x03%\x03%\x03%\x03&\x03&\x03&\x03&\x03&\x03&\x03' +
756
- "'\x03'\x03'\x03'\x03'\x03'\x03(\x03(\x03(\x05(\u01CC\n(\x03(\x03" +
757
- '(\x05(\u01D0\n(\x03(\x05(\u01D3\n(\x05(\u01D5\n(\x03(\x03(\x03)\x03)\x07' +
758
- ')\u01DB\n)\f)\x0E)\u01DE\v)\x03*\x03*\x03*\x03*\x03*\x05*\u01E5\n*\x03' +
759
- '*\x03*\x05*\u01E9\n*\x03+\x03+\x03+\x03+\x03+\x05+\u01F0\n+\x03+\x03+' +
760
- '\x05+\u01F4\n+\x03,\x03,\x07,\u01F8\n,\f,\x0E,\u01FB\v,\x03,\x06,\u01FE' +
761
- '\n,\r,\x0E,\u01FF\x05,\u0202\n,\x03-\x03-\x03-\x06-\u0207\n-\r-\x0E-\u0208' +
762
- '\x03.\x03.\x03.\x06.\u020E\n.\r.\x0E.\u020F\x03/\x03/\x03/\x06/\u0215' +
763
- '\n/\r/\x0E/\u0216\x030\x030\x050\u021B\n0\x031\x031\x051\u021F\n1\x03' +
764
- '1\x031\x032\x032\x033\x033\x033\x033\x034\x034\x035\x035\x035\x036\x03' +
765
- '6\x036\x037\x037\x038\x038\x039\x039\x03:\x03:\x03:\x03;\x03;\x03<\x03' +
766
- '<\x03<\x03=\x03=\x03=\x03>\x03>\x03?\x03?\x03@\x03@\x03A\x03A\x03A\x03' +
767
- 'B\x03B\x03B\x03C\x03C\x03D\x03D\x03E\x03E\x03F\x03F\x03G\x03G\x03G\x03' +
768
- 'H\x03H\x03I\x03I\x03I\x03J\x03J\x03J\x03K\x03K\x03L\x03L\x03M\x03M\x03' +
769
- 'M\x03N\x03N\x03N\x03O\x03O\x03O\x03P\x03P\x03P\x03Q\x03Q\x03Q\x03R\x03' +
770
- 'R\x03S\x03S\x03S\x03T\x03T\x03T\x03U\x03U\x03U\x03V\x03V\x03V\x03W\x03' +
771
- 'W\x03W\x03X\x03X\x03X\x03Y\x03Y\x03Y\x03Z\x03Z\x03Z\x03[\x03[\x03[\x03' +
772
- '\\\x03\\\x03\\\x03]\x03]\x03]\x03]\x03^\x03^\x03^\x03^\x03_\x03_\x03_' +
773
- '\x03_\x03`\x03`\x03`\x03`\x03a\x03a\x03a\x05a\u02A7\na\x03a\x03a\x03b' +
774
- '\x03b\x03c\x03c\x03c\x07c\u02B0\nc\fc\x0Ec\u02B3\vc\x03c\x03c\x03c\x03' +
775
- 'c\x07c\u02B9\nc\fc\x0Ec\u02BC\vc\x03c\x05c\u02BF\nc\x03d\x03d\x03d\x03' +
776
- 'd\x03d\x07d\u02C6\nd\fd\x0Ed\u02C9\vd\x03d\x03d\x03d\x03d\x03d\x03d\x03' +
777
- 'd\x03d\x07d\u02D3\nd\fd\x0Ed\u02D6\vd\x03d\x03d\x03d\x05d\u02DB\nd\x03' +
778
- 'e\x03e\x05e\u02DF\ne\x03f\x03f\x03g\x03g\x03g\x03g\x05g\u02E7\ng\x03h' +
779
- '\x03h\x03i\x03i\x03j\x03j\x03k\x03k\x03l\x03l\x03m\x05m\u02F4\nm\x03m' +
780
- '\x03m\x03m\x03m\x05m\u02FA\nm\x03n\x03n\x05n\u02FE\nn\x03n\x03n\x03o\x06' +
781
- 'o\u0303\no\ro\x0Eo\u0304\x03p\x03p\x06p\u0309\np\rp\x0Ep\u030A\x03q\x03' +
782
- 'q\x05q\u030F\nq\x03q\x06q\u0312\nq\rq\x0Eq\u0313\x03r\x03r\x03r\x07r\u0319' +
783
- '\nr\fr\x0Er\u031C\vr\x03r\x03r\x03r\x03r\x07r\u0322\nr\fr\x0Er\u0325\v' +
784
- 'r\x03r\x05r\u0328\nr\x03s\x03s\x03s\x03s\x03s\x07s\u032F\ns\fs\x0Es\u0332' +
785
- '\vs\x03s\x03s\x03s\x03s\x03s\x03s\x03s\x03s\x07s\u033C\ns\fs\x0Es\u033F' +
786
- '\vs\x03s\x03s\x03s\x05s\u0344\ns\x03t\x03t\x05t\u0348\nt\x03u\x05u\u034B' +
787
- '\nu\x03v\x05v\u034E\nv\x03w\x05w\u0351\nw\x03x\x03x\x03x\x03y\x06y\u0357' +
788
- '\ny\ry\x0Ey\u0358\x03z\x03z\x07z\u035D\nz\fz\x0Ez\u0360\vz\x03{\x03{\x05' +
789
- '{\u0364\n{\x03{\x05{\u0367\n{\x03{\x03{\x05{\u036B\n{\x03|\x05|\u036E' +
790
- '\n|\x03}\x03}\x05}\u0372\n}\x06\u02C7\u02D4\u0330\u033D\x02\x02~\x03\x02' +
791
- '\x03\x05\x02\x04\x07\x02\x05\t\x02\x06\v\x02\x07\r\x02\b\x0F\x02\t\x11' +
792
- '\x02\n\x13\x02\v\x15\x02\f\x17\x02\r\x19\x02\x0E\x1B\x02\x0F\x1D\x02\x10' +
793
- "\x1F\x02\x11!\x02\x12#\x02\x13%\x02\x14'\x02\x15)\x02\x16+\x02\x17-\x02" +
794
- '\x18/\x02\x191\x02\x1A3\x02\x1B5\x02\x1C7\x02\x1D9\x02\x1E;\x02\x1F=\x02' +
795
- ' ?\x02!A\x02"C\x02#E\x02$G\x02%I\x02&K\x02\'M\x02(O\x02)Q\x02*S\x02+' +
796
- 'U\x02,W\x02-Y\x02.[\x02/]\x020_\x021a\x022c\x023e\x024g\x025i\x026k\x02' +
797
- '7m\x028o\x029q\x02:s\x02;u\x02<w\x02=y\x02>{\x02?}\x02@\x7F\x02A\x81\x02' +
798
- 'B\x83\x02C\x85\x02D\x87\x02E\x89\x02F\x8B\x02G\x8D\x02H\x8F\x02I\x91\x02' +
799
- 'J\x93\x02K\x95\x02L\x97\x02M\x99\x02N\x9B\x02O\x9D\x02P\x9F\x02Q\xA1\x02' +
800
- 'R\xA3\x02S\xA5\x02T\xA7\x02U\xA9\x02V\xAB\x02W\xAD\x02X\xAF\x02Y\xB1\x02' +
801
- 'Z\xB3\x02[\xB5\x02\\\xB7\x02]\xB9\x02^\xBB\x02_\xBD\x02`\xBF\x02a\xC1' +
802
- '\x02b\xC3\x02c\xC5\x02\x02\xC7\x02\x02\xC9\x02\x02\xCB\x02\x02\xCD\x02' +
803
- '\x02\xCF\x02\x02\xD1\x02\x02\xD3\x02\x02\xD5\x02\x02\xD7\x02\x02\xD9\x02' +
804
- '\x02\xDB\x02\x02\xDD\x02\x02\xDF\x02\x02\xE1\x02\x02\xE3\x02\x02\xE5\x02' +
805
- '\x02\xE7\x02\x02\xE9\x02\x02\xEB\x02\x02\xED\x02\x02\xEF\x02\x02\xF1\x02' +
806
- '\x02\xF3\x02\x02\xF5\x02\x02\xF7\x02\x02\xF9\x02\x02\x03\x02\x1B\b\x02' +
807
- 'HHTTWWhhttww\x04\x02HHhh\x04\x02TTtt\x04\x02DDdd\x04\x02QQqq\x04\x02Z' +
808
- 'Zzz\x04\x02LLll\x06\x02\f\f\x0E\x0F))^^\x06\x02\f\f\x0E\x0F$$^^\x03\x02' +
809
- '^^\x03\x023;\x03\x022;\x03\x0229\x05\x022;CHch\x03\x0223\x04\x02GGgg\x04' +
810
- '\x02--//\x07\x02\x02\v\r\x0E\x10(*]_\x81\x07\x02\x02\v\r\x0E\x10#%]_\x81' +
811
- '\x04\x02\x02]_\x81\x03\x02\x02\x81\x04\x02\v\v""\x04\x02\f\f\x0E\x0F' +
812
- '\u0129\x02C\\aac|\xAC\xAC\xB7\xB7\xBC\xBC\xC2\xD8\xDA\xF8\xFA\u0243\u0252' +
813
- '\u02C3\u02C8\u02D3\u02E2\u02E6\u02F0\u02F0\u037C\u037C\u0388\u0388\u038A' +
814
- '\u038C\u038E\u038E\u0390\u03A3\u03A5\u03D0\u03D2\u03F7\u03F9\u0483\u048C' +
815
- '\u04D0\u04D2\u04FB\u0502\u0511\u0533\u0558\u055B\u055B\u0563\u0589\u05D2' +
816
- '\u05EC\u05F2\u05F4\u0623\u063C\u0642\u064C\u0670\u0671\u0673\u06D5\u06D7' +
817
- '\u06D7\u06E7\u06E8\u06F0\u06F1\u06FC\u06FE\u0701\u0701\u0712\u0712\u0714' +
818
- '\u0731\u074F\u076F\u0782\u07A7\u07B3\u07B3\u0906\u093B\u093F\u093F\u0952' +
819
- '\u0952\u095A\u0963\u097F\u097F\u0987\u098E\u0991\u0992\u0995\u09AA\u09AC' +
820
- '\u09B2\u09B4\u09B4\u09B8\u09BB\u09BF\u09BF\u09D0\u09D0\u09DE\u09DF\u09E1' +
821
- '\u09E3\u09F2\u09F3\u0A07\u0A0C\u0A11\u0A12\u0A15\u0A2A\u0A2C\u0A32\u0A34' +
822
- '\u0A35\u0A37\u0A38\u0A3A\u0A3B\u0A5B\u0A5E\u0A60\u0A60\u0A74\u0A76\u0A87' +
823
- '\u0A8F\u0A91\u0A93\u0A95\u0AAA\u0AAC\u0AB2\u0AB4\u0AB5\u0AB7\u0ABB\u0ABF' +
824
- '\u0ABF\u0AD2\u0AD2\u0AE2\u0AE3\u0B07\u0B0E\u0B11\u0B12\u0B15\u0B2A\u0B2C' +
825
- '\u0B32\u0B34\u0B35\u0B37\u0B3B\u0B3F\u0B3F\u0B5E\u0B5F\u0B61\u0B63\u0B73' +
826
- '\u0B73\u0B85\u0B85\u0B87\u0B8C\u0B90\u0B92\u0B94\u0B97\u0B9B\u0B9C\u0B9E' +
827
- '\u0B9E\u0BA0\u0BA1\u0BA5\u0BA6\u0BAA\u0BAC\u0BB0\u0BBB\u0C07\u0C0E\u0C10' +
828
- '\u0C12\u0C14\u0C2A\u0C2C\u0C35\u0C37\u0C3B\u0C62\u0C63\u0C87\u0C8E\u0C90' +
829
- '\u0C92\u0C94\u0CAA\u0CAC\u0CB5\u0CB7\u0CBB\u0CBF\u0CBF\u0CE0\u0CE0\u0CE2' +
830
- '\u0CE3\u0D07\u0D0E\u0D10\u0D12\u0D14\u0D2A\u0D2C\u0D3B\u0D62\u0D63\u0D87' +
831
- '\u0D98\u0D9C\u0DB3\u0DB5\u0DBD\u0DBF\u0DBF\u0DC2\u0DC8\u0E03\u0E32\u0E34' +
832
- '\u0E35\u0E42\u0E48\u0E83\u0E84\u0E86\u0E86\u0E89\u0E8A\u0E8C\u0E8C\u0E8F' +
833
- '\u0E8F\u0E96\u0E99\u0E9B\u0EA1\u0EA3\u0EA5\u0EA7\u0EA7\u0EA9\u0EA9\u0EAC' +
834
- '\u0EAD\u0EAF\u0EB2\u0EB4\u0EB5\u0EBF\u0EBF\u0EC2\u0EC6\u0EC8\u0EC8\u0EDE' +
835
- '\u0EDF\u0F02\u0F02\u0F42\u0F49\u0F4B\u0F6C\u0F8A\u0F8D\u1002\u1023\u1025' +
836
- '\u1029\u102B\u102C\u1052\u1057\u10A2\u10C7\u10D2\u10FC\u10FE\u10FE\u1102' +
837
- '\u115B\u1161\u11A4\u11AA\u11FB\u1202\u124A\u124C\u124F\u1252\u1258\u125A' +
838
- '\u125A\u125C\u125F\u1262\u128A\u128C\u128F\u1292\u12B2\u12B4\u12B7\u12BA' +
839
- '\u12C0\u12C2\u12C2\u12C4\u12C7\u12CA\u12D8\u12DA\u1312\u1314\u1317\u131A' +
840
- '\u135C\u1382\u1391\u13A2\u13F6\u1403\u166E\u1671\u1678\u1683\u169C\u16A2' +
841
- '\u16EC\u16F0\u16F2\u1702\u170E\u1710\u1713\u1722\u1733\u1742\u1753\u1762' +
842
- '\u176E\u1770\u1772\u1782\u17B5\u17D9\u17D9\u17DE\u17DE\u1822\u1879\u1882' +
843
- '\u18AA\u1902\u191E\u1952\u196F\u1972\u1976\u1982\u19AB\u19C3\u19C9\u1A02' +
844
- '\u1A18\u1D02\u1DC1\u1E02\u1E9D\u1EA2\u1EFB\u1F02\u1F17\u1F1A\u1F1F\u1F22' +
845
- '\u1F47\u1F4A\u1F4F\u1F52\u1F59\u1F5B\u1F5B\u1F5D\u1F5D\u1F5F\u1F5F\u1F61' +
846
- '\u1F7F\u1F82\u1FB6\u1FB8\u1FBE\u1FC0\u1FC0\u1FC4\u1FC6\u1FC8\u1FCE\u1FD2' +
847
- '\u1FD5\u1FD8\u1FDD\u1FE2\u1FEE\u1FF4\u1FF6\u1FF8\u1FFE\u2073\u2073\u2081' +
848
- '\u2081\u2092\u2096\u2104\u2104\u2109\u2109\u210C\u2115\u2117\u2117\u211A' +
849
- '\u211F\u2126\u2126\u2128\u2128\u212A\u212A\u212C\u2133\u2135\u213B\u213E' +
850
- '\u2141\u2147\u214B\u2162\u2185\u2C02\u2C30\u2C32\u2C60\u2C82\u2CE6\u2D02' +
851
- '\u2D27\u2D32\u2D67\u2D71\u2D71\u2D82\u2D98\u2DA2\u2DA8\u2DAA\u2DB0\u2DB2' +
852
- '\u2DB8\u2DBA\u2DC0\u2DC2\u2DC8\u2DCA\u2DD0\u2DD2\u2DD8\u2DDA\u2DE0\u3007' +
853
- '\u3009\u3023\u302B\u3033\u3037\u303A\u303E\u3043\u3098\u309D\u30A1\u30A3' +
854
- '\u30FC\u30FE\u3101\u3107\u312E\u3133\u3190\u31A2\u31B9\u31F2\u3201\u3402' +
855
- '\u4DB7\u4E02\u9FBD\uA002\uA48E\uA802\uA803\uA805\uA807\uA809\uA80C\uA80E' +
856
- '\uA824\uAC02\uD7A5\uF902\uFA2F\uFA32\uFA6C\uFA72\uFADB\uFB02\uFB08\uFB15' +
857
- '\uFB19\uFB1F\uFB1F\uFB21\uFB2A\uFB2C\uFB38\uFB3A\uFB3E\uFB40\uFB40\uFB42' +
858
- '\uFB43\uFB45\uFB46\uFB48\uFBB3\uFBD5\uFD3F\uFD52\uFD91\uFD94\uFDC9\uFDF2' +
859
- '\uFDFD\uFE72\uFE76\uFE78\uFEFE\uFF23\uFF3C\uFF43\uFF5C\uFF68\uFFC0\uFFC4' +
860
- '\uFFC9\uFFCC\uFFD1\uFFD4\uFFD9\uFFDC\uFFDE\x96\x022;\u0302\u0371\u0485' +
861
- '\u0488\u0593\u05BB\u05BD\u05BF\u05C1\u05C1\u05C3\u05C4\u05C6\u05C7\u05C9' +
862
- '\u05C9\u0612\u0617\u064D\u0660\u0662\u066B\u0672\u0672\u06D8\u06DE\u06E1' +
863
- '\u06E6\u06E9\u06EA\u06EC\u06EF\u06F2\u06FB\u0713\u0713\u0732\u074C\u07A8' +
864
- '\u07B2\u0903\u0905\u093E\u093E\u0940\u094F\u0953\u0956\u0964\u0965\u0968' +
865
- '\u0971\u0983\u0985\u09BE\u09BE\u09C0\u09C6\u09C9\u09CA\u09CD\u09CF\u09D9' +
866
- '\u09D9\u09E4\u09E5\u09E8\u09F1\u0A03\u0A05\u0A3E\u0A3E\u0A40\u0A44\u0A49' +
867
- '\u0A4A\u0A4D\u0A4F\u0A68\u0A73\u0A83\u0A85\u0ABE\u0ABE\u0AC0\u0AC7\u0AC9' +
868
- '\u0ACB\u0ACD\u0ACF\u0AE4\u0AE5\u0AE8\u0AF1\u0B03\u0B05\u0B3E\u0B3E\u0B40' +
869
- '\u0B45\u0B49\u0B4A\u0B4D\u0B4F\u0B58\u0B59\u0B68\u0B71\u0B84\u0B84\u0BC0' +
870
- '\u0BC4\u0BC8\u0BCA\u0BCC\u0BCF\u0BD9\u0BD9\u0BE8\u0BF1\u0C03\u0C05\u0C40' +
871
- '\u0C46\u0C48\u0C4A\u0C4C\u0C4F\u0C57\u0C58\u0C68\u0C71\u0C84\u0C85\u0CBE' +
872
- '\u0CBE\u0CC0\u0CC6\u0CC8\u0CCA\u0CCC\u0CCF\u0CD7\u0CD8\u0CE8\u0CF1\u0D04' +
873
- '\u0D05\u0D40\u0D45\u0D48\u0D4A\u0D4C\u0D4F\u0D59\u0D59\u0D68\u0D71\u0D84' +
874
- '\u0D85\u0DCC\u0DCC\u0DD1\u0DD6\u0DD8\u0DD8\u0DDA\u0DE1\u0DF4\u0DF5\u0E33' +
875
- '\u0E33\u0E36\u0E3C\u0E49\u0E50\u0E52\u0E5B\u0EB3\u0EB3\u0EB6\u0EBB\u0EBD' +
876
- '\u0EBE\u0ECA\u0ECF\u0ED2\u0EDB\u0F1A\u0F1B\u0F22\u0F2B\u0F37\u0F37\u0F39' +
877
- '\u0F39\u0F3B\u0F3B\u0F40\u0F41\u0F73\u0F86\u0F88\u0F89\u0F92\u0F99\u0F9B' +
878
- '\u0FBE\u0FC8\u0FC8\u102E\u1034\u1038\u103B\u1042\u104B\u1058\u105B\u1361' +
879
- '\u1361\u136B\u1373\u1714\u1716\u1734\u1736\u1754\u1755\u1774\u1775\u17B8' +
880
- '\u17D5\u17DF\u17DF\u17E2\u17EB\u180D\u180F\u1812\u181B\u18AB\u18AB\u1922' +
881
- '\u192D\u1932\u193D\u1948\u1951\u19B2\u19C2\u19CA\u19CB\u19D2\u19DB\u1A19' +
882
- '\u1A1D\u1DC2\u1DC5\u2041\u2042\u2056\u2056\u20D2\u20DE\u20E3\u20E3\u20E7' +
883
- '\u20ED\u302C\u3031\u309B\u309C\uA804\uA804\uA808\uA808\uA80D\uA80D\uA825' +
884
- '\uA829\uFB20\uFB20\uFE02\uFE11\uFE22\uFE25\uFE35\uFE36\uFE4F\uFE51\uFF12' +
885
- '\uFF1B\uFF41\uFF41\x02\u0393\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02' +
886
- '\x02\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02' +
887
- '\x02\r\x03\x02\x02\x02\x02\x0F\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02' +
888
- '\x02\x13\x03\x02\x02\x02\x02\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02\x02' +
889
- '\x02\x19\x03\x02\x02\x02\x02\x1B\x03\x02\x02\x02\x02\x1D\x03\x02\x02\x02' +
890
- '\x02\x1F\x03\x02\x02\x02\x02!\x03\x02\x02\x02\x02#\x03\x02\x02\x02\x02' +
891
- "%\x03\x02\x02\x02\x02'\x03\x02\x02\x02\x02)\x03\x02\x02\x02\x02+\x03" +
892
- '\x02\x02\x02\x02-\x03\x02\x02\x02\x02/\x03\x02\x02\x02\x021\x03\x02\x02' +
893
- '\x02\x023\x03\x02\x02\x02\x025\x03\x02\x02\x02\x027\x03\x02\x02\x02\x02' +
894
- '9\x03\x02\x02\x02\x02;\x03\x02\x02\x02\x02=\x03\x02\x02\x02\x02?\x03\x02' +
895
- '\x02\x02\x02A\x03\x02\x02\x02\x02C\x03\x02\x02\x02\x02E\x03\x02\x02\x02' +
896
- '\x02G\x03\x02\x02\x02\x02I\x03\x02\x02\x02\x02K\x03\x02\x02\x02\x02M\x03' +
897
- '\x02\x02\x02\x02O\x03\x02\x02\x02\x02Q\x03\x02\x02\x02\x02S\x03\x02\x02' +
898
- '\x02\x02U\x03\x02\x02\x02\x02W\x03\x02\x02\x02\x02Y\x03\x02\x02\x02\x02' +
899
- '[\x03\x02\x02\x02\x02]\x03\x02\x02\x02\x02_\x03\x02\x02\x02\x02a\x03\x02' +
900
- '\x02\x02\x02c\x03\x02\x02\x02\x02e\x03\x02\x02\x02\x02g\x03\x02\x02\x02' +
901
- '\x02i\x03\x02\x02\x02\x02k\x03\x02\x02\x02\x02m\x03\x02\x02\x02\x02o\x03' +
902
- '\x02\x02\x02\x02q\x03\x02\x02\x02\x02s\x03\x02\x02\x02\x02u\x03\x02\x02' +
903
- '\x02\x02w\x03\x02\x02\x02\x02y\x03\x02\x02\x02\x02{\x03\x02\x02\x02\x02' +
904
- '}\x03\x02\x02\x02\x02\x7F\x03\x02\x02\x02\x02\x81\x03\x02\x02\x02\x02' +
905
- '\x83\x03\x02\x02\x02\x02\x85\x03\x02\x02\x02\x02\x87\x03\x02\x02\x02\x02' +
906
- '\x89\x03\x02\x02\x02\x02\x8B\x03\x02\x02\x02\x02\x8D\x03\x02\x02\x02\x02' +
907
- '\x8F\x03\x02\x02\x02\x02\x91\x03\x02\x02\x02\x02\x93\x03\x02\x02\x02\x02' +
908
- '\x95\x03\x02\x02\x02\x02\x97\x03\x02\x02\x02\x02\x99\x03\x02\x02\x02\x02' +
909
- '\x9B\x03\x02\x02\x02\x02\x9D\x03\x02\x02\x02\x02\x9F\x03\x02\x02\x02\x02' +
910
- '\xA1\x03\x02\x02\x02\x02\xA3\x03\x02\x02\x02\x02\xA5\x03\x02\x02\x02\x02' +
911
- '\xA7\x03\x02\x02\x02\x02\xA9\x03\x02\x02\x02\x02\xAB\x03\x02\x02\x02\x02' +
912
- '\xAD\x03\x02\x02\x02\x02\xAF\x03\x02\x02\x02\x02\xB1\x03\x02\x02\x02\x02' +
913
- '\xB3\x03\x02\x02\x02\x02\xB5\x03\x02\x02\x02\x02\xB7\x03\x02\x02\x02\x02' +
914
- '\xB9\x03\x02\x02\x02\x02\xBB\x03\x02\x02\x02\x02\xBD\x03\x02\x02\x02\x02' +
915
- '\xBF\x03\x02\x02\x02\x02\xC1\x03\x02\x02\x02\x02\xC3\x03\x02\x02\x02\x03' +
916
- '\xFD\x03\x02\x02\x02\x05\u0102\x03\x02\x02\x02\x07\u0108\x03\x02\x02\x02' +
917
- '\t\u010A\x03\x02\x02\x02\v\u010E\x03\x02\x02\x02\r\u0115\x03\x02\x02\x02' +
918
- '\x0F\u011B\x03\x02\x02\x02\x11\u0120\x03\x02\x02\x02\x13\u0127\x03\x02' +
919
- '\x02\x02\x15\u012A\x03\x02\x02\x02\x17\u0131\x03\x02\x02\x02\x19\u013A' +
920
- '\x03\x02\x02\x02\x1B\u0141\x03\x02\x02\x02\x1D\u0144\x03\x02\x02\x02\x1F' +
921
- '\u0149\x03\x02\x02\x02!\u014E\x03\x02\x02\x02#\u0154\x03\x02\x02\x02%' +
922
- "\u0158\x03\x02\x02\x02'\u015B\x03\x02\x02\x02)\u015F\x03\x02\x02\x02" +
923
- '+\u0167\x03\x02\x02\x02-\u016C\x03\x02\x02\x02/\u0173\x03\x02\x02\x02' +
924
- '1\u017A\x03\x02\x02\x023\u017D\x03\x02\x02\x025\u0181\x03\x02\x02\x02' +
925
- '7\u0185\x03\x02\x02\x029\u0188\x03\x02\x02\x02;\u018D\x03\x02\x02\x02' +
926
- '=\u0192\x03\x02\x02\x02?\u0198\x03\x02\x02\x02A\u019E\x03\x02\x02\x02' +
927
- 'C\u01A4\x03\x02\x02\x02E\u01A8\x03\x02\x02\x02G\u01AD\x03\x02\x02\x02' +
928
- 'I\u01B6\x03\x02\x02\x02K\u01BC\x03\x02\x02\x02M\u01C2\x03\x02\x02\x02' +
929
- 'O\u01D4\x03\x02\x02\x02Q\u01D8\x03\x02\x02\x02S\u01E4\x03\x02\x02\x02' +
930
- 'U\u01EF\x03\x02\x02\x02W\u0201\x03\x02\x02\x02Y\u0203\x03\x02\x02\x02' +
931
- '[\u020A\x03\x02\x02\x02]\u0211\x03\x02\x02\x02_\u021A\x03\x02\x02\x02' +
932
- 'a\u021E\x03\x02\x02\x02c\u0222\x03\x02\x02\x02e\u0224\x03\x02\x02\x02' +
933
- 'g\u0228\x03\x02\x02\x02i\u022A\x03\x02\x02\x02k\u022D\x03\x02\x02\x02' +
934
- 'm\u0230\x03\x02\x02\x02o\u0232\x03\x02\x02\x02q\u0234\x03\x02\x02\x02' +
935
- 's\u0236\x03\x02\x02\x02u\u0239\x03\x02\x02\x02w\u023B\x03\x02\x02\x02' +
936
- 'y\u023E\x03\x02\x02\x02{\u0241\x03\x02\x02\x02}\u0243\x03\x02\x02\x02' +
937
- '\x7F\u0245\x03\x02\x02\x02\x81\u0247\x03\x02\x02\x02\x83\u024A\x03\x02' +
938
- '\x02\x02\x85\u024D\x03\x02\x02\x02\x87\u024F\x03\x02\x02\x02\x89\u0251' +
939
- '\x03\x02\x02\x02\x8B\u0253\x03\x02\x02\x02\x8D\u0255\x03\x02\x02\x02\x8F' +
940
- '\u0258\x03\x02\x02\x02\x91\u025A\x03\x02\x02\x02\x93\u025D\x03\x02\x02' +
941
- '\x02\x95\u0260\x03\x02\x02\x02\x97\u0262\x03\x02\x02\x02\x99\u0264\x03' +
942
- '\x02\x02\x02\x9B\u0267\x03\x02\x02\x02\x9D\u026A\x03\x02\x02\x02\x9F\u026D' +
943
- '\x03\x02\x02\x02\xA1\u0270\x03\x02\x02\x02\xA3\u0273\x03\x02\x02\x02\xA5' +
944
- '\u0275\x03\x02\x02\x02\xA7\u0278\x03\x02\x02\x02\xA9\u027B\x03\x02\x02' +
945
- '\x02\xAB\u027E\x03\x02\x02\x02\xAD\u0281\x03\x02\x02\x02\xAF\u0284\x03' +
946
- '\x02\x02\x02\xB1\u0287\x03\x02\x02\x02\xB3\u028A\x03\x02\x02\x02\xB5\u028D' +
947
- '\x03\x02\x02\x02\xB7\u0290\x03\x02\x02\x02\xB9\u0293\x03\x02\x02\x02\xBB' +
948
- '\u0297\x03\x02\x02\x02\xBD\u029B\x03\x02\x02\x02\xBF\u029F\x03\x02\x02' +
949
- '\x02\xC1\u02A6\x03\x02\x02\x02\xC3\u02AA\x03\x02\x02\x02\xC5\u02BE\x03' +
950
- '\x02\x02\x02\xC7\u02DA\x03\x02\x02\x02\xC9\u02DE\x03\x02\x02\x02\xCB\u02E0' +
951
- '\x03\x02\x02\x02\xCD\u02E6\x03\x02\x02\x02\xCF\u02E8\x03\x02\x02\x02\xD1' +
952
- '\u02EA\x03\x02\x02\x02\xD3\u02EC\x03\x02\x02\x02\xD5\u02EE\x03\x02\x02' +
953
- '\x02\xD7\u02F0\x03\x02\x02\x02\xD9\u02F9\x03\x02\x02\x02\xDB\u02FD\x03' +
954
- '\x02\x02\x02\xDD\u0302\x03\x02\x02\x02\xDF\u0306\x03\x02\x02\x02\xE1\u030C' +
955
- '\x03\x02\x02\x02\xE3\u0327\x03\x02\x02\x02\xE5\u0343\x03\x02\x02\x02\xE7' +
956
- '\u0347\x03\x02\x02\x02\xE9\u034A\x03\x02\x02\x02\xEB\u034D\x03\x02\x02' +
957
- '\x02\xED\u0350\x03\x02\x02\x02\xEF\u0352\x03\x02\x02\x02\xF1\u0356\x03' +
958
- '\x02\x02\x02\xF3\u035A\x03\x02\x02\x02\xF5\u0361\x03\x02\x02\x02\xF7\u036D' +
959
- '\x03\x02\x02\x02\xF9\u0371\x03\x02\x02\x02\xFB\xFE\x05S*\x02\xFC\xFE\x05' +
960
- 'U+\x02\xFD\xFB\x03\x02\x02\x02\xFD\xFC\x03\x02\x02\x02\xFE\x04\x03\x02' +
961
- '\x02\x02\xFF\u0103\x05\x07\x04\x02\u0100\u0103\x05_0\x02\u0101\u0103\x05' +
962
- 'a1\x02\u0102\xFF\x03\x02\x02\x02\u0102\u0100\x03\x02\x02\x02\u0102\u0101' +
963
- '\x03\x02\x02\x02\u0103\x06\x03\x02\x02\x02\u0104\u0109\x05W,\x02\u0105' +
964
- '\u0109\x05Y-\x02\u0106\u0109\x05[.\x02\u0107\u0109\x05]/\x02\u0108\u0104' +
965
- '\x03\x02\x02\x02\u0108\u0105\x03\x02\x02\x02\u0108\u0106\x03\x02\x02\x02' +
966
- '\u0108\u0107\x03\x02\x02\x02\u0109\b\x03\x02\x02\x02\u010A\u010B\x07f' +
967
- '\x02\x02\u010B\u010C\x07g\x02\x02\u010C\u010D\x07h\x02\x02\u010D\n\x03' +
968
- '\x02\x02\x02\u010E\u010F\x07t\x02\x02\u010F\u0110\x07g\x02\x02\u0110\u0111' +
969
- '\x07v\x02\x02\u0111\u0112\x07w\x02\x02\u0112\u0113\x07t\x02\x02\u0113' +
970
- '\u0114\x07p\x02\x02\u0114\f\x03\x02\x02\x02\u0115\u0116\x07t\x02\x02\u0116' +
971
- '\u0117\x07c\x02\x02\u0117\u0118\x07k\x02\x02\u0118\u0119\x07u\x02\x02' +
972
- '\u0119\u011A\x07g\x02\x02\u011A\x0E\x03\x02\x02\x02\u011B\u011C\x07h\x02' +
973
- '\x02\u011C\u011D\x07t\x02\x02\u011D\u011E\x07q\x02\x02\u011E\u011F\x07' +
974
- 'o\x02\x02\u011F\x10\x03\x02\x02\x02\u0120\u0121\x07k\x02\x02\u0121\u0122' +
975
- '\x07o\x02\x02\u0122\u0123\x07r\x02\x02\u0123\u0124\x07q\x02\x02\u0124' +
976
- '\u0125\x07t\x02\x02\u0125\u0126\x07v\x02\x02\u0126\x12\x03\x02\x02\x02' +
977
- '\u0127\u0128\x07c\x02\x02\u0128\u0129\x07u\x02\x02\u0129\x14\x03\x02\x02' +
978
- '\x02\u012A\u012B\x07i\x02\x02\u012B\u012C\x07n\x02\x02\u012C\u012D\x07' +
979
- 'q\x02\x02\u012D\u012E\x07d\x02\x02\u012E\u012F\x07c\x02\x02\u012F\u0130' +
980
- '\x07n\x02\x02\u0130\x16\x03\x02\x02\x02\u0131\u0132\x07p\x02\x02\u0132' +
981
- '\u0133\x07q\x02\x02\u0133\u0134\x07p\x02\x02\u0134\u0135\x07n\x02\x02' +
982
- '\u0135\u0136\x07q\x02\x02\u0136\u0137\x07e\x02\x02\u0137';
983
- Python3Lexer._serializedATNSegment1 = '\u0138\x07c\x02\x02\u0138\u0139\x07n\x02\x02\u0139\x18\x03\x02\x02\x02' +
984
- '\u013A\u013B\x07c\x02\x02\u013B\u013C\x07u\x02\x02\u013C\u013D\x07u\x02' +
985
- '\x02\u013D\u013E\x07g\x02\x02\u013E\u013F\x07t\x02\x02\u013F\u0140\x07' +
986
- 'v\x02\x02\u0140\x1A\x03\x02\x02\x02\u0141\u0142\x07k\x02\x02\u0142\u0143' +
987
- '\x07h\x02\x02\u0143\x1C\x03\x02\x02\x02\u0144\u0145\x07g\x02\x02\u0145' +
988
- '\u0146\x07n\x02\x02\u0146\u0147\x07k\x02\x02\u0147\u0148\x07h\x02\x02' +
989
- '\u0148\x1E\x03\x02\x02\x02\u0149\u014A\x07g\x02\x02\u014A\u014B\x07n\x02' +
990
- '\x02\u014B\u014C\x07u\x02\x02\u014C\u014D\x07g\x02\x02\u014D \x03\x02' +
991
- '\x02\x02\u014E\u014F\x07y\x02\x02\u014F\u0150\x07j\x02\x02\u0150\u0151' +
992
- '\x07k\x02\x02\u0151\u0152\x07n\x02\x02\u0152\u0153\x07g\x02\x02\u0153' +
993
- '"\x03\x02\x02\x02\u0154\u0155\x07h\x02\x02\u0155\u0156\x07q\x02\x02\u0156' +
994
- '\u0157\x07t\x02\x02\u0157$\x03\x02\x02\x02\u0158\u0159\x07k\x02\x02\u0159' +
995
- '\u015A\x07p\x02\x02\u015A&\x03\x02\x02\x02\u015B\u015C\x07v\x02\x02\u015C' +
996
- '\u015D\x07t\x02\x02\u015D\u015E\x07{\x02\x02\u015E(\x03\x02\x02\x02\u015F' +
997
- '\u0160\x07h\x02\x02\u0160\u0161\x07k\x02\x02\u0161\u0162\x07p\x02\x02' +
998
- '\u0162\u0163\x07c\x02\x02\u0163\u0164\x07n\x02\x02\u0164\u0165\x07n\x02' +
999
- '\x02\u0165\u0166\x07{\x02\x02\u0166*\x03\x02\x02\x02\u0167\u0168\x07y' +
1000
- '\x02\x02\u0168\u0169\x07k\x02\x02\u0169\u016A\x07v\x02\x02\u016A\u016B' +
1001
- '\x07j\x02\x02\u016B,\x03\x02\x02\x02\u016C\u016D\x07g\x02\x02\u016D\u016E' +
1002
- '\x07z\x02\x02\u016E\u016F\x07e\x02\x02\u016F\u0170\x07g\x02\x02\u0170' +
1003
- '\u0171\x07r\x02\x02\u0171\u0172\x07v\x02\x02\u0172.\x03\x02\x02\x02\u0173' +
1004
- '\u0174\x07n\x02\x02\u0174\u0175\x07c\x02\x02\u0175\u0176\x07o\x02\x02' +
1005
- '\u0176\u0177\x07d\x02\x02\u0177\u0178\x07f\x02\x02\u0178\u0179\x07c\x02' +
1006
- '\x02\u01790\x03\x02\x02\x02\u017A\u017B\x07q\x02\x02\u017B\u017C\x07t' +
1007
- '\x02\x02\u017C2\x03\x02\x02\x02\u017D\u017E\x07c\x02\x02\u017E\u017F\x07' +
1008
- 'p\x02\x02\u017F\u0180\x07f\x02\x02\u01804\x03\x02\x02\x02\u0181\u0182' +
1009
- '\x07p\x02\x02\u0182\u0183\x07q\x02\x02\u0183\u0184\x07v\x02\x02\u0184' +
1010
- '6\x03\x02\x02\x02\u0185\u0186\x07k\x02\x02\u0186\u0187\x07u\x02\x02\u0187' +
1011
- '8\x03\x02\x02\x02\u0188\u0189\x07P\x02\x02\u0189\u018A\x07q\x02\x02\u018A' +
1012
- '\u018B\x07p\x02\x02\u018B\u018C\x07g\x02\x02\u018C:\x03\x02\x02\x02\u018D' +
1013
- '\u018E\x07V\x02\x02\u018E\u018F\x07t\x02\x02\u018F\u0190\x07w\x02\x02' +
1014
- '\u0190\u0191\x07g\x02\x02\u0191<\x03\x02\x02\x02\u0192\u0193\x07H\x02' +
1015
- '\x02\u0193\u0194\x07c\x02\x02\u0194\u0195\x07n\x02\x02\u0195\u0196\x07' +
1016
- 'u\x02\x02\u0196\u0197\x07g\x02\x02\u0197>\x03\x02\x02\x02\u0198\u0199' +
1017
- '\x07e\x02\x02\u0199\u019A\x07n\x02\x02\u019A\u019B\x07c\x02\x02\u019B' +
1018
- '\u019C\x07u\x02\x02\u019C\u019D\x07u\x02\x02\u019D@\x03\x02\x02\x02\u019E' +
1019
- '\u019F\x07{\x02\x02\u019F\u01A0\x07k\x02\x02\u01A0\u01A1\x07g\x02\x02' +
1020
- '\u01A1\u01A2\x07n\x02\x02\u01A2\u01A3\x07f\x02\x02\u01A3B\x03\x02\x02' +
1021
- '\x02\u01A4\u01A5\x07f\x02\x02\u01A5\u01A6\x07g\x02\x02\u01A6\u01A7\x07' +
1022
- 'n\x02\x02\u01A7D\x03\x02\x02\x02\u01A8\u01A9\x07r\x02\x02\u01A9\u01AA' +
1023
- '\x07c\x02\x02\u01AA\u01AB\x07u\x02\x02\u01AB\u01AC\x07u\x02\x02\u01AC' +
1024
- 'F\x03\x02\x02\x02\u01AD\u01AE\x07e\x02\x02\u01AE\u01AF\x07q\x02\x02\u01AF' +
1025
- '\u01B0\x07p\x02\x02\u01B0\u01B1\x07v\x02\x02\u01B1\u01B2\x07k\x02\x02' +
1026
- '\u01B2\u01B3\x07p\x02\x02\u01B3\u01B4\x07w\x02\x02\u01B4\u01B5\x07g\x02' +
1027
- '\x02\u01B5H\x03\x02\x02\x02\u01B6\u01B7\x07d\x02\x02\u01B7\u01B8\x07t' +
1028
- '\x02\x02\u01B8\u01B9\x07g\x02\x02\u01B9\u01BA\x07c\x02\x02\u01BA\u01BB' +
1029
- '\x07m\x02\x02\u01BBJ\x03\x02\x02\x02\u01BC\u01BD\x07c\x02\x02\u01BD\u01BE' +
1030
- '\x07u\x02\x02\u01BE\u01BF\x07{\x02\x02\u01BF\u01C0\x07p\x02\x02\u01C0' +
1031
- '\u01C1\x07e\x02\x02\u01C1L\x03\x02\x02\x02\u01C2\u01C3\x07c\x02\x02\u01C3' +
1032
- '\u01C4\x07y\x02\x02\u01C4\u01C5\x07c\x02\x02\u01C5\u01C6\x07k\x02\x02' +
1033
- '\u01C6\u01C7\x07v\x02\x02\u01C7N\x03\x02\x02\x02\u01C8\u01C9\x06(\x02' +
1034
- '\x02\u01C9\u01D5\x05\xF1y\x02\u01CA\u01CC\x07\x0F\x02\x02\u01CB\u01CA' +
1035
- '\x03\x02\x02\x02\u01CB\u01CC\x03\x02\x02\x02\u01CC\u01CD\x03\x02\x02\x02' +
1036
- '\u01CD\u01D0\x07\f\x02\x02\u01CE\u01D0\x07\x0F\x02\x02\u01CF\u01CB\x03' +
1037
- '\x02\x02\x02\u01CF\u01CE\x03\x02\x02\x02\u01D0\u01D2\x03\x02\x02\x02\u01D1' +
1038
- '\u01D3\x05\xF1y\x02\u01D2\u01D1\x03\x02\x02\x02\u01D2\u01D3\x03\x02\x02' +
1039
- '\x02\u01D3\u01D5\x03\x02\x02\x02\u01D4\u01C8\x03\x02\x02\x02\u01D4\u01CF' +
1040
- '\x03\x02\x02\x02\u01D5\u01D6\x03\x02\x02\x02\u01D6\u01D7\b(\x02\x02\u01D7' +
1041
- 'P\x03\x02\x02\x02\u01D8\u01DC\x05\xF7|\x02\u01D9\u01DB\x05\xF9}\x02\u01DA' +
1042
- '\u01D9\x03\x02\x02\x02\u01DB\u01DE\x03\x02\x02\x02\u01DC\u01DA\x03\x02' +
1043
- '\x02\x02\u01DC\u01DD\x03\x02\x02\x02\u01DDR\x03\x02\x02\x02\u01DE\u01DC' +
1044
- '\x03\x02\x02\x02\u01DF\u01E5\t\x02\x02\x02\u01E0\u01E1\t\x03\x02\x02\u01E1' +
1045
- '\u01E5\t\x04\x02\x02\u01E2\u01E3\t\x04\x02\x02\u01E3\u01E5\t\x03\x02\x02' +
1046
- '\u01E4\u01DF\x03\x02\x02\x02\u01E4\u01E0\x03\x02\x02\x02\u01E4\u01E2\x03' +
1047
- '\x02\x02\x02\u01E4\u01E5\x03\x02\x02\x02\u01E5\u01E8\x03\x02\x02\x02\u01E6' +
1048
- '\u01E9\x05\xC5c\x02\u01E7\u01E9\x05\xC7d\x02\u01E8\u01E6\x03\x02\x02\x02' +
1049
- '\u01E8\u01E7\x03\x02\x02\x02\u01E9T\x03\x02\x02\x02\u01EA\u01F0\t\x05' +
1050
- '\x02\x02\u01EB\u01EC\t\x05\x02\x02\u01EC\u01F0\t\x04\x02\x02\u01ED\u01EE' +
1051
- '\t\x04\x02\x02\u01EE\u01F0\t\x05\x02\x02\u01EF\u01EA\x03\x02\x02\x02\u01EF' +
1052
- '\u01EB\x03\x02\x02\x02\u01EF\u01ED\x03\x02\x02\x02\u01F0\u01F3\x03\x02' +
1053
- '\x02\x02\u01F1\u01F4\x05\xE3r\x02\u01F2\u01F4\x05\xE5s\x02\u01F3\u01F1' +
1054
- '\x03\x02\x02\x02\u01F3\u01F2\x03\x02\x02\x02\u01F4V\x03\x02\x02\x02\u01F5' +
1055
- '\u01F9\x05\xCFh\x02\u01F6\u01F8\x05\xD1i\x02\u01F7\u01F6\x03\x02\x02\x02' +
1056
- '\u01F8\u01FB\x03\x02\x02\x02\u01F9\u01F7\x03\x02\x02\x02\u01F9\u01FA\x03' +
1057
- '\x02\x02\x02\u01FA\u0202\x03\x02\x02\x02\u01FB\u01F9\x03\x02\x02\x02\u01FC' +
1058
- '\u01FE\x072\x02\x02\u01FD\u01FC\x03\x02\x02\x02\u01FE\u01FF\x03\x02\x02' +
1059
- '\x02\u01FF\u01FD\x03\x02\x02\x02\u01FF\u0200\x03\x02\x02\x02\u0200\u0202' +
1060
- '\x03\x02\x02\x02\u0201\u01F5\x03\x02\x02\x02\u0201\u01FD\x03\x02\x02\x02' +
1061
- '\u0202X\x03\x02\x02\x02\u0203\u0204\x072\x02\x02\u0204\u0206\t\x06\x02' +
1062
- '\x02\u0205\u0207\x05\xD3j\x02\u0206\u0205\x03\x02\x02\x02\u0207\u0208' +
1063
- '\x03\x02\x02\x02\u0208\u0206\x03\x02\x02\x02\u0208\u0209\x03\x02\x02\x02' +
1064
- '\u0209Z\x03\x02\x02\x02\u020A\u020B\x072\x02\x02\u020B\u020D\t\x07\x02' +
1065
- '\x02\u020C\u020E\x05\xD5k\x02\u020D\u020C\x03\x02\x02\x02\u020E\u020F' +
1066
- '\x03\x02\x02\x02\u020F\u020D\x03\x02\x02\x02\u020F\u0210\x03\x02\x02\x02' +
1067
- '\u0210\\\x03\x02\x02\x02\u0211\u0212\x072\x02\x02\u0212\u0214\t\x05\x02' +
1068
- '\x02\u0213\u0215\x05\xD7l\x02\u0214\u0213\x03\x02\x02\x02\u0215\u0216' +
1069
- '\x03\x02\x02\x02\u0216\u0214\x03\x02\x02\x02\u0216\u0217\x03\x02\x02\x02' +
1070
- '\u0217^\x03\x02\x02\x02\u0218\u021B\x05\xD9m\x02\u0219\u021B\x05\xDBn' +
1071
- '\x02\u021A\u0218\x03\x02\x02\x02\u021A\u0219\x03\x02\x02\x02\u021B`\x03' +
1072
- '\x02\x02\x02\u021C\u021F\x05_0\x02\u021D\u021F\x05\xDDo\x02\u021E\u021C' +
1073
- '\x03\x02\x02\x02\u021E\u021D\x03\x02\x02\x02\u021F\u0220\x03\x02\x02\x02' +
1074
- '\u0220\u0221\t\b\x02\x02\u0221b\x03\x02\x02\x02\u0222\u0223\x070\x02\x02' +
1075
- '\u0223d\x03\x02\x02\x02\u0224\u0225\x070\x02\x02\u0225\u0226\x070\x02' +
1076
- '\x02\u0226\u0227\x070\x02\x02\u0227f\x03\x02\x02\x02\u0228\u0229\x07,' +
1077
- '\x02\x02\u0229h\x03\x02\x02\x02\u022A\u022B\x07*\x02\x02\u022B\u022C\b' +
1078
- '5\x03\x02\u022Cj\x03\x02\x02\x02\u022D\u022E\x07+\x02\x02\u022E\u022F' +
1079
- '\b6\x04\x02\u022Fl\x03\x02\x02\x02\u0230\u0231\x07.\x02\x02\u0231n\x03' +
1080
- '\x02\x02\x02\u0232\u0233\x07<\x02\x02\u0233p\x03\x02\x02\x02\u0234\u0235' +
1081
- '\x07=\x02\x02\u0235r\x03\x02\x02\x02\u0236\u0237\x07,\x02\x02\u0237\u0238' +
1082
- '\x07,\x02\x02\u0238t\x03\x02\x02\x02\u0239\u023A\x07?\x02\x02\u023Av\x03' +
1083
- '\x02\x02\x02\u023B\u023C\x07]\x02\x02\u023C\u023D\b<\x05\x02\u023Dx\x03' +
1084
- '\x02\x02\x02\u023E\u023F\x07_\x02\x02\u023F\u0240\b=\x06\x02\u0240z\x03' +
1085
- '\x02\x02\x02\u0241\u0242\x07~\x02\x02\u0242|\x03\x02\x02\x02\u0243\u0244' +
1086
- '\x07`\x02\x02\u0244~\x03\x02\x02\x02\u0245\u0246\x07(\x02\x02\u0246\x80' +
1087
- '\x03\x02\x02\x02\u0247\u0248\x07>\x02\x02\u0248\u0249\x07>\x02\x02\u0249' +
1088
- '\x82\x03\x02\x02\x02\u024A\u024B\x07@\x02\x02\u024B\u024C\x07@\x02\x02' +
1089
- '\u024C\x84\x03\x02\x02\x02\u024D\u024E\x07-\x02\x02\u024E\x86\x03\x02' +
1090
- '\x02\x02\u024F\u0250\x07/\x02\x02\u0250\x88\x03\x02\x02\x02\u0251\u0252' +
1091
- "\x071\x02\x02\u0252\x8A\x03\x02\x02\x02\u0253\u0254\x07'\x02\x02\u0254" +
1092
- '\x8C\x03\x02\x02\x02\u0255\u0256\x071\x02\x02\u0256\u0257\x071\x02\x02' +
1093
- '\u0257\x8E\x03\x02\x02\x02\u0258\u0259\x07\x80\x02\x02\u0259\x90\x03\x02' +
1094
- '\x02\x02\u025A\u025B\x07}\x02\x02\u025B\u025C\bI\x07\x02\u025C\x92\x03' +
1095
- '\x02\x02\x02\u025D\u025E\x07\x7F\x02\x02\u025E\u025F\bJ\b\x02\u025F\x94' +
1096
- '\x03\x02\x02\x02\u0260\u0261\x07>\x02\x02\u0261\x96\x03\x02\x02\x02\u0262' +
1097
- '\u0263\x07@\x02\x02\u0263\x98\x03\x02\x02\x02\u0264\u0265\x07?\x02\x02' +
1098
- '\u0265\u0266\x07?\x02\x02\u0266\x9A\x03\x02\x02\x02\u0267\u0268\x07@\x02' +
1099
- '\x02\u0268\u0269\x07?\x02\x02\u0269\x9C\x03\x02\x02\x02\u026A\u026B\x07' +
1100
- '>\x02\x02\u026B\u026C\x07?\x02\x02\u026C\x9E\x03\x02\x02\x02\u026D\u026E' +
1101
- '\x07>\x02\x02\u026E\u026F\x07@\x02\x02\u026F\xA0\x03\x02\x02\x02\u0270' +
1102
- '\u0271\x07#\x02\x02\u0271\u0272\x07?\x02\x02\u0272\xA2\x03\x02\x02\x02' +
1103
- '\u0273\u0274\x07B\x02\x02\u0274\xA4\x03\x02\x02\x02\u0275\u0276\x07/\x02' +
1104
- '\x02\u0276\u0277\x07@\x02\x02\u0277\xA6\x03\x02\x02\x02\u0278\u0279\x07' +
1105
- '-\x02\x02\u0279\u027A\x07?\x02\x02\u027A\xA8\x03\x02\x02\x02\u027B\u027C' +
1106
- '\x07/\x02\x02\u027C\u027D\x07?\x02\x02\u027D\xAA\x03\x02\x02\x02\u027E' +
1107
- '\u027F\x07,\x02\x02\u027F\u0280\x07?\x02\x02\u0280\xAC\x03\x02\x02\x02' +
1108
- '\u0281\u0282\x07B\x02\x02\u0282\u0283\x07?\x02\x02\u0283\xAE\x03\x02\x02' +
1109
- '\x02\u0284\u0285\x071\x02\x02\u0285\u0286\x07?\x02\x02\u0286\xB0\x03\x02' +
1110
- "\x02\x02\u0287\u0288\x07'\x02\x02\u0288\u0289\x07?\x02\x02\u0289\xB2" +
1111
- '\x03\x02\x02\x02\u028A\u028B\x07(\x02\x02\u028B\u028C\x07?\x02\x02\u028C' +
1112
- '\xB4\x03\x02\x02\x02\u028D\u028E\x07~\x02\x02\u028E\u028F\x07?\x02\x02' +
1113
- '\u028F\xB6\x03\x02\x02\x02\u0290\u0291\x07`\x02\x02\u0291\u0292\x07?\x02' +
1114
- '\x02\u0292\xB8\x03\x02\x02\x02\u0293\u0294\x07>\x02\x02\u0294\u0295\x07' +
1115
- '>\x02\x02\u0295\u0296\x07?\x02\x02\u0296\xBA\x03\x02\x02\x02\u0297\u0298' +
1116
- '\x07@\x02\x02\u0298\u0299\x07@\x02\x02\u0299\u029A\x07?\x02\x02\u029A' +
1117
- '\xBC\x03\x02\x02\x02\u029B\u029C\x07,\x02\x02\u029C\u029D\x07,\x02\x02' +
1118
- '\u029D\u029E\x07?\x02\x02\u029E\xBE\x03\x02\x02\x02\u029F\u02A0\x071\x02' +
1119
- '\x02\u02A0\u02A1\x071\x02\x02\u02A1\u02A2\x07?\x02\x02\u02A2\xC0\x03\x02' +
1120
- '\x02\x02\u02A3\u02A7\x05\xF1y\x02\u02A4\u02A7\x05\xF3z\x02\u02A5\u02A7' +
1121
- '\x05\xF5{\x02\u02A6\u02A3\x03\x02\x02\x02\u02A6\u02A4\x03\x02\x02\x02' +
1122
- '\u02A6\u02A5\x03\x02\x02\x02\u02A7\u02A8\x03\x02\x02\x02\u02A8\u02A9\b' +
1123
- 'a\t\x02\u02A9\xC2\x03\x02\x02\x02\u02AA\u02AB\v\x02\x02\x02\u02AB\xC4' +
1124
- '\x03\x02\x02\x02\u02AC\u02B1\x07)\x02\x02\u02AD\u02B0\x05\xCDg\x02\u02AE' +
1125
- '\u02B0\n\t\x02\x02\u02AF\u02AD\x03\x02\x02\x02\u02AF\u02AE\x03\x02\x02' +
1126
- '\x02\u02B0\u02B3\x03\x02\x02\x02\u02B1\u02AF\x03\x02\x02\x02\u02B1\u02B2' +
1127
- '\x03\x02\x02\x02\u02B2\u02B4\x03\x02\x02\x02\u02B3\u02B1\x03\x02\x02\x02' +
1128
- '\u02B4\u02BF\x07)\x02\x02\u02B5\u02BA\x07$\x02\x02\u02B6\u02B9\x05\xCD' +
1129
- 'g\x02\u02B7\u02B9\n\n\x02\x02\u02B8\u02B6\x03\x02\x02\x02\u02B8\u02B7' +
1130
- '\x03\x02\x02\x02\u02B9\u02BC\x03\x02\x02\x02\u02BA\u02B8\x03\x02\x02\x02' +
1131
- '\u02BA\u02BB\x03\x02\x02\x02\u02BB\u02BD\x03\x02\x02\x02\u02BC\u02BA\x03' +
1132
- '\x02\x02\x02\u02BD\u02BF\x07$\x02\x02\u02BE\u02AC\x03\x02\x02\x02\u02BE' +
1133
- '\u02B5\x03\x02\x02\x02\u02BF\xC6\x03\x02\x02\x02\u02C0\u02C1\x07)\x02' +
1134
- '\x02\u02C1\u02C2\x07)\x02\x02\u02C2\u02C3\x07)\x02\x02\u02C3\u02C7\x03' +
1135
- '\x02\x02\x02\u02C4\u02C6\x05\xC9e\x02\u02C5\u02C4\x03\x02\x02\x02\u02C6' +
1136
- '\u02C9\x03\x02\x02\x02\u02C7\u02C8\x03\x02\x02\x02\u02C7\u02C5\x03\x02' +
1137
- '\x02\x02\u02C8\u02CA\x03\x02\x02\x02\u02C9\u02C7\x03\x02\x02\x02\u02CA' +
1138
- '\u02CB\x07)\x02\x02\u02CB\u02CC\x07)\x02\x02\u02CC\u02DB\x07)\x02\x02' +
1139
- '\u02CD\u02CE\x07$\x02\x02\u02CE\u02CF\x07$\x02\x02\u02CF\u02D0\x07$\x02' +
1140
- '\x02\u02D0\u02D4\x03\x02\x02\x02\u02D1\u02D3\x05\xC9e\x02\u02D2\u02D1' +
1141
- '\x03\x02\x02\x02\u02D3\u02D6\x03\x02\x02\x02\u02D4\u02D5\x03\x02\x02\x02' +
1142
- '\u02D4\u02D2\x03\x02\x02\x02\u02D5\u02D7\x03\x02\x02\x02\u02D6\u02D4\x03' +
1143
- '\x02\x02\x02\u02D7\u02D8\x07$\x02\x02\u02D8\u02D9\x07$\x02\x02\u02D9\u02DB' +
1144
- '\x07$\x02\x02\u02DA\u02C0\x03\x02\x02\x02\u02DA\u02CD\x03\x02\x02\x02' +
1145
- '\u02DB\xC8\x03\x02\x02\x02\u02DC\u02DF\x05\xCBf\x02\u02DD\u02DF\x05\xCD' +
1146
- 'g\x02\u02DE\u02DC\x03\x02\x02\x02\u02DE\u02DD\x03\x02\x02\x02\u02DF\xCA' +
1147
- '\x03\x02\x02\x02\u02E0\u02E1\n\v\x02\x02\u02E1\xCC\x03\x02\x02\x02\u02E2' +
1148
- '\u02E3\x07^\x02\x02\u02E3\u02E7\v\x02\x02\x02\u02E4\u02E5\x07^\x02\x02' +
1149
- '\u02E5\u02E7\x05O(\x02\u02E6\u02E2\x03\x02\x02\x02\u02E6\u02E4\x03\x02' +
1150
- '\x02\x02\u02E7\xCE\x03\x02\x02\x02\u02E8\u02E9\t\f\x02\x02\u02E9\xD0\x03' +
1151
- '\x02\x02\x02\u02EA\u02EB\t\r\x02\x02\u02EB\xD2\x03\x02\x02\x02\u02EC\u02ED' +
1152
- '\t\x0E\x02\x02\u02ED\xD4\x03\x02\x02\x02\u02EE\u02EF\t\x0F\x02\x02\u02EF' +
1153
- '\xD6\x03\x02\x02\x02\u02F0\u02F1\t\x10\x02\x02\u02F1\xD8\x03\x02\x02\x02' +
1154
- '\u02F2\u02F4\x05\xDDo\x02\u02F3\u02F2\x03\x02\x02\x02\u02F3\u02F4\x03' +
1155
- '\x02\x02\x02\u02F4\u02F5\x03\x02\x02\x02\u02F5\u02FA\x05\xDFp\x02\u02F6' +
1156
- '\u02F7\x05\xDDo\x02\u02F7\u02F8\x070\x02\x02\u02F8\u02FA\x03\x02\x02\x02' +
1157
- '\u02F9\u02F3\x03\x02\x02\x02\u02F9\u02F6\x03\x02\x02\x02\u02FA\xDA\x03' +
1158
- '\x02\x02\x02\u02FB\u02FE\x05\xDDo\x02\u02FC\u02FE\x05\xD9m\x02\u02FD\u02FB' +
1159
- '\x03\x02\x02\x02\u02FD\u02FC\x03\x02\x02\x02\u02FE\u02FF\x03\x02\x02\x02' +
1160
- '\u02FF\u0300\x05\xE1q\x02\u0300\xDC\x03\x02\x02\x02\u0301\u0303\x05\xD1' +
1161
- 'i\x02\u0302\u0301\x03\x02\x02\x02\u0303\u0304\x03\x02\x02\x02\u0304\u0302' +
1162
- '\x03\x02\x02\x02\u0304\u0305\x03\x02\x02\x02\u0305\xDE\x03\x02\x02\x02' +
1163
- '\u0306\u0308\x070\x02\x02\u0307\u0309\x05\xD1i\x02\u0308\u0307\x03\x02' +
1164
- '\x02\x02\u0309\u030A\x03\x02\x02\x02\u030A\u0308\x03\x02\x02\x02\u030A' +
1165
- '\u030B\x03\x02\x02\x02\u030B\xE0\x03\x02\x02\x02\u030C\u030E\t\x11\x02' +
1166
- '\x02\u030D\u030F\t\x12\x02\x02\u030E\u030D\x03\x02\x02\x02\u030E\u030F' +
1167
- '\x03\x02\x02\x02\u030F\u0311\x03\x02\x02\x02\u0310\u0312\x05\xD1i\x02' +
1168
- '\u0311\u0310\x03\x02\x02\x02\u0312\u0313\x03\x02\x02\x02\u0313\u0311\x03' +
1169
- '\x02\x02\x02\u0313\u0314\x03\x02\x02\x02\u0314\xE2\x03\x02\x02\x02\u0315' +
1170
- '\u031A\x07)\x02\x02\u0316\u0319\x05\xE9u\x02\u0317\u0319\x05\xEFx\x02' +
1171
- '\u0318\u0316\x03\x02\x02\x02\u0318\u0317\x03\x02\x02\x02\u0319\u031C\x03' +
1172
- '\x02\x02\x02\u031A\u0318\x03\x02\x02\x02\u031A\u031B\x03\x02\x02\x02\u031B' +
1173
- '\u031D\x03\x02\x02\x02\u031C\u031A\x03\x02\x02\x02\u031D\u0328\x07)\x02' +
1174
- '\x02\u031E\u0323\x07$\x02\x02\u031F\u0322\x05\xEBv\x02\u0320\u0322\x05' +
1175
- '\xEFx\x02\u0321\u031F\x03\x02\x02\x02\u0321\u0320\x03\x02\x02\x02\u0322' +
1176
- '\u0325\x03\x02\x02\x02\u0323\u0321\x03\x02\x02\x02\u0323\u0324\x03\x02' +
1177
- '\x02\x02\u0324\u0326\x03\x02\x02\x02\u0325\u0323\x03\x02\x02\x02\u0326' +
1178
- '\u0328\x07$\x02\x02\u0327\u0315\x03\x02\x02\x02\u0327\u031E\x03\x02\x02' +
1179
- '\x02\u0328\xE4\x03\x02\x02\x02\u0329\u032A\x07)\x02\x02\u032A\u032B\x07' +
1180
- ')\x02\x02\u032B\u032C\x07)\x02\x02\u032C\u0330\x03\x02\x02\x02\u032D\u032F' +
1181
- '\x05\xE7t\x02\u032E\u032D\x03\x02\x02\x02\u032F\u0332\x03\x02\x02\x02' +
1182
- '\u0330\u0331\x03\x02\x02\x02\u0330\u032E\x03\x02\x02\x02\u0331\u0333\x03' +
1183
- '\x02\x02\x02\u0332\u0330\x03\x02\x02\x02\u0333\u0334\x07)\x02\x02\u0334' +
1184
- '\u0335\x07)\x02\x02\u0335\u0344\x07)\x02\x02\u0336\u0337\x07$\x02\x02' +
1185
- '\u0337\u0338\x07$\x02\x02\u0338\u0339\x07$\x02\x02\u0339\u033D\x03\x02' +
1186
- '\x02\x02\u033A\u033C\x05\xE7t\x02\u033B\u033A\x03\x02\x02\x02\u033C\u033F' +
1187
- '\x03\x02\x02\x02\u033D\u033E\x03\x02\x02\x02\u033D\u033B\x03\x02\x02\x02' +
1188
- '\u033E\u0340\x03\x02\x02\x02\u033F\u033D\x03\x02\x02\x02\u0340\u0341\x07' +
1189
- '$\x02\x02\u0341\u0342\x07$\x02\x02\u0342\u0344\x07$\x02\x02\u0343\u0329' +
1190
- '\x03\x02\x02\x02\u0343\u0336\x03\x02\x02\x02\u0344\xE6\x03\x02\x02\x02' +
1191
- '\u0345\u0348\x05\xEDw\x02\u0346\u0348\x05\xEFx\x02\u0347\u0345\x03\x02' +
1192
- '\x02\x02\u0347\u0346\x03\x02\x02\x02\u0348\xE8\x03\x02\x02\x02\u0349\u034B' +
1193
- '\t\x13\x02\x02\u034A\u0349\x03\x02\x02\x02\u034B\xEA\x03\x02\x02\x02\u034C' +
1194
- '\u034E\t\x14\x02\x02\u034D\u034C\x03\x02\x02\x02\u034E\xEC\x03\x02\x02' +
1195
- '\x02\u034F\u0351\t\x15\x02\x02\u0350\u034F\x03\x02\x02\x02\u0351\xEE\x03' +
1196
- '\x02\x02\x02\u0352\u0353\x07^\x02\x02\u0353\u0354\t\x16\x02\x02\u0354' +
1197
- '\xF0\x03\x02\x02\x02\u0355\u0357\t\x17\x02\x02\u0356\u0355\x03\x02\x02' +
1198
- '\x02\u0357\u0358\x03\x02\x02\x02\u0358\u0356\x03\x02\x02\x02\u0358\u0359' +
1199
- '\x03\x02\x02\x02\u0359\xF2\x03\x02\x02\x02\u035A\u035E\x07%\x02\x02\u035B' +
1200
- '\u035D\n\x18\x02\x02\u035C\u035B\x03\x02\x02\x02\u035D\u0360\x03\x02\x02' +
1201
- '\x02\u035E\u035C\x03\x02\x02\x02\u035E\u035F\x03\x02\x02\x02\u035F\xF4' +
1202
- '\x03\x02\x02\x02\u0360\u035E\x03\x02\x02\x02\u0361\u0363\x07^\x02\x02' +
1203
- '\u0362\u0364\x05\xF1y\x02\u0363\u0362\x03\x02\x02\x02\u0363\u0364\x03' +
1204
- '\x02\x02\x02\u0364\u036A\x03\x02\x02\x02\u0365\u0367\x07\x0F\x02\x02\u0366' +
1205
- '\u0365\x03\x02\x02\x02\u0366\u0367\x03\x02\x02\x02\u0367\u0368\x03\x02' +
1206
- '\x02\x02\u0368\u036B\x07\f\x02\x02\u0369\u036B\x04\x0E\x0F\x02\u036A\u0366' +
1207
- '\x03\x02\x02\x02\u036A\u0369\x03\x02\x02\x02\u036B\xF6\x03\x02\x02\x02' +
1208
- '\u036C\u036E\t\x19\x02\x02\u036D\u036C\x03\x02\x02\x02\u036E\xF8\x03\x02' +
1209
- '\x02\x02\u036F\u0372\x05\xF7|\x02\u0370\u0372\t\x1A\x02\x02\u0371\u036F' +
1210
- '\x03\x02\x02\x02\u0371\u0370\x03\x02\x02\x02\u0372\xFA\x03\x02\x02\x02' +
1211
- '<\x02\xFD\u0102\u0108\u01CB\u01CF\u01D2\u01D4\u01DC\u01E4\u01E8\u01EF' +
1212
- '\u01F3\u01F9\u01FF\u0201\u0208\u020F\u0216\u021A\u021E\u02A6\u02AF\u02B1' +
1213
- '\u02B8\u02BA\u02BE\u02C7\u02D4\u02DA\u02DE\u02E6\u02F3\u02F9\u02FD\u0304' +
1214
- '\u030A\u030E\u0313\u0318\u031A\u0321\u0323\u0327\u0330\u033D\u0343\u0347' +
1215
- '\u034A\u034D\u0350\u0358\u035E\u0363\u0366\u036A\u036D\u0371\n\x03(\x02' +
1216
- '\x035\x03\x036\x04\x03<\x05\x03=\x06\x03I\x07\x03J\b\b\x02\x02';
1217
- Python3Lexer._serializedATN = Utils.join([Python3Lexer._serializedATNSegment0, Python3Lexer._serializedATNSegment1], '');
1218
- __decorate([
1219
- Decorators_1.Override
1220
- ], Python3Lexer.prototype, "reset", null);
1221
- __decorate([
1222
- Decorators_1.Override
1223
- ], Python3Lexer.prototype, "emit", null);
1224
- __decorate([
1225
- Decorators_1.Override
1226
- ], Python3Lexer.prototype, "nextToken", null);
1227
- exports.Python3Lexer = Python3Lexer;
1
+ "use strict";
2
+ // Generated from fontes\tradutores\python\Python3.g4 by ANTLR 4.9.0-SNAPSHOT
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
20
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
21
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
22
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
23
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
24
+ };
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.Python3Lexer = void 0;
34
+ const Token_1 = require("antlr4ts/Token");
35
+ const CommonToken_1 = require("antlr4ts/CommonToken");
36
+ const python3_parser_1 = require("./python3-parser");
37
+ const ATNDeserializer_1 = require("antlr4ts/atn/ATNDeserializer");
38
+ const Lexer_1 = require("antlr4ts/Lexer");
39
+ const LexerATNSimulator_1 = require("antlr4ts/atn/LexerATNSimulator");
40
+ const Decorators_1 = require("antlr4ts/Decorators");
41
+ const VocabularyImpl_1 = require("antlr4ts/VocabularyImpl");
42
+ const Utils = __importStar(require("antlr4ts/misc/Utils"));
43
+ class Python3Lexer extends Lexer_1.Lexer {
44
+ // @Override
45
+ // @NotNull
46
+ get vocabulary() {
47
+ return Python3Lexer.VOCABULARY;
48
+ }
49
+ reset() {
50
+ // A queue where extra tokens are pushed on (see the NEWLINE lexer rule).
51
+ this.token_queue = [];
52
+ // The stack that keeps track of the indentation level.
53
+ this.indents = [];
54
+ // The amount of opened braces, brackets and parenthesis.
55
+ this.opened = 0;
56
+ super.reset();
57
+ }
58
+ emit(token) {
59
+ if (token) {
60
+ token = super.emit(token);
61
+ }
62
+ else {
63
+ token = super.emit();
64
+ }
65
+ this.token_queue.push(token);
66
+ return token;
67
+ }
68
+ /**
69
+ * Return the next token from the character stream and records this last
70
+ * token in case it resides on the default channel. This recorded token
71
+ * is used to determine when the lexer could possibly match a regex
72
+ * literal.
73
+ *
74
+ */
75
+ nextToken() {
76
+ // Check if the end-of-file is ahead and there are still some DEDENTS expected.
77
+ if (this.inputStream.LA(1) === python3_parser_1.Python3Parser.EOF && this.indents.length) {
78
+ // Remove any trailing EOF tokens from our buffer.
79
+ this.token_queue = this.token_queue.filter(function (val) {
80
+ return val.type !== python3_parser_1.Python3Parser.EOF;
81
+ });
82
+ // First emit an extra line break that serves as the end of the statement.
83
+ this.emit(this.commonToken(python3_parser_1.Python3Parser.NEWLINE, '\n'));
84
+ // Now emit as much DEDENT tokens as needed.
85
+ while (this.indents.length) {
86
+ this.emit(this.createDedent());
87
+ this.indents.pop();
88
+ }
89
+ // Put the EOF back on the token stream.
90
+ this.emit(this.commonToken(python3_parser_1.Python3Parser.EOF, '<EOF>'));
91
+ }
92
+ let next = super.nextToken();
93
+ if (next.channel == Token_1.Token.DEFAULT_CHANNEL) {
94
+ // Keep track of the last token on the default channel.
95
+ this.last_token = next;
96
+ }
97
+ return this.token_queue.shift() || next;
98
+ }
99
+ createDedent() {
100
+ let dedent = this.commonToken(python3_parser_1.Python3Parser.DEDENT, '');
101
+ if (this.last_token) {
102
+ dedent.line = this.last_token.line;
103
+ }
104
+ return dedent;
105
+ }
106
+ commonToken(type, text) {
107
+ let stop = this.charIndex - 1;
108
+ let start = text.length ? stop - text.length + 1 : stop;
109
+ return new CommonToken_1.CommonToken(type, text, this._tokenFactorySourcePair, Lexer_1.Lexer.DEFAULT_TOKEN_CHANNEL, start, stop);
110
+ }
111
+ // Calculates the indentation of the provided spaces, taking the
112
+ // following rules into account:
113
+ //
114
+ // "Tabs are replaced (from left to right) by one to eight spaces
115
+ // such that the total number of characters up to and including
116
+ // the replacement is a multiple of eight [...]"
117
+ //
118
+ // -- https://docs.python.org/3.1/reference/lexical_analysis.html#indentation
119
+ getIndentationCount(whitespace) {
120
+ let count = 0;
121
+ for (let i = 0; i < whitespace.length; i++) {
122
+ if (whitespace[i] === '\t') {
123
+ count += 8 - (count % 8);
124
+ }
125
+ else {
126
+ count++;
127
+ }
128
+ }
129
+ return count;
130
+ }
131
+ atStartOfInput() {
132
+ return this.charIndex === 0;
133
+ }
134
+ constructor(input) {
135
+ super(input);
136
+ // tslint:enable:no-trailing-whitespace
137
+ this.token_queue = [];
138
+ this.indents = [];
139
+ this.opened = 0;
140
+ this.last_token = undefined;
141
+ this._interp = new LexerATNSimulator_1.LexerATNSimulator(Python3Lexer._ATN, this);
142
+ }
143
+ // @Override
144
+ get grammarFileName() {
145
+ return 'Python3.g4';
146
+ }
147
+ // @Override
148
+ get ruleNames() {
149
+ return Python3Lexer.ruleNames;
150
+ }
151
+ // @Override
152
+ get serializedATN() {
153
+ return Python3Lexer._serializedATN;
154
+ }
155
+ // @Override
156
+ get channelNames() {
157
+ return Python3Lexer.channelNames;
158
+ }
159
+ // @Override
160
+ get modeNames() {
161
+ return Python3Lexer.modeNames;
162
+ }
163
+ // @Override
164
+ action(_localctx, ruleIndex, actionIndex) {
165
+ switch (ruleIndex) {
166
+ case 38:
167
+ this.NEWLINE_action(_localctx, actionIndex);
168
+ break;
169
+ case 51:
170
+ this.OPEN_PAREN_action(_localctx, actionIndex);
171
+ break;
172
+ case 52:
173
+ this.CLOSE_PAREN_action(_localctx, actionIndex);
174
+ break;
175
+ case 58:
176
+ this.OPEN_BRACK_action(_localctx, actionIndex);
177
+ break;
178
+ case 59:
179
+ this.CLOSE_BRACK_action(_localctx, actionIndex);
180
+ break;
181
+ case 71:
182
+ this.OPEN_BRACE_action(_localctx, actionIndex);
183
+ break;
184
+ case 72:
185
+ this.CLOSE_BRACE_action(_localctx, actionIndex);
186
+ break;
187
+ }
188
+ }
189
+ NEWLINE_action(_localctx, actionIndex) {
190
+ switch (actionIndex) {
191
+ case 0:
192
+ let newLine = this.text.replace(/[^\r\n]+/g, '');
193
+ let spaces = this.text.replace(/[\r\n]+/g, '');
194
+ // Strip newlines inside open clauses except if we are near EOF. We keep NEWLINEs near EOF to
195
+ // satisfy the final newline needed by the single_put rule used by the REPL.
196
+ let next = this.inputStream.LA(1);
197
+ let nextnext = this.inputStream.LA(2);
198
+ if (this.opened > 0 ||
199
+ (nextnext != -1 /* EOF */ &&
200
+ (next === 13 /* '\r' */ || next === 10 /* '\n' */ || next === 35)) /* '#' */) {
201
+ // If we're inside a list or on a blank line, ignore all indents,
202
+ // dedents and line breaks.
203
+ this.skip();
204
+ }
205
+ else {
206
+ this.emit(this.commonToken(python3_parser_1.Python3Parser.NEWLINE, newLine));
207
+ let indent = this.getIndentationCount(spaces);
208
+ let previous = this.indents.length ? this.indents[this.indents.length - 1] : 0;
209
+ if (indent === previous) {
210
+ // skip indents of the same size as the present indent-size
211
+ this.skip();
212
+ }
213
+ else if (indent > previous) {
214
+ this.indents.push(indent);
215
+ this.emit(this.commonToken(python3_parser_1.Python3Parser.INDENT, spaces));
216
+ }
217
+ else {
218
+ // Possibly emit more than 1 DEDENT token.
219
+ while (this.indents.length && this.indents[this.indents.length - 1] > indent) {
220
+ this.emit(this.createDedent());
221
+ this.indents.pop();
222
+ }
223
+ }
224
+ }
225
+ break;
226
+ }
227
+ }
228
+ OPEN_PAREN_action(_localctx, actionIndex) {
229
+ switch (actionIndex) {
230
+ case 1:
231
+ this.opened++;
232
+ break;
233
+ }
234
+ }
235
+ CLOSE_PAREN_action(_localctx, actionIndex) {
236
+ switch (actionIndex) {
237
+ case 2:
238
+ this.opened--;
239
+ break;
240
+ }
241
+ }
242
+ OPEN_BRACK_action(_localctx, actionIndex) {
243
+ switch (actionIndex) {
244
+ case 3:
245
+ this.opened++;
246
+ break;
247
+ }
248
+ }
249
+ CLOSE_BRACK_action(_localctx, actionIndex) {
250
+ switch (actionIndex) {
251
+ case 4:
252
+ this.opened--;
253
+ break;
254
+ }
255
+ }
256
+ OPEN_BRACE_action(_localctx, actionIndex) {
257
+ switch (actionIndex) {
258
+ case 5:
259
+ this.opened++;
260
+ break;
261
+ }
262
+ }
263
+ CLOSE_BRACE_action(_localctx, actionIndex) {
264
+ switch (actionIndex) {
265
+ case 6:
266
+ this.opened--;
267
+ break;
268
+ }
269
+ }
270
+ // @Override
271
+ sempred(_localctx, ruleIndex, predIndex) {
272
+ switch (ruleIndex) {
273
+ case 38:
274
+ return this.NEWLINE_sempred(_localctx, predIndex);
275
+ }
276
+ return true;
277
+ }
278
+ NEWLINE_sempred(_localctx, predIndex) {
279
+ switch (predIndex) {
280
+ case 0:
281
+ return this.atStartOfInput();
282
+ }
283
+ return true;
284
+ }
285
+ static get _ATN() {
286
+ if (!Python3Lexer.__ATN) {
287
+ Python3Lexer.__ATN = new ATNDeserializer_1.ATNDeserializer().deserialize(Utils.toCharArray(Python3Lexer._serializedATN));
288
+ }
289
+ return Python3Lexer.__ATN;
290
+ }
291
+ }
292
+ exports.Python3Lexer = Python3Lexer;
293
+ Python3Lexer.STRING = 1;
294
+ Python3Lexer.NUMBER = 2;
295
+ Python3Lexer.INTEGER = 3;
296
+ Python3Lexer.DEF = 4;
297
+ Python3Lexer.RETURN = 5;
298
+ Python3Lexer.RAISE = 6;
299
+ Python3Lexer.FROM = 7;
300
+ Python3Lexer.IMPORT = 8;
301
+ Python3Lexer.AS = 9;
302
+ Python3Lexer.GLOBAL = 10;
303
+ Python3Lexer.NONLOCAL = 11;
304
+ Python3Lexer.ASSERT = 12;
305
+ Python3Lexer.IF = 13;
306
+ Python3Lexer.ELIF = 14;
307
+ Python3Lexer.ELSE = 15;
308
+ Python3Lexer.WHILE = 16;
309
+ Python3Lexer.FOR = 17;
310
+ Python3Lexer.IN = 18;
311
+ Python3Lexer.TRY = 19;
312
+ Python3Lexer.FINALLY = 20;
313
+ Python3Lexer.WITH = 21;
314
+ Python3Lexer.EXCEPT = 22;
315
+ Python3Lexer.LAMBDA = 23;
316
+ Python3Lexer.OR = 24;
317
+ Python3Lexer.AND = 25;
318
+ Python3Lexer.NOT = 26;
319
+ Python3Lexer.IS = 27;
320
+ Python3Lexer.NONE = 28;
321
+ Python3Lexer.TRUE = 29;
322
+ Python3Lexer.FALSE = 30;
323
+ Python3Lexer.CLASS = 31;
324
+ Python3Lexer.YIELD = 32;
325
+ Python3Lexer.DEL = 33;
326
+ Python3Lexer.PASS = 34;
327
+ Python3Lexer.CONTINUE = 35;
328
+ Python3Lexer.BREAK = 36;
329
+ Python3Lexer.ASYNC = 37;
330
+ Python3Lexer.AWAIT = 38;
331
+ Python3Lexer.NEWLINE = 39;
332
+ Python3Lexer.NAME = 40;
333
+ Python3Lexer.STRING_LITERAL = 41;
334
+ Python3Lexer.BYTES_LITERAL = 42;
335
+ Python3Lexer.DECIMAL_INTEGER = 43;
336
+ Python3Lexer.OCT_INTEGER = 44;
337
+ Python3Lexer.HEX_INTEGER = 45;
338
+ Python3Lexer.BIN_INTEGER = 46;
339
+ Python3Lexer.FLOAT_NUMBER = 47;
340
+ Python3Lexer.IMAG_NUMBER = 48;
341
+ Python3Lexer.DOT = 49;
342
+ Python3Lexer.ELLIPSIS = 50;
343
+ Python3Lexer.STAR = 51;
344
+ Python3Lexer.OPEN_PAREN = 52;
345
+ Python3Lexer.CLOSE_PAREN = 53;
346
+ Python3Lexer.COMMA = 54;
347
+ Python3Lexer.COLON = 55;
348
+ Python3Lexer.SEMI_COLON = 56;
349
+ Python3Lexer.POWER = 57;
350
+ Python3Lexer.ASSIGN = 58;
351
+ Python3Lexer.OPEN_BRACK = 59;
352
+ Python3Lexer.CLOSE_BRACK = 60;
353
+ Python3Lexer.OR_OP = 61;
354
+ Python3Lexer.XOR = 62;
355
+ Python3Lexer.AND_OP = 63;
356
+ Python3Lexer.LEFT_SHIFT = 64;
357
+ Python3Lexer.RIGHT_SHIFT = 65;
358
+ Python3Lexer.ADD = 66;
359
+ Python3Lexer.MINUS = 67;
360
+ Python3Lexer.DIV = 68;
361
+ Python3Lexer.MOD = 69;
362
+ Python3Lexer.IDIV = 70;
363
+ Python3Lexer.NOT_OP = 71;
364
+ Python3Lexer.OPEN_BRACE = 72;
365
+ Python3Lexer.CLOSE_BRACE = 73;
366
+ Python3Lexer.LESS_THAN = 74;
367
+ Python3Lexer.GREATER_THAN = 75;
368
+ Python3Lexer.EQUALS = 76;
369
+ Python3Lexer.GT_EQ = 77;
370
+ Python3Lexer.LT_EQ = 78;
371
+ Python3Lexer.NOT_EQ_1 = 79;
372
+ Python3Lexer.NOT_EQ_2 = 80;
373
+ Python3Lexer.AT = 81;
374
+ Python3Lexer.ARROW = 82;
375
+ Python3Lexer.ADD_ASSIGN = 83;
376
+ Python3Lexer.SUB_ASSIGN = 84;
377
+ Python3Lexer.MULT_ASSIGN = 85;
378
+ Python3Lexer.AT_ASSIGN = 86;
379
+ Python3Lexer.DIV_ASSIGN = 87;
380
+ Python3Lexer.MOD_ASSIGN = 88;
381
+ Python3Lexer.AND_ASSIGN = 89;
382
+ Python3Lexer.OR_ASSIGN = 90;
383
+ Python3Lexer.XOR_ASSIGN = 91;
384
+ Python3Lexer.LEFT_SHIFT_ASSIGN = 92;
385
+ Python3Lexer.RIGHT_SHIFT_ASSIGN = 93;
386
+ Python3Lexer.POWER_ASSIGN = 94;
387
+ Python3Lexer.IDIV_ASSIGN = 95;
388
+ Python3Lexer.SKIP_ = 96;
389
+ Python3Lexer.UNKNOWN_CHAR = 97;
390
+ // tslint:disable:no-trailing-whitespace
391
+ Python3Lexer.channelNames = ['DEFAULT_TOKEN_CHANNEL', 'HIDDEN'];
392
+ // tslint:disable:no-trailing-whitespace
393
+ Python3Lexer.modeNames = ['DEFAULT_MODE'];
394
+ Python3Lexer.ruleNames = [
395
+ 'STRING',
396
+ 'NUMBER',
397
+ 'INTEGER',
398
+ 'DEF',
399
+ 'RETURN',
400
+ 'RAISE',
401
+ 'FROM',
402
+ 'IMPORT',
403
+ 'AS',
404
+ 'GLOBAL',
405
+ 'NONLOCAL',
406
+ 'ASSERT',
407
+ 'IF',
408
+ 'ELIF',
409
+ 'ELSE',
410
+ 'WHILE',
411
+ 'FOR',
412
+ 'IN',
413
+ 'TRY',
414
+ 'FINALLY',
415
+ 'WITH',
416
+ 'EXCEPT',
417
+ 'LAMBDA',
418
+ 'OR',
419
+ 'AND',
420
+ 'NOT',
421
+ 'IS',
422
+ 'NONE',
423
+ 'TRUE',
424
+ 'FALSE',
425
+ 'CLASS',
426
+ 'YIELD',
427
+ 'DEL',
428
+ 'PASS',
429
+ 'CONTINUE',
430
+ 'BREAK',
431
+ 'ASYNC',
432
+ 'AWAIT',
433
+ 'NEWLINE',
434
+ 'NAME',
435
+ 'STRING_LITERAL',
436
+ 'BYTES_LITERAL',
437
+ 'DECIMAL_INTEGER',
438
+ 'OCT_INTEGER',
439
+ 'HEX_INTEGER',
440
+ 'BIN_INTEGER',
441
+ 'FLOAT_NUMBER',
442
+ 'IMAG_NUMBER',
443
+ 'DOT',
444
+ 'ELLIPSIS',
445
+ 'STAR',
446
+ 'OPEN_PAREN',
447
+ 'CLOSE_PAREN',
448
+ 'COMMA',
449
+ 'COLON',
450
+ 'SEMI_COLON',
451
+ 'POWER',
452
+ 'ASSIGN',
453
+ 'OPEN_BRACK',
454
+ 'CLOSE_BRACK',
455
+ 'OR_OP',
456
+ 'XOR',
457
+ 'AND_OP',
458
+ 'LEFT_SHIFT',
459
+ 'RIGHT_SHIFT',
460
+ 'ADD',
461
+ 'MINUS',
462
+ 'DIV',
463
+ 'MOD',
464
+ 'IDIV',
465
+ 'NOT_OP',
466
+ 'OPEN_BRACE',
467
+ 'CLOSE_BRACE',
468
+ 'LESS_THAN',
469
+ 'GREATER_THAN',
470
+ 'EQUALS',
471
+ 'GT_EQ',
472
+ 'LT_EQ',
473
+ 'NOT_EQ_1',
474
+ 'NOT_EQ_2',
475
+ 'AT',
476
+ 'ARROW',
477
+ 'ADD_ASSIGN',
478
+ 'SUB_ASSIGN',
479
+ 'MULT_ASSIGN',
480
+ 'AT_ASSIGN',
481
+ 'DIV_ASSIGN',
482
+ 'MOD_ASSIGN',
483
+ 'AND_ASSIGN',
484
+ 'OR_ASSIGN',
485
+ 'XOR_ASSIGN',
486
+ 'LEFT_SHIFT_ASSIGN',
487
+ 'RIGHT_SHIFT_ASSIGN',
488
+ 'POWER_ASSIGN',
489
+ 'IDIV_ASSIGN',
490
+ 'SKIP_',
491
+ 'UNKNOWN_CHAR',
492
+ 'SHORT_STRING',
493
+ 'LONG_STRING',
494
+ 'LONG_STRING_ITEM',
495
+ 'LONG_STRING_CHAR',
496
+ 'STRING_ESCAPE_SEQ',
497
+ 'NON_ZERO_DIGIT',
498
+ 'DIGIT',
499
+ 'OCT_DIGIT',
500
+ 'HEX_DIGIT',
501
+ 'BIN_DIGIT',
502
+ 'POINT_FLOAT',
503
+ 'EXPONENT_FLOAT',
504
+ 'INT_PART',
505
+ 'FRACTION',
506
+ 'EXPONENT',
507
+ 'SHORT_BYTES',
508
+ 'LONG_BYTES',
509
+ 'LONG_BYTES_ITEM',
510
+ 'SHORT_BYTES_CHAR_NO_SINGLE_QUOTE',
511
+ 'SHORT_BYTES_CHAR_NO_DOUBLE_QUOTE',
512
+ 'LONG_BYTES_CHAR',
513
+ 'BYTES_ESCAPE_SEQ',
514
+ 'SPACES',
515
+ 'COMMENT',
516
+ 'LINE_JOINING',
517
+ 'ID_START',
518
+ 'ID_CONTINUE',
519
+ ];
520
+ Python3Lexer._LITERAL_NAMES = [
521
+ undefined,
522
+ undefined,
523
+ undefined,
524
+ undefined,
525
+ "'def'",
526
+ "'return'",
527
+ "'raise'",
528
+ "'from'",
529
+ "'import'",
530
+ "'as'",
531
+ "'global'",
532
+ "'nonlocal'",
533
+ "'assert'",
534
+ "'if'",
535
+ "'elif'",
536
+ "'else'",
537
+ "'while'",
538
+ "'for'",
539
+ "'in'",
540
+ "'try'",
541
+ "'finally'",
542
+ "'with'",
543
+ "'except'",
544
+ "'lambda'",
545
+ "'or'",
546
+ "'and'",
547
+ "'not'",
548
+ "'is'",
549
+ "'None'",
550
+ "'True'",
551
+ "'False'",
552
+ "'class'",
553
+ "'yield'",
554
+ "'del'",
555
+ "'pass'",
556
+ "'continue'",
557
+ "'break'",
558
+ "'async'",
559
+ "'await'",
560
+ undefined,
561
+ undefined,
562
+ undefined,
563
+ undefined,
564
+ undefined,
565
+ undefined,
566
+ undefined,
567
+ undefined,
568
+ undefined,
569
+ undefined,
570
+ "'.'",
571
+ "'...'",
572
+ "'*'",
573
+ "'('",
574
+ "')'",
575
+ "','",
576
+ "':'",
577
+ "';'",
578
+ "'**'",
579
+ "'='",
580
+ "'['",
581
+ "']'",
582
+ "'|'",
583
+ "'^'",
584
+ "'&'",
585
+ "'<<'",
586
+ "'>>'",
587
+ "'+'",
588
+ "'-'",
589
+ "'/'",
590
+ "'%'",
591
+ "'//'",
592
+ "'~'",
593
+ "'{'",
594
+ "'}'",
595
+ "'<'",
596
+ "'>'",
597
+ "'=='",
598
+ "'>='",
599
+ "'<='",
600
+ "'<>'",
601
+ "'!='",
602
+ "'@'",
603
+ "'->'",
604
+ "'+='",
605
+ "'-='",
606
+ "'*='",
607
+ "'@='",
608
+ "'/='",
609
+ "'%='",
610
+ "'&='",
611
+ "'|='",
612
+ "'^='",
613
+ "'<<='",
614
+ "'>>='",
615
+ "'**='",
616
+ "'//='",
617
+ ];
618
+ Python3Lexer._SYMBOLIC_NAMES = [
619
+ undefined,
620
+ 'STRING',
621
+ 'NUMBER',
622
+ 'INTEGER',
623
+ 'DEF',
624
+ 'RETURN',
625
+ 'RAISE',
626
+ 'FROM',
627
+ 'IMPORT',
628
+ 'AS',
629
+ 'GLOBAL',
630
+ 'NONLOCAL',
631
+ 'ASSERT',
632
+ 'IF',
633
+ 'ELIF',
634
+ 'ELSE',
635
+ 'WHILE',
636
+ 'FOR',
637
+ 'IN',
638
+ 'TRY',
639
+ 'FINALLY',
640
+ 'WITH',
641
+ 'EXCEPT',
642
+ 'LAMBDA',
643
+ 'OR',
644
+ 'AND',
645
+ 'NOT',
646
+ 'IS',
647
+ 'NONE',
648
+ 'TRUE',
649
+ 'FALSE',
650
+ 'CLASS',
651
+ 'YIELD',
652
+ 'DEL',
653
+ 'PASS',
654
+ 'CONTINUE',
655
+ 'BREAK',
656
+ 'ASYNC',
657
+ 'AWAIT',
658
+ 'NEWLINE',
659
+ 'NAME',
660
+ 'STRING_LITERAL',
661
+ 'BYTES_LITERAL',
662
+ 'DECIMAL_INTEGER',
663
+ 'OCT_INTEGER',
664
+ 'HEX_INTEGER',
665
+ 'BIN_INTEGER',
666
+ 'FLOAT_NUMBER',
667
+ 'IMAG_NUMBER',
668
+ 'DOT',
669
+ 'ELLIPSIS',
670
+ 'STAR',
671
+ 'OPEN_PAREN',
672
+ 'CLOSE_PAREN',
673
+ 'COMMA',
674
+ 'COLON',
675
+ 'SEMI_COLON',
676
+ 'POWER',
677
+ 'ASSIGN',
678
+ 'OPEN_BRACK',
679
+ 'CLOSE_BRACK',
680
+ 'OR_OP',
681
+ 'XOR',
682
+ 'AND_OP',
683
+ 'LEFT_SHIFT',
684
+ 'RIGHT_SHIFT',
685
+ 'ADD',
686
+ 'MINUS',
687
+ 'DIV',
688
+ 'MOD',
689
+ 'IDIV',
690
+ 'NOT_OP',
691
+ 'OPEN_BRACE',
692
+ 'CLOSE_BRACE',
693
+ 'LESS_THAN',
694
+ 'GREATER_THAN',
695
+ 'EQUALS',
696
+ 'GT_EQ',
697
+ 'LT_EQ',
698
+ 'NOT_EQ_1',
699
+ 'NOT_EQ_2',
700
+ 'AT',
701
+ 'ARROW',
702
+ 'ADD_ASSIGN',
703
+ 'SUB_ASSIGN',
704
+ 'MULT_ASSIGN',
705
+ 'AT_ASSIGN',
706
+ 'DIV_ASSIGN',
707
+ 'MOD_ASSIGN',
708
+ 'AND_ASSIGN',
709
+ 'OR_ASSIGN',
710
+ 'XOR_ASSIGN',
711
+ 'LEFT_SHIFT_ASSIGN',
712
+ 'RIGHT_SHIFT_ASSIGN',
713
+ 'POWER_ASSIGN',
714
+ 'IDIV_ASSIGN',
715
+ 'SKIP_',
716
+ 'UNKNOWN_CHAR',
717
+ ];
718
+ Python3Lexer.VOCABULARY = new VocabularyImpl_1.VocabularyImpl(Python3Lexer._LITERAL_NAMES, Python3Lexer._SYMBOLIC_NAMES, []);
719
+ Python3Lexer._serializedATNSegments = 2;
720
+ Python3Lexer._serializedATNSegment0 = '\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02c\u0373\b\x01' +
721
+ '\x04\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06' +
722
+ '\x04\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r' +
723
+ '\t\r\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t' +
724
+ '\x12\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t' +
725
+ '\x17\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t' +
726
+ '\x1C\x04\x1D\t\x1D\x04\x1E\t\x1E\x04\x1F\t\x1F\x04 \t \x04!\t!\x04"\t' +
727
+ "\"\x04#\t#\x04$\t$\x04%\t%\x04&\t&\x04'\t'\x04(\t(\x04)\t)\x04*\t*\x04" +
728
+ '+\t+\x04,\t,\x04-\t-\x04.\t.\x04/\t/\x040\t0\x041\t1\x042\t2\x043\t3\x04' +
729
+ '4\t4\x045\t5\x046\t6\x047\t7\x048\t8\x049\t9\x04:\t:\x04;\t;\x04<\t<\x04' +
730
+ '=\t=\x04>\t>\x04?\t?\x04@\t@\x04A\tA\x04B\tB\x04C\tC\x04D\tD\x04E\tE\x04' +
731
+ 'F\tF\x04G\tG\x04H\tH\x04I\tI\x04J\tJ\x04K\tK\x04L\tL\x04M\tM\x04N\tN\x04' +
732
+ 'O\tO\x04P\tP\x04Q\tQ\x04R\tR\x04S\tS\x04T\tT\x04U\tU\x04V\tV\x04W\tW\x04' +
733
+ 'X\tX\x04Y\tY\x04Z\tZ\x04[\t[\x04\\\t\\\x04]\t]\x04^\t^\x04_\t_\x04`\t' +
734
+ '`\x04a\ta\x04b\tb\x04c\tc\x04d\td\x04e\te\x04f\tf\x04g\tg\x04h\th\x04' +
735
+ 'i\ti\x04j\tj\x04k\tk\x04l\tl\x04m\tm\x04n\tn\x04o\to\x04p\tp\x04q\tq\x04' +
736
+ 'r\tr\x04s\ts\x04t\tt\x04u\tu\x04v\tv\x04w\tw\x04x\tx\x04y\ty\x04z\tz\x04' +
737
+ '{\t{\x04|\t|\x04}\t}\x03\x02\x03\x02\x05\x02\xFE\n\x02\x03\x03\x03\x03' +
738
+ '\x03\x03\x05\x03\u0103\n\x03\x03\x04\x03\x04\x03\x04\x03\x04\x05\x04\u0109' +
739
+ '\n\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03\x06\x03\x06\x03\x06\x03\x06' +
740
+ '\x03\x06\x03\x06\x03\x06\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07' +
741
+ '\x03\b\x03\b\x03\b\x03\b\x03\b\x03\t\x03\t\x03\t\x03\t\x03\t\x03\t\x03' +
742
+ '\t\x03\n\x03\n\x03\n\x03\v\x03\v\x03\v\x03\v\x03\v\x03\v\x03\v\x03\f\x03' +
743
+ '\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\f\x03\r\x03\r\x03\r\x03\r\x03' +
744
+ '\r\x03\r\x03\r\x03\x0E\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x0F\x03\x0F' +
745
+ '\x03\x0F\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03\x11\x03\x11\x03\x11' +
746
+ '\x03\x11\x03\x11\x03\x11\x03\x12\x03\x12\x03\x12\x03\x12\x03\x13\x03\x13' +
747
+ '\x03\x13\x03\x14\x03\x14\x03\x14\x03\x14\x03\x15\x03\x15\x03\x15\x03\x15' +
748
+ '\x03\x15\x03\x15\x03\x15\x03\x15\x03\x16\x03\x16\x03\x16\x03\x16\x03\x16' +
749
+ '\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x17\x03\x18\x03\x18' +
750
+ '\x03\x18\x03\x18\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19\x03\x19\x03\x1A' +
751
+ '\x03\x1A\x03\x1A\x03\x1A\x03\x1B\x03\x1B\x03\x1B\x03\x1B\x03\x1C\x03\x1C' +
752
+ '\x03\x1C\x03\x1D\x03\x1D\x03\x1D\x03\x1D\x03\x1D\x03\x1E\x03\x1E\x03\x1E' +
753
+ '\x03\x1E\x03\x1E\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03\x1F\x03 ' +
754
+ '\x03 \x03 \x03 \x03 \x03 \x03!\x03!\x03!\x03!\x03!\x03!\x03"\x03"\x03' +
755
+ '"\x03"\x03#\x03#\x03#\x03#\x03#\x03$\x03$\x03$\x03$\x03$\x03$\x03$\x03' +
756
+ '$\x03$\x03%\x03%\x03%\x03%\x03%\x03%\x03&\x03&\x03&\x03&\x03&\x03&\x03' +
757
+ "'\x03'\x03'\x03'\x03'\x03'\x03(\x03(\x03(\x05(\u01CC\n(\x03(\x03" +
758
+ '(\x05(\u01D0\n(\x03(\x05(\u01D3\n(\x05(\u01D5\n(\x03(\x03(\x03)\x03)\x07' +
759
+ ')\u01DB\n)\f)\x0E)\u01DE\v)\x03*\x03*\x03*\x03*\x03*\x05*\u01E5\n*\x03' +
760
+ '*\x03*\x05*\u01E9\n*\x03+\x03+\x03+\x03+\x03+\x05+\u01F0\n+\x03+\x03+' +
761
+ '\x05+\u01F4\n+\x03,\x03,\x07,\u01F8\n,\f,\x0E,\u01FB\v,\x03,\x06,\u01FE' +
762
+ '\n,\r,\x0E,\u01FF\x05,\u0202\n,\x03-\x03-\x03-\x06-\u0207\n-\r-\x0E-\u0208' +
763
+ '\x03.\x03.\x03.\x06.\u020E\n.\r.\x0E.\u020F\x03/\x03/\x03/\x06/\u0215' +
764
+ '\n/\r/\x0E/\u0216\x030\x030\x050\u021B\n0\x031\x031\x051\u021F\n1\x03' +
765
+ '1\x031\x032\x032\x033\x033\x033\x033\x034\x034\x035\x035\x035\x036\x03' +
766
+ '6\x036\x037\x037\x038\x038\x039\x039\x03:\x03:\x03:\x03;\x03;\x03<\x03' +
767
+ '<\x03<\x03=\x03=\x03=\x03>\x03>\x03?\x03?\x03@\x03@\x03A\x03A\x03A\x03' +
768
+ 'B\x03B\x03B\x03C\x03C\x03D\x03D\x03E\x03E\x03F\x03F\x03G\x03G\x03G\x03' +
769
+ 'H\x03H\x03I\x03I\x03I\x03J\x03J\x03J\x03K\x03K\x03L\x03L\x03M\x03M\x03' +
770
+ 'M\x03N\x03N\x03N\x03O\x03O\x03O\x03P\x03P\x03P\x03Q\x03Q\x03Q\x03R\x03' +
771
+ 'R\x03S\x03S\x03S\x03T\x03T\x03T\x03U\x03U\x03U\x03V\x03V\x03V\x03W\x03' +
772
+ 'W\x03W\x03X\x03X\x03X\x03Y\x03Y\x03Y\x03Z\x03Z\x03Z\x03[\x03[\x03[\x03' +
773
+ '\\\x03\\\x03\\\x03]\x03]\x03]\x03]\x03^\x03^\x03^\x03^\x03_\x03_\x03_' +
774
+ '\x03_\x03`\x03`\x03`\x03`\x03a\x03a\x03a\x05a\u02A7\na\x03a\x03a\x03b' +
775
+ '\x03b\x03c\x03c\x03c\x07c\u02B0\nc\fc\x0Ec\u02B3\vc\x03c\x03c\x03c\x03' +
776
+ 'c\x07c\u02B9\nc\fc\x0Ec\u02BC\vc\x03c\x05c\u02BF\nc\x03d\x03d\x03d\x03' +
777
+ 'd\x03d\x07d\u02C6\nd\fd\x0Ed\u02C9\vd\x03d\x03d\x03d\x03d\x03d\x03d\x03' +
778
+ 'd\x03d\x07d\u02D3\nd\fd\x0Ed\u02D6\vd\x03d\x03d\x03d\x05d\u02DB\nd\x03' +
779
+ 'e\x03e\x05e\u02DF\ne\x03f\x03f\x03g\x03g\x03g\x03g\x05g\u02E7\ng\x03h' +
780
+ '\x03h\x03i\x03i\x03j\x03j\x03k\x03k\x03l\x03l\x03m\x05m\u02F4\nm\x03m' +
781
+ '\x03m\x03m\x03m\x05m\u02FA\nm\x03n\x03n\x05n\u02FE\nn\x03n\x03n\x03o\x06' +
782
+ 'o\u0303\no\ro\x0Eo\u0304\x03p\x03p\x06p\u0309\np\rp\x0Ep\u030A\x03q\x03' +
783
+ 'q\x05q\u030F\nq\x03q\x06q\u0312\nq\rq\x0Eq\u0313\x03r\x03r\x03r\x07r\u0319' +
784
+ '\nr\fr\x0Er\u031C\vr\x03r\x03r\x03r\x03r\x07r\u0322\nr\fr\x0Er\u0325\v' +
785
+ 'r\x03r\x05r\u0328\nr\x03s\x03s\x03s\x03s\x03s\x07s\u032F\ns\fs\x0Es\u0332' +
786
+ '\vs\x03s\x03s\x03s\x03s\x03s\x03s\x03s\x03s\x07s\u033C\ns\fs\x0Es\u033F' +
787
+ '\vs\x03s\x03s\x03s\x05s\u0344\ns\x03t\x03t\x05t\u0348\nt\x03u\x05u\u034B' +
788
+ '\nu\x03v\x05v\u034E\nv\x03w\x05w\u0351\nw\x03x\x03x\x03x\x03y\x06y\u0357' +
789
+ '\ny\ry\x0Ey\u0358\x03z\x03z\x07z\u035D\nz\fz\x0Ez\u0360\vz\x03{\x03{\x05' +
790
+ '{\u0364\n{\x03{\x05{\u0367\n{\x03{\x03{\x05{\u036B\n{\x03|\x05|\u036E' +
791
+ '\n|\x03}\x03}\x05}\u0372\n}\x06\u02C7\u02D4\u0330\u033D\x02\x02~\x03\x02' +
792
+ '\x03\x05\x02\x04\x07\x02\x05\t\x02\x06\v\x02\x07\r\x02\b\x0F\x02\t\x11' +
793
+ '\x02\n\x13\x02\v\x15\x02\f\x17\x02\r\x19\x02\x0E\x1B\x02\x0F\x1D\x02\x10' +
794
+ "\x1F\x02\x11!\x02\x12#\x02\x13%\x02\x14'\x02\x15)\x02\x16+\x02\x17-\x02" +
795
+ '\x18/\x02\x191\x02\x1A3\x02\x1B5\x02\x1C7\x02\x1D9\x02\x1E;\x02\x1F=\x02' +
796
+ ' ?\x02!A\x02"C\x02#E\x02$G\x02%I\x02&K\x02\'M\x02(O\x02)Q\x02*S\x02+' +
797
+ 'U\x02,W\x02-Y\x02.[\x02/]\x020_\x021a\x022c\x023e\x024g\x025i\x026k\x02' +
798
+ '7m\x028o\x029q\x02:s\x02;u\x02<w\x02=y\x02>{\x02?}\x02@\x7F\x02A\x81\x02' +
799
+ 'B\x83\x02C\x85\x02D\x87\x02E\x89\x02F\x8B\x02G\x8D\x02H\x8F\x02I\x91\x02' +
800
+ 'J\x93\x02K\x95\x02L\x97\x02M\x99\x02N\x9B\x02O\x9D\x02P\x9F\x02Q\xA1\x02' +
801
+ 'R\xA3\x02S\xA5\x02T\xA7\x02U\xA9\x02V\xAB\x02W\xAD\x02X\xAF\x02Y\xB1\x02' +
802
+ 'Z\xB3\x02[\xB5\x02\\\xB7\x02]\xB9\x02^\xBB\x02_\xBD\x02`\xBF\x02a\xC1' +
803
+ '\x02b\xC3\x02c\xC5\x02\x02\xC7\x02\x02\xC9\x02\x02\xCB\x02\x02\xCD\x02' +
804
+ '\x02\xCF\x02\x02\xD1\x02\x02\xD3\x02\x02\xD5\x02\x02\xD7\x02\x02\xD9\x02' +
805
+ '\x02\xDB\x02\x02\xDD\x02\x02\xDF\x02\x02\xE1\x02\x02\xE3\x02\x02\xE5\x02' +
806
+ '\x02\xE7\x02\x02\xE9\x02\x02\xEB\x02\x02\xED\x02\x02\xEF\x02\x02\xF1\x02' +
807
+ '\x02\xF3\x02\x02\xF5\x02\x02\xF7\x02\x02\xF9\x02\x02\x03\x02\x1B\b\x02' +
808
+ 'HHTTWWhhttww\x04\x02HHhh\x04\x02TTtt\x04\x02DDdd\x04\x02QQqq\x04\x02Z' +
809
+ 'Zzz\x04\x02LLll\x06\x02\f\f\x0E\x0F))^^\x06\x02\f\f\x0E\x0F$$^^\x03\x02' +
810
+ '^^\x03\x023;\x03\x022;\x03\x0229\x05\x022;CHch\x03\x0223\x04\x02GGgg\x04' +
811
+ '\x02--//\x07\x02\x02\v\r\x0E\x10(*]_\x81\x07\x02\x02\v\r\x0E\x10#%]_\x81' +
812
+ '\x04\x02\x02]_\x81\x03\x02\x02\x81\x04\x02\v\v""\x04\x02\f\f\x0E\x0F' +
813
+ '\u0129\x02C\\aac|\xAC\xAC\xB7\xB7\xBC\xBC\xC2\xD8\xDA\xF8\xFA\u0243\u0252' +
814
+ '\u02C3\u02C8\u02D3\u02E2\u02E6\u02F0\u02F0\u037C\u037C\u0388\u0388\u038A' +
815
+ '\u038C\u038E\u038E\u0390\u03A3\u03A5\u03D0\u03D2\u03F7\u03F9\u0483\u048C' +
816
+ '\u04D0\u04D2\u04FB\u0502\u0511\u0533\u0558\u055B\u055B\u0563\u0589\u05D2' +
817
+ '\u05EC\u05F2\u05F4\u0623\u063C\u0642\u064C\u0670\u0671\u0673\u06D5\u06D7' +
818
+ '\u06D7\u06E7\u06E8\u06F0\u06F1\u06FC\u06FE\u0701\u0701\u0712\u0712\u0714' +
819
+ '\u0731\u074F\u076F\u0782\u07A7\u07B3\u07B3\u0906\u093B\u093F\u093F\u0952' +
820
+ '\u0952\u095A\u0963\u097F\u097F\u0987\u098E\u0991\u0992\u0995\u09AA\u09AC' +
821
+ '\u09B2\u09B4\u09B4\u09B8\u09BB\u09BF\u09BF\u09D0\u09D0\u09DE\u09DF\u09E1' +
822
+ '\u09E3\u09F2\u09F3\u0A07\u0A0C\u0A11\u0A12\u0A15\u0A2A\u0A2C\u0A32\u0A34' +
823
+ '\u0A35\u0A37\u0A38\u0A3A\u0A3B\u0A5B\u0A5E\u0A60\u0A60\u0A74\u0A76\u0A87' +
824
+ '\u0A8F\u0A91\u0A93\u0A95\u0AAA\u0AAC\u0AB2\u0AB4\u0AB5\u0AB7\u0ABB\u0ABF' +
825
+ '\u0ABF\u0AD2\u0AD2\u0AE2\u0AE3\u0B07\u0B0E\u0B11\u0B12\u0B15\u0B2A\u0B2C' +
826
+ '\u0B32\u0B34\u0B35\u0B37\u0B3B\u0B3F\u0B3F\u0B5E\u0B5F\u0B61\u0B63\u0B73' +
827
+ '\u0B73\u0B85\u0B85\u0B87\u0B8C\u0B90\u0B92\u0B94\u0B97\u0B9B\u0B9C\u0B9E' +
828
+ '\u0B9E\u0BA0\u0BA1\u0BA5\u0BA6\u0BAA\u0BAC\u0BB0\u0BBB\u0C07\u0C0E\u0C10' +
829
+ '\u0C12\u0C14\u0C2A\u0C2C\u0C35\u0C37\u0C3B\u0C62\u0C63\u0C87\u0C8E\u0C90' +
830
+ '\u0C92\u0C94\u0CAA\u0CAC\u0CB5\u0CB7\u0CBB\u0CBF\u0CBF\u0CE0\u0CE0\u0CE2' +
831
+ '\u0CE3\u0D07\u0D0E\u0D10\u0D12\u0D14\u0D2A\u0D2C\u0D3B\u0D62\u0D63\u0D87' +
832
+ '\u0D98\u0D9C\u0DB3\u0DB5\u0DBD\u0DBF\u0DBF\u0DC2\u0DC8\u0E03\u0E32\u0E34' +
833
+ '\u0E35\u0E42\u0E48\u0E83\u0E84\u0E86\u0E86\u0E89\u0E8A\u0E8C\u0E8C\u0E8F' +
834
+ '\u0E8F\u0E96\u0E99\u0E9B\u0EA1\u0EA3\u0EA5\u0EA7\u0EA7\u0EA9\u0EA9\u0EAC' +
835
+ '\u0EAD\u0EAF\u0EB2\u0EB4\u0EB5\u0EBF\u0EBF\u0EC2\u0EC6\u0EC8\u0EC8\u0EDE' +
836
+ '\u0EDF\u0F02\u0F02\u0F42\u0F49\u0F4B\u0F6C\u0F8A\u0F8D\u1002\u1023\u1025' +
837
+ '\u1029\u102B\u102C\u1052\u1057\u10A2\u10C7\u10D2\u10FC\u10FE\u10FE\u1102' +
838
+ '\u115B\u1161\u11A4\u11AA\u11FB\u1202\u124A\u124C\u124F\u1252\u1258\u125A' +
839
+ '\u125A\u125C\u125F\u1262\u128A\u128C\u128F\u1292\u12B2\u12B4\u12B7\u12BA' +
840
+ '\u12C0\u12C2\u12C2\u12C4\u12C7\u12CA\u12D8\u12DA\u1312\u1314\u1317\u131A' +
841
+ '\u135C\u1382\u1391\u13A2\u13F6\u1403\u166E\u1671\u1678\u1683\u169C\u16A2' +
842
+ '\u16EC\u16F0\u16F2\u1702\u170E\u1710\u1713\u1722\u1733\u1742\u1753\u1762' +
843
+ '\u176E\u1770\u1772\u1782\u17B5\u17D9\u17D9\u17DE\u17DE\u1822\u1879\u1882' +
844
+ '\u18AA\u1902\u191E\u1952\u196F\u1972\u1976\u1982\u19AB\u19C3\u19C9\u1A02' +
845
+ '\u1A18\u1D02\u1DC1\u1E02\u1E9D\u1EA2\u1EFB\u1F02\u1F17\u1F1A\u1F1F\u1F22' +
846
+ '\u1F47\u1F4A\u1F4F\u1F52\u1F59\u1F5B\u1F5B\u1F5D\u1F5D\u1F5F\u1F5F\u1F61' +
847
+ '\u1F7F\u1F82\u1FB6\u1FB8\u1FBE\u1FC0\u1FC0\u1FC4\u1FC6\u1FC8\u1FCE\u1FD2' +
848
+ '\u1FD5\u1FD8\u1FDD\u1FE2\u1FEE\u1FF4\u1FF6\u1FF8\u1FFE\u2073\u2073\u2081' +
849
+ '\u2081\u2092\u2096\u2104\u2104\u2109\u2109\u210C\u2115\u2117\u2117\u211A' +
850
+ '\u211F\u2126\u2126\u2128\u2128\u212A\u212A\u212C\u2133\u2135\u213B\u213E' +
851
+ '\u2141\u2147\u214B\u2162\u2185\u2C02\u2C30\u2C32\u2C60\u2C82\u2CE6\u2D02' +
852
+ '\u2D27\u2D32\u2D67\u2D71\u2D71\u2D82\u2D98\u2DA2\u2DA8\u2DAA\u2DB0\u2DB2' +
853
+ '\u2DB8\u2DBA\u2DC0\u2DC2\u2DC8\u2DCA\u2DD0\u2DD2\u2DD8\u2DDA\u2DE0\u3007' +
854
+ '\u3009\u3023\u302B\u3033\u3037\u303A\u303E\u3043\u3098\u309D\u30A1\u30A3' +
855
+ '\u30FC\u30FE\u3101\u3107\u312E\u3133\u3190\u31A2\u31B9\u31F2\u3201\u3402' +
856
+ '\u4DB7\u4E02\u9FBD\uA002\uA48E\uA802\uA803\uA805\uA807\uA809\uA80C\uA80E' +
857
+ '\uA824\uAC02\uD7A5\uF902\uFA2F\uFA32\uFA6C\uFA72\uFADB\uFB02\uFB08\uFB15' +
858
+ '\uFB19\uFB1F\uFB1F\uFB21\uFB2A\uFB2C\uFB38\uFB3A\uFB3E\uFB40\uFB40\uFB42' +
859
+ '\uFB43\uFB45\uFB46\uFB48\uFBB3\uFBD5\uFD3F\uFD52\uFD91\uFD94\uFDC9\uFDF2' +
860
+ '\uFDFD\uFE72\uFE76\uFE78\uFEFE\uFF23\uFF3C\uFF43\uFF5C\uFF68\uFFC0\uFFC4' +
861
+ '\uFFC9\uFFCC\uFFD1\uFFD4\uFFD9\uFFDC\uFFDE\x96\x022;\u0302\u0371\u0485' +
862
+ '\u0488\u0593\u05BB\u05BD\u05BF\u05C1\u05C1\u05C3\u05C4\u05C6\u05C7\u05C9' +
863
+ '\u05C9\u0612\u0617\u064D\u0660\u0662\u066B\u0672\u0672\u06D8\u06DE\u06E1' +
864
+ '\u06E6\u06E9\u06EA\u06EC\u06EF\u06F2\u06FB\u0713\u0713\u0732\u074C\u07A8' +
865
+ '\u07B2\u0903\u0905\u093E\u093E\u0940\u094F\u0953\u0956\u0964\u0965\u0968' +
866
+ '\u0971\u0983\u0985\u09BE\u09BE\u09C0\u09C6\u09C9\u09CA\u09CD\u09CF\u09D9' +
867
+ '\u09D9\u09E4\u09E5\u09E8\u09F1\u0A03\u0A05\u0A3E\u0A3E\u0A40\u0A44\u0A49' +
868
+ '\u0A4A\u0A4D\u0A4F\u0A68\u0A73\u0A83\u0A85\u0ABE\u0ABE\u0AC0\u0AC7\u0AC9' +
869
+ '\u0ACB\u0ACD\u0ACF\u0AE4\u0AE5\u0AE8\u0AF1\u0B03\u0B05\u0B3E\u0B3E\u0B40' +
870
+ '\u0B45\u0B49\u0B4A\u0B4D\u0B4F\u0B58\u0B59\u0B68\u0B71\u0B84\u0B84\u0BC0' +
871
+ '\u0BC4\u0BC8\u0BCA\u0BCC\u0BCF\u0BD9\u0BD9\u0BE8\u0BF1\u0C03\u0C05\u0C40' +
872
+ '\u0C46\u0C48\u0C4A\u0C4C\u0C4F\u0C57\u0C58\u0C68\u0C71\u0C84\u0C85\u0CBE' +
873
+ '\u0CBE\u0CC0\u0CC6\u0CC8\u0CCA\u0CCC\u0CCF\u0CD7\u0CD8\u0CE8\u0CF1\u0D04' +
874
+ '\u0D05\u0D40\u0D45\u0D48\u0D4A\u0D4C\u0D4F\u0D59\u0D59\u0D68\u0D71\u0D84' +
875
+ '\u0D85\u0DCC\u0DCC\u0DD1\u0DD6\u0DD8\u0DD8\u0DDA\u0DE1\u0DF4\u0DF5\u0E33' +
876
+ '\u0E33\u0E36\u0E3C\u0E49\u0E50\u0E52\u0E5B\u0EB3\u0EB3\u0EB6\u0EBB\u0EBD' +
877
+ '\u0EBE\u0ECA\u0ECF\u0ED2\u0EDB\u0F1A\u0F1B\u0F22\u0F2B\u0F37\u0F37\u0F39' +
878
+ '\u0F39\u0F3B\u0F3B\u0F40\u0F41\u0F73\u0F86\u0F88\u0F89\u0F92\u0F99\u0F9B' +
879
+ '\u0FBE\u0FC8\u0FC8\u102E\u1034\u1038\u103B\u1042\u104B\u1058\u105B\u1361' +
880
+ '\u1361\u136B\u1373\u1714\u1716\u1734\u1736\u1754\u1755\u1774\u1775\u17B8' +
881
+ '\u17D5\u17DF\u17DF\u17E2\u17EB\u180D\u180F\u1812\u181B\u18AB\u18AB\u1922' +
882
+ '\u192D\u1932\u193D\u1948\u1951\u19B2\u19C2\u19CA\u19CB\u19D2\u19DB\u1A19' +
883
+ '\u1A1D\u1DC2\u1DC5\u2041\u2042\u2056\u2056\u20D2\u20DE\u20E3\u20E3\u20E7' +
884
+ '\u20ED\u302C\u3031\u309B\u309C\uA804\uA804\uA808\uA808\uA80D\uA80D\uA825' +
885
+ '\uA829\uFB20\uFB20\uFE02\uFE11\uFE22\uFE25\uFE35\uFE36\uFE4F\uFE51\uFF12' +
886
+ '\uFF1B\uFF41\uFF41\x02\u0393\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02' +
887
+ '\x02\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02' +
888
+ '\x02\r\x03\x02\x02\x02\x02\x0F\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02' +
889
+ '\x02\x13\x03\x02\x02\x02\x02\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02\x02' +
890
+ '\x02\x19\x03\x02\x02\x02\x02\x1B\x03\x02\x02\x02\x02\x1D\x03\x02\x02\x02' +
891
+ '\x02\x1F\x03\x02\x02\x02\x02!\x03\x02\x02\x02\x02#\x03\x02\x02\x02\x02' +
892
+ "%\x03\x02\x02\x02\x02'\x03\x02\x02\x02\x02)\x03\x02\x02\x02\x02+\x03" +
893
+ '\x02\x02\x02\x02-\x03\x02\x02\x02\x02/\x03\x02\x02\x02\x021\x03\x02\x02' +
894
+ '\x02\x023\x03\x02\x02\x02\x025\x03\x02\x02\x02\x027\x03\x02\x02\x02\x02' +
895
+ '9\x03\x02\x02\x02\x02;\x03\x02\x02\x02\x02=\x03\x02\x02\x02\x02?\x03\x02' +
896
+ '\x02\x02\x02A\x03\x02\x02\x02\x02C\x03\x02\x02\x02\x02E\x03\x02\x02\x02' +
897
+ '\x02G\x03\x02\x02\x02\x02I\x03\x02\x02\x02\x02K\x03\x02\x02\x02\x02M\x03' +
898
+ '\x02\x02\x02\x02O\x03\x02\x02\x02\x02Q\x03\x02\x02\x02\x02S\x03\x02\x02' +
899
+ '\x02\x02U\x03\x02\x02\x02\x02W\x03\x02\x02\x02\x02Y\x03\x02\x02\x02\x02' +
900
+ '[\x03\x02\x02\x02\x02]\x03\x02\x02\x02\x02_\x03\x02\x02\x02\x02a\x03\x02' +
901
+ '\x02\x02\x02c\x03\x02\x02\x02\x02e\x03\x02\x02\x02\x02g\x03\x02\x02\x02' +
902
+ '\x02i\x03\x02\x02\x02\x02k\x03\x02\x02\x02\x02m\x03\x02\x02\x02\x02o\x03' +
903
+ '\x02\x02\x02\x02q\x03\x02\x02\x02\x02s\x03\x02\x02\x02\x02u\x03\x02\x02' +
904
+ '\x02\x02w\x03\x02\x02\x02\x02y\x03\x02\x02\x02\x02{\x03\x02\x02\x02\x02' +
905
+ '}\x03\x02\x02\x02\x02\x7F\x03\x02\x02\x02\x02\x81\x03\x02\x02\x02\x02' +
906
+ '\x83\x03\x02\x02\x02\x02\x85\x03\x02\x02\x02\x02\x87\x03\x02\x02\x02\x02' +
907
+ '\x89\x03\x02\x02\x02\x02\x8B\x03\x02\x02\x02\x02\x8D\x03\x02\x02\x02\x02' +
908
+ '\x8F\x03\x02\x02\x02\x02\x91\x03\x02\x02\x02\x02\x93\x03\x02\x02\x02\x02' +
909
+ '\x95\x03\x02\x02\x02\x02\x97\x03\x02\x02\x02\x02\x99\x03\x02\x02\x02\x02' +
910
+ '\x9B\x03\x02\x02\x02\x02\x9D\x03\x02\x02\x02\x02\x9F\x03\x02\x02\x02\x02' +
911
+ '\xA1\x03\x02\x02\x02\x02\xA3\x03\x02\x02\x02\x02\xA5\x03\x02\x02\x02\x02' +
912
+ '\xA7\x03\x02\x02\x02\x02\xA9\x03\x02\x02\x02\x02\xAB\x03\x02\x02\x02\x02' +
913
+ '\xAD\x03\x02\x02\x02\x02\xAF\x03\x02\x02\x02\x02\xB1\x03\x02\x02\x02\x02' +
914
+ '\xB3\x03\x02\x02\x02\x02\xB5\x03\x02\x02\x02\x02\xB7\x03\x02\x02\x02\x02' +
915
+ '\xB9\x03\x02\x02\x02\x02\xBB\x03\x02\x02\x02\x02\xBD\x03\x02\x02\x02\x02' +
916
+ '\xBF\x03\x02\x02\x02\x02\xC1\x03\x02\x02\x02\x02\xC3\x03\x02\x02\x02\x03' +
917
+ '\xFD\x03\x02\x02\x02\x05\u0102\x03\x02\x02\x02\x07\u0108\x03\x02\x02\x02' +
918
+ '\t\u010A\x03\x02\x02\x02\v\u010E\x03\x02\x02\x02\r\u0115\x03\x02\x02\x02' +
919
+ '\x0F\u011B\x03\x02\x02\x02\x11\u0120\x03\x02\x02\x02\x13\u0127\x03\x02' +
920
+ '\x02\x02\x15\u012A\x03\x02\x02\x02\x17\u0131\x03\x02\x02\x02\x19\u013A' +
921
+ '\x03\x02\x02\x02\x1B\u0141\x03\x02\x02\x02\x1D\u0144\x03\x02\x02\x02\x1F' +
922
+ '\u0149\x03\x02\x02\x02!\u014E\x03\x02\x02\x02#\u0154\x03\x02\x02\x02%' +
923
+ "\u0158\x03\x02\x02\x02'\u015B\x03\x02\x02\x02)\u015F\x03\x02\x02\x02" +
924
+ '+\u0167\x03\x02\x02\x02-\u016C\x03\x02\x02\x02/\u0173\x03\x02\x02\x02' +
925
+ '1\u017A\x03\x02\x02\x023\u017D\x03\x02\x02\x025\u0181\x03\x02\x02\x02' +
926
+ '7\u0185\x03\x02\x02\x029\u0188\x03\x02\x02\x02;\u018D\x03\x02\x02\x02' +
927
+ '=\u0192\x03\x02\x02\x02?\u0198\x03\x02\x02\x02A\u019E\x03\x02\x02\x02' +
928
+ 'C\u01A4\x03\x02\x02\x02E\u01A8\x03\x02\x02\x02G\u01AD\x03\x02\x02\x02' +
929
+ 'I\u01B6\x03\x02\x02\x02K\u01BC\x03\x02\x02\x02M\u01C2\x03\x02\x02\x02' +
930
+ 'O\u01D4\x03\x02\x02\x02Q\u01D8\x03\x02\x02\x02S\u01E4\x03\x02\x02\x02' +
931
+ 'U\u01EF\x03\x02\x02\x02W\u0201\x03\x02\x02\x02Y\u0203\x03\x02\x02\x02' +
932
+ '[\u020A\x03\x02\x02\x02]\u0211\x03\x02\x02\x02_\u021A\x03\x02\x02\x02' +
933
+ 'a\u021E\x03\x02\x02\x02c\u0222\x03\x02\x02\x02e\u0224\x03\x02\x02\x02' +
934
+ 'g\u0228\x03\x02\x02\x02i\u022A\x03\x02\x02\x02k\u022D\x03\x02\x02\x02' +
935
+ 'm\u0230\x03\x02\x02\x02o\u0232\x03\x02\x02\x02q\u0234\x03\x02\x02\x02' +
936
+ 's\u0236\x03\x02\x02\x02u\u0239\x03\x02\x02\x02w\u023B\x03\x02\x02\x02' +
937
+ 'y\u023E\x03\x02\x02\x02{\u0241\x03\x02\x02\x02}\u0243\x03\x02\x02\x02' +
938
+ '\x7F\u0245\x03\x02\x02\x02\x81\u0247\x03\x02\x02\x02\x83\u024A\x03\x02' +
939
+ '\x02\x02\x85\u024D\x03\x02\x02\x02\x87\u024F\x03\x02\x02\x02\x89\u0251' +
940
+ '\x03\x02\x02\x02\x8B\u0253\x03\x02\x02\x02\x8D\u0255\x03\x02\x02\x02\x8F' +
941
+ '\u0258\x03\x02\x02\x02\x91\u025A\x03\x02\x02\x02\x93\u025D\x03\x02\x02' +
942
+ '\x02\x95\u0260\x03\x02\x02\x02\x97\u0262\x03\x02\x02\x02\x99\u0264\x03' +
943
+ '\x02\x02\x02\x9B\u0267\x03\x02\x02\x02\x9D\u026A\x03\x02\x02\x02\x9F\u026D' +
944
+ '\x03\x02\x02\x02\xA1\u0270\x03\x02\x02\x02\xA3\u0273\x03\x02\x02\x02\xA5' +
945
+ '\u0275\x03\x02\x02\x02\xA7\u0278\x03\x02\x02\x02\xA9\u027B\x03\x02\x02' +
946
+ '\x02\xAB\u027E\x03\x02\x02\x02\xAD\u0281\x03\x02\x02\x02\xAF\u0284\x03' +
947
+ '\x02\x02\x02\xB1\u0287\x03\x02\x02\x02\xB3\u028A\x03\x02\x02\x02\xB5\u028D' +
948
+ '\x03\x02\x02\x02\xB7\u0290\x03\x02\x02\x02\xB9\u0293\x03\x02\x02\x02\xBB' +
949
+ '\u0297\x03\x02\x02\x02\xBD\u029B\x03\x02\x02\x02\xBF\u029F\x03\x02\x02' +
950
+ '\x02\xC1\u02A6\x03\x02\x02\x02\xC3\u02AA\x03\x02\x02\x02\xC5\u02BE\x03' +
951
+ '\x02\x02\x02\xC7\u02DA\x03\x02\x02\x02\xC9\u02DE\x03\x02\x02\x02\xCB\u02E0' +
952
+ '\x03\x02\x02\x02\xCD\u02E6\x03\x02\x02\x02\xCF\u02E8\x03\x02\x02\x02\xD1' +
953
+ '\u02EA\x03\x02\x02\x02\xD3\u02EC\x03\x02\x02\x02\xD5\u02EE\x03\x02\x02' +
954
+ '\x02\xD7\u02F0\x03\x02\x02\x02\xD9\u02F9\x03\x02\x02\x02\xDB\u02FD\x03' +
955
+ '\x02\x02\x02\xDD\u0302\x03\x02\x02\x02\xDF\u0306\x03\x02\x02\x02\xE1\u030C' +
956
+ '\x03\x02\x02\x02\xE3\u0327\x03\x02\x02\x02\xE5\u0343\x03\x02\x02\x02\xE7' +
957
+ '\u0347\x03\x02\x02\x02\xE9\u034A\x03\x02\x02\x02\xEB\u034D\x03\x02\x02' +
958
+ '\x02\xED\u0350\x03\x02\x02\x02\xEF\u0352\x03\x02\x02\x02\xF1\u0356\x03' +
959
+ '\x02\x02\x02\xF3\u035A\x03\x02\x02\x02\xF5\u0361\x03\x02\x02\x02\xF7\u036D' +
960
+ '\x03\x02\x02\x02\xF9\u0371\x03\x02\x02\x02\xFB\xFE\x05S*\x02\xFC\xFE\x05' +
961
+ 'U+\x02\xFD\xFB\x03\x02\x02\x02\xFD\xFC\x03\x02\x02\x02\xFE\x04\x03\x02' +
962
+ '\x02\x02\xFF\u0103\x05\x07\x04\x02\u0100\u0103\x05_0\x02\u0101\u0103\x05' +
963
+ 'a1\x02\u0102\xFF\x03\x02\x02\x02\u0102\u0100\x03\x02\x02\x02\u0102\u0101' +
964
+ '\x03\x02\x02\x02\u0103\x06\x03\x02\x02\x02\u0104\u0109\x05W,\x02\u0105' +
965
+ '\u0109\x05Y-\x02\u0106\u0109\x05[.\x02\u0107\u0109\x05]/\x02\u0108\u0104' +
966
+ '\x03\x02\x02\x02\u0108\u0105\x03\x02\x02\x02\u0108\u0106\x03\x02\x02\x02' +
967
+ '\u0108\u0107\x03\x02\x02\x02\u0109\b\x03\x02\x02\x02\u010A\u010B\x07f' +
968
+ '\x02\x02\u010B\u010C\x07g\x02\x02\u010C\u010D\x07h\x02\x02\u010D\n\x03' +
969
+ '\x02\x02\x02\u010E\u010F\x07t\x02\x02\u010F\u0110\x07g\x02\x02\u0110\u0111' +
970
+ '\x07v\x02\x02\u0111\u0112\x07w\x02\x02\u0112\u0113\x07t\x02\x02\u0113' +
971
+ '\u0114\x07p\x02\x02\u0114\f\x03\x02\x02\x02\u0115\u0116\x07t\x02\x02\u0116' +
972
+ '\u0117\x07c\x02\x02\u0117\u0118\x07k\x02\x02\u0118\u0119\x07u\x02\x02' +
973
+ '\u0119\u011A\x07g\x02\x02\u011A\x0E\x03\x02\x02\x02\u011B\u011C\x07h\x02' +
974
+ '\x02\u011C\u011D\x07t\x02\x02\u011D\u011E\x07q\x02\x02\u011E\u011F\x07' +
975
+ 'o\x02\x02\u011F\x10\x03\x02\x02\x02\u0120\u0121\x07k\x02\x02\u0121\u0122' +
976
+ '\x07o\x02\x02\u0122\u0123\x07r\x02\x02\u0123\u0124\x07q\x02\x02\u0124' +
977
+ '\u0125\x07t\x02\x02\u0125\u0126\x07v\x02\x02\u0126\x12\x03\x02\x02\x02' +
978
+ '\u0127\u0128\x07c\x02\x02\u0128\u0129\x07u\x02\x02\u0129\x14\x03\x02\x02' +
979
+ '\x02\u012A\u012B\x07i\x02\x02\u012B\u012C\x07n\x02\x02\u012C\u012D\x07' +
980
+ 'q\x02\x02\u012D\u012E\x07d\x02\x02\u012E\u012F\x07c\x02\x02\u012F\u0130' +
981
+ '\x07n\x02\x02\u0130\x16\x03\x02\x02\x02\u0131\u0132\x07p\x02\x02\u0132' +
982
+ '\u0133\x07q\x02\x02\u0133\u0134\x07p\x02\x02\u0134\u0135\x07n\x02\x02' +
983
+ '\u0135\u0136\x07q\x02\x02\u0136\u0137\x07e\x02\x02\u0137';
984
+ Python3Lexer._serializedATNSegment1 = '\u0138\x07c\x02\x02\u0138\u0139\x07n\x02\x02\u0139\x18\x03\x02\x02\x02' +
985
+ '\u013A\u013B\x07c\x02\x02\u013B\u013C\x07u\x02\x02\u013C\u013D\x07u\x02' +
986
+ '\x02\u013D\u013E\x07g\x02\x02\u013E\u013F\x07t\x02\x02\u013F\u0140\x07' +
987
+ 'v\x02\x02\u0140\x1A\x03\x02\x02\x02\u0141\u0142\x07k\x02\x02\u0142\u0143' +
988
+ '\x07h\x02\x02\u0143\x1C\x03\x02\x02\x02\u0144\u0145\x07g\x02\x02\u0145' +
989
+ '\u0146\x07n\x02\x02\u0146\u0147\x07k\x02\x02\u0147\u0148\x07h\x02\x02' +
990
+ '\u0148\x1E\x03\x02\x02\x02\u0149\u014A\x07g\x02\x02\u014A\u014B\x07n\x02' +
991
+ '\x02\u014B\u014C\x07u\x02\x02\u014C\u014D\x07g\x02\x02\u014D \x03\x02' +
992
+ '\x02\x02\u014E\u014F\x07y\x02\x02\u014F\u0150\x07j\x02\x02\u0150\u0151' +
993
+ '\x07k\x02\x02\u0151\u0152\x07n\x02\x02\u0152\u0153\x07g\x02\x02\u0153' +
994
+ '"\x03\x02\x02\x02\u0154\u0155\x07h\x02\x02\u0155\u0156\x07q\x02\x02\u0156' +
995
+ '\u0157\x07t\x02\x02\u0157$\x03\x02\x02\x02\u0158\u0159\x07k\x02\x02\u0159' +
996
+ '\u015A\x07p\x02\x02\u015A&\x03\x02\x02\x02\u015B\u015C\x07v\x02\x02\u015C' +
997
+ '\u015D\x07t\x02\x02\u015D\u015E\x07{\x02\x02\u015E(\x03\x02\x02\x02\u015F' +
998
+ '\u0160\x07h\x02\x02\u0160\u0161\x07k\x02\x02\u0161\u0162\x07p\x02\x02' +
999
+ '\u0162\u0163\x07c\x02\x02\u0163\u0164\x07n\x02\x02\u0164\u0165\x07n\x02' +
1000
+ '\x02\u0165\u0166\x07{\x02\x02\u0166*\x03\x02\x02\x02\u0167\u0168\x07y' +
1001
+ '\x02\x02\u0168\u0169\x07k\x02\x02\u0169\u016A\x07v\x02\x02\u016A\u016B' +
1002
+ '\x07j\x02\x02\u016B,\x03\x02\x02\x02\u016C\u016D\x07g\x02\x02\u016D\u016E' +
1003
+ '\x07z\x02\x02\u016E\u016F\x07e\x02\x02\u016F\u0170\x07g\x02\x02\u0170' +
1004
+ '\u0171\x07r\x02\x02\u0171\u0172\x07v\x02\x02\u0172.\x03\x02\x02\x02\u0173' +
1005
+ '\u0174\x07n\x02\x02\u0174\u0175\x07c\x02\x02\u0175\u0176\x07o\x02\x02' +
1006
+ '\u0176\u0177\x07d\x02\x02\u0177\u0178\x07f\x02\x02\u0178\u0179\x07c\x02' +
1007
+ '\x02\u01790\x03\x02\x02\x02\u017A\u017B\x07q\x02\x02\u017B\u017C\x07t' +
1008
+ '\x02\x02\u017C2\x03\x02\x02\x02\u017D\u017E\x07c\x02\x02\u017E\u017F\x07' +
1009
+ 'p\x02\x02\u017F\u0180\x07f\x02\x02\u01804\x03\x02\x02\x02\u0181\u0182' +
1010
+ '\x07p\x02\x02\u0182\u0183\x07q\x02\x02\u0183\u0184\x07v\x02\x02\u0184' +
1011
+ '6\x03\x02\x02\x02\u0185\u0186\x07k\x02\x02\u0186\u0187\x07u\x02\x02\u0187' +
1012
+ '8\x03\x02\x02\x02\u0188\u0189\x07P\x02\x02\u0189\u018A\x07q\x02\x02\u018A' +
1013
+ '\u018B\x07p\x02\x02\u018B\u018C\x07g\x02\x02\u018C:\x03\x02\x02\x02\u018D' +
1014
+ '\u018E\x07V\x02\x02\u018E\u018F\x07t\x02\x02\u018F\u0190\x07w\x02\x02' +
1015
+ '\u0190\u0191\x07g\x02\x02\u0191<\x03\x02\x02\x02\u0192\u0193\x07H\x02' +
1016
+ '\x02\u0193\u0194\x07c\x02\x02\u0194\u0195\x07n\x02\x02\u0195\u0196\x07' +
1017
+ 'u\x02\x02\u0196\u0197\x07g\x02\x02\u0197>\x03\x02\x02\x02\u0198\u0199' +
1018
+ '\x07e\x02\x02\u0199\u019A\x07n\x02\x02\u019A\u019B\x07c\x02\x02\u019B' +
1019
+ '\u019C\x07u\x02\x02\u019C\u019D\x07u\x02\x02\u019D@\x03\x02\x02\x02\u019E' +
1020
+ '\u019F\x07{\x02\x02\u019F\u01A0\x07k\x02\x02\u01A0\u01A1\x07g\x02\x02' +
1021
+ '\u01A1\u01A2\x07n\x02\x02\u01A2\u01A3\x07f\x02\x02\u01A3B\x03\x02\x02' +
1022
+ '\x02\u01A4\u01A5\x07f\x02\x02\u01A5\u01A6\x07g\x02\x02\u01A6\u01A7\x07' +
1023
+ 'n\x02\x02\u01A7D\x03\x02\x02\x02\u01A8\u01A9\x07r\x02\x02\u01A9\u01AA' +
1024
+ '\x07c\x02\x02\u01AA\u01AB\x07u\x02\x02\u01AB\u01AC\x07u\x02\x02\u01AC' +
1025
+ 'F\x03\x02\x02\x02\u01AD\u01AE\x07e\x02\x02\u01AE\u01AF\x07q\x02\x02\u01AF' +
1026
+ '\u01B0\x07p\x02\x02\u01B0\u01B1\x07v\x02\x02\u01B1\u01B2\x07k\x02\x02' +
1027
+ '\u01B2\u01B3\x07p\x02\x02\u01B3\u01B4\x07w\x02\x02\u01B4\u01B5\x07g\x02' +
1028
+ '\x02\u01B5H\x03\x02\x02\x02\u01B6\u01B7\x07d\x02\x02\u01B7\u01B8\x07t' +
1029
+ '\x02\x02\u01B8\u01B9\x07g\x02\x02\u01B9\u01BA\x07c\x02\x02\u01BA\u01BB' +
1030
+ '\x07m\x02\x02\u01BBJ\x03\x02\x02\x02\u01BC\u01BD\x07c\x02\x02\u01BD\u01BE' +
1031
+ '\x07u\x02\x02\u01BE\u01BF\x07{\x02\x02\u01BF\u01C0\x07p\x02\x02\u01C0' +
1032
+ '\u01C1\x07e\x02\x02\u01C1L\x03\x02\x02\x02\u01C2\u01C3\x07c\x02\x02\u01C3' +
1033
+ '\u01C4\x07y\x02\x02\u01C4\u01C5\x07c\x02\x02\u01C5\u01C6\x07k\x02\x02' +
1034
+ '\u01C6\u01C7\x07v\x02\x02\u01C7N\x03\x02\x02\x02\u01C8\u01C9\x06(\x02' +
1035
+ '\x02\u01C9\u01D5\x05\xF1y\x02\u01CA\u01CC\x07\x0F\x02\x02\u01CB\u01CA' +
1036
+ '\x03\x02\x02\x02\u01CB\u01CC\x03\x02\x02\x02\u01CC\u01CD\x03\x02\x02\x02' +
1037
+ '\u01CD\u01D0\x07\f\x02\x02\u01CE\u01D0\x07\x0F\x02\x02\u01CF\u01CB\x03' +
1038
+ '\x02\x02\x02\u01CF\u01CE\x03\x02\x02\x02\u01D0\u01D2\x03\x02\x02\x02\u01D1' +
1039
+ '\u01D3\x05\xF1y\x02\u01D2\u01D1\x03\x02\x02\x02\u01D2\u01D3\x03\x02\x02' +
1040
+ '\x02\u01D3\u01D5\x03\x02\x02\x02\u01D4\u01C8\x03\x02\x02\x02\u01D4\u01CF' +
1041
+ '\x03\x02\x02\x02\u01D5\u01D6\x03\x02\x02\x02\u01D6\u01D7\b(\x02\x02\u01D7' +
1042
+ 'P\x03\x02\x02\x02\u01D8\u01DC\x05\xF7|\x02\u01D9\u01DB\x05\xF9}\x02\u01DA' +
1043
+ '\u01D9\x03\x02\x02\x02\u01DB\u01DE\x03\x02\x02\x02\u01DC\u01DA\x03\x02' +
1044
+ '\x02\x02\u01DC\u01DD\x03\x02\x02\x02\u01DDR\x03\x02\x02\x02\u01DE\u01DC' +
1045
+ '\x03\x02\x02\x02\u01DF\u01E5\t\x02\x02\x02\u01E0\u01E1\t\x03\x02\x02\u01E1' +
1046
+ '\u01E5\t\x04\x02\x02\u01E2\u01E3\t\x04\x02\x02\u01E3\u01E5\t\x03\x02\x02' +
1047
+ '\u01E4\u01DF\x03\x02\x02\x02\u01E4\u01E0\x03\x02\x02\x02\u01E4\u01E2\x03' +
1048
+ '\x02\x02\x02\u01E4\u01E5\x03\x02\x02\x02\u01E5\u01E8\x03\x02\x02\x02\u01E6' +
1049
+ '\u01E9\x05\xC5c\x02\u01E7\u01E9\x05\xC7d\x02\u01E8\u01E6\x03\x02\x02\x02' +
1050
+ '\u01E8\u01E7\x03\x02\x02\x02\u01E9T\x03\x02\x02\x02\u01EA\u01F0\t\x05' +
1051
+ '\x02\x02\u01EB\u01EC\t\x05\x02\x02\u01EC\u01F0\t\x04\x02\x02\u01ED\u01EE' +
1052
+ '\t\x04\x02\x02\u01EE\u01F0\t\x05\x02\x02\u01EF\u01EA\x03\x02\x02\x02\u01EF' +
1053
+ '\u01EB\x03\x02\x02\x02\u01EF\u01ED\x03\x02\x02\x02\u01F0\u01F3\x03\x02' +
1054
+ '\x02\x02\u01F1\u01F4\x05\xE3r\x02\u01F2\u01F4\x05\xE5s\x02\u01F3\u01F1' +
1055
+ '\x03\x02\x02\x02\u01F3\u01F2\x03\x02\x02\x02\u01F4V\x03\x02\x02\x02\u01F5' +
1056
+ '\u01F9\x05\xCFh\x02\u01F6\u01F8\x05\xD1i\x02\u01F7\u01F6\x03\x02\x02\x02' +
1057
+ '\u01F8\u01FB\x03\x02\x02\x02\u01F9\u01F7\x03\x02\x02\x02\u01F9\u01FA\x03' +
1058
+ '\x02\x02\x02\u01FA\u0202\x03\x02\x02\x02\u01FB\u01F9\x03\x02\x02\x02\u01FC' +
1059
+ '\u01FE\x072\x02\x02\u01FD\u01FC\x03\x02\x02\x02\u01FE\u01FF\x03\x02\x02' +
1060
+ '\x02\u01FF\u01FD\x03\x02\x02\x02\u01FF\u0200\x03\x02\x02\x02\u0200\u0202' +
1061
+ '\x03\x02\x02\x02\u0201\u01F5\x03\x02\x02\x02\u0201\u01FD\x03\x02\x02\x02' +
1062
+ '\u0202X\x03\x02\x02\x02\u0203\u0204\x072\x02\x02\u0204\u0206\t\x06\x02' +
1063
+ '\x02\u0205\u0207\x05\xD3j\x02\u0206\u0205\x03\x02\x02\x02\u0207\u0208' +
1064
+ '\x03\x02\x02\x02\u0208\u0206\x03\x02\x02\x02\u0208\u0209\x03\x02\x02\x02' +
1065
+ '\u0209Z\x03\x02\x02\x02\u020A\u020B\x072\x02\x02\u020B\u020D\t\x07\x02' +
1066
+ '\x02\u020C\u020E\x05\xD5k\x02\u020D\u020C\x03\x02\x02\x02\u020E\u020F' +
1067
+ '\x03\x02\x02\x02\u020F\u020D\x03\x02\x02\x02\u020F\u0210\x03\x02\x02\x02' +
1068
+ '\u0210\\\x03\x02\x02\x02\u0211\u0212\x072\x02\x02\u0212\u0214\t\x05\x02' +
1069
+ '\x02\u0213\u0215\x05\xD7l\x02\u0214\u0213\x03\x02\x02\x02\u0215\u0216' +
1070
+ '\x03\x02\x02\x02\u0216\u0214\x03\x02\x02\x02\u0216\u0217\x03\x02\x02\x02' +
1071
+ '\u0217^\x03\x02\x02\x02\u0218\u021B\x05\xD9m\x02\u0219\u021B\x05\xDBn' +
1072
+ '\x02\u021A\u0218\x03\x02\x02\x02\u021A\u0219\x03\x02\x02\x02\u021B`\x03' +
1073
+ '\x02\x02\x02\u021C\u021F\x05_0\x02\u021D\u021F\x05\xDDo\x02\u021E\u021C' +
1074
+ '\x03\x02\x02\x02\u021E\u021D\x03\x02\x02\x02\u021F\u0220\x03\x02\x02\x02' +
1075
+ '\u0220\u0221\t\b\x02\x02\u0221b\x03\x02\x02\x02\u0222\u0223\x070\x02\x02' +
1076
+ '\u0223d\x03\x02\x02\x02\u0224\u0225\x070\x02\x02\u0225\u0226\x070\x02' +
1077
+ '\x02\u0226\u0227\x070\x02\x02\u0227f\x03\x02\x02\x02\u0228\u0229\x07,' +
1078
+ '\x02\x02\u0229h\x03\x02\x02\x02\u022A\u022B\x07*\x02\x02\u022B\u022C\b' +
1079
+ '5\x03\x02\u022Cj\x03\x02\x02\x02\u022D\u022E\x07+\x02\x02\u022E\u022F' +
1080
+ '\b6\x04\x02\u022Fl\x03\x02\x02\x02\u0230\u0231\x07.\x02\x02\u0231n\x03' +
1081
+ '\x02\x02\x02\u0232\u0233\x07<\x02\x02\u0233p\x03\x02\x02\x02\u0234\u0235' +
1082
+ '\x07=\x02\x02\u0235r\x03\x02\x02\x02\u0236\u0237\x07,\x02\x02\u0237\u0238' +
1083
+ '\x07,\x02\x02\u0238t\x03\x02\x02\x02\u0239\u023A\x07?\x02\x02\u023Av\x03' +
1084
+ '\x02\x02\x02\u023B\u023C\x07]\x02\x02\u023C\u023D\b<\x05\x02\u023Dx\x03' +
1085
+ '\x02\x02\x02\u023E\u023F\x07_\x02\x02\u023F\u0240\b=\x06\x02\u0240z\x03' +
1086
+ '\x02\x02\x02\u0241\u0242\x07~\x02\x02\u0242|\x03\x02\x02\x02\u0243\u0244' +
1087
+ '\x07`\x02\x02\u0244~\x03\x02\x02\x02\u0245\u0246\x07(\x02\x02\u0246\x80' +
1088
+ '\x03\x02\x02\x02\u0247\u0248\x07>\x02\x02\u0248\u0249\x07>\x02\x02\u0249' +
1089
+ '\x82\x03\x02\x02\x02\u024A\u024B\x07@\x02\x02\u024B\u024C\x07@\x02\x02' +
1090
+ '\u024C\x84\x03\x02\x02\x02\u024D\u024E\x07-\x02\x02\u024E\x86\x03\x02' +
1091
+ '\x02\x02\u024F\u0250\x07/\x02\x02\u0250\x88\x03\x02\x02\x02\u0251\u0252' +
1092
+ "\x071\x02\x02\u0252\x8A\x03\x02\x02\x02\u0253\u0254\x07'\x02\x02\u0254" +
1093
+ '\x8C\x03\x02\x02\x02\u0255\u0256\x071\x02\x02\u0256\u0257\x071\x02\x02' +
1094
+ '\u0257\x8E\x03\x02\x02\x02\u0258\u0259\x07\x80\x02\x02\u0259\x90\x03\x02' +
1095
+ '\x02\x02\u025A\u025B\x07}\x02\x02\u025B\u025C\bI\x07\x02\u025C\x92\x03' +
1096
+ '\x02\x02\x02\u025D\u025E\x07\x7F\x02\x02\u025E\u025F\bJ\b\x02\u025F\x94' +
1097
+ '\x03\x02\x02\x02\u0260\u0261\x07>\x02\x02\u0261\x96\x03\x02\x02\x02\u0262' +
1098
+ '\u0263\x07@\x02\x02\u0263\x98\x03\x02\x02\x02\u0264\u0265\x07?\x02\x02' +
1099
+ '\u0265\u0266\x07?\x02\x02\u0266\x9A\x03\x02\x02\x02\u0267\u0268\x07@\x02' +
1100
+ '\x02\u0268\u0269\x07?\x02\x02\u0269\x9C\x03\x02\x02\x02\u026A\u026B\x07' +
1101
+ '>\x02\x02\u026B\u026C\x07?\x02\x02\u026C\x9E\x03\x02\x02\x02\u026D\u026E' +
1102
+ '\x07>\x02\x02\u026E\u026F\x07@\x02\x02\u026F\xA0\x03\x02\x02\x02\u0270' +
1103
+ '\u0271\x07#\x02\x02\u0271\u0272\x07?\x02\x02\u0272\xA2\x03\x02\x02\x02' +
1104
+ '\u0273\u0274\x07B\x02\x02\u0274\xA4\x03\x02\x02\x02\u0275\u0276\x07/\x02' +
1105
+ '\x02\u0276\u0277\x07@\x02\x02\u0277\xA6\x03\x02\x02\x02\u0278\u0279\x07' +
1106
+ '-\x02\x02\u0279\u027A\x07?\x02\x02\u027A\xA8\x03\x02\x02\x02\u027B\u027C' +
1107
+ '\x07/\x02\x02\u027C\u027D\x07?\x02\x02\u027D\xAA\x03\x02\x02\x02\u027E' +
1108
+ '\u027F\x07,\x02\x02\u027F\u0280\x07?\x02\x02\u0280\xAC\x03\x02\x02\x02' +
1109
+ '\u0281\u0282\x07B\x02\x02\u0282\u0283\x07?\x02\x02\u0283\xAE\x03\x02\x02' +
1110
+ '\x02\u0284\u0285\x071\x02\x02\u0285\u0286\x07?\x02\x02\u0286\xB0\x03\x02' +
1111
+ "\x02\x02\u0287\u0288\x07'\x02\x02\u0288\u0289\x07?\x02\x02\u0289\xB2" +
1112
+ '\x03\x02\x02\x02\u028A\u028B\x07(\x02\x02\u028B\u028C\x07?\x02\x02\u028C' +
1113
+ '\xB4\x03\x02\x02\x02\u028D\u028E\x07~\x02\x02\u028E\u028F\x07?\x02\x02' +
1114
+ '\u028F\xB6\x03\x02\x02\x02\u0290\u0291\x07`\x02\x02\u0291\u0292\x07?\x02' +
1115
+ '\x02\u0292\xB8\x03\x02\x02\x02\u0293\u0294\x07>\x02\x02\u0294\u0295\x07' +
1116
+ '>\x02\x02\u0295\u0296\x07?\x02\x02\u0296\xBA\x03\x02\x02\x02\u0297\u0298' +
1117
+ '\x07@\x02\x02\u0298\u0299\x07@\x02\x02\u0299\u029A\x07?\x02\x02\u029A' +
1118
+ '\xBC\x03\x02\x02\x02\u029B\u029C\x07,\x02\x02\u029C\u029D\x07,\x02\x02' +
1119
+ '\u029D\u029E\x07?\x02\x02\u029E\xBE\x03\x02\x02\x02\u029F\u02A0\x071\x02' +
1120
+ '\x02\u02A0\u02A1\x071\x02\x02\u02A1\u02A2\x07?\x02\x02\u02A2\xC0\x03\x02' +
1121
+ '\x02\x02\u02A3\u02A7\x05\xF1y\x02\u02A4\u02A7\x05\xF3z\x02\u02A5\u02A7' +
1122
+ '\x05\xF5{\x02\u02A6\u02A3\x03\x02\x02\x02\u02A6\u02A4\x03\x02\x02\x02' +
1123
+ '\u02A6\u02A5\x03\x02\x02\x02\u02A7\u02A8\x03\x02\x02\x02\u02A8\u02A9\b' +
1124
+ 'a\t\x02\u02A9\xC2\x03\x02\x02\x02\u02AA\u02AB\v\x02\x02\x02\u02AB\xC4' +
1125
+ '\x03\x02\x02\x02\u02AC\u02B1\x07)\x02\x02\u02AD\u02B0\x05\xCDg\x02\u02AE' +
1126
+ '\u02B0\n\t\x02\x02\u02AF\u02AD\x03\x02\x02\x02\u02AF\u02AE\x03\x02\x02' +
1127
+ '\x02\u02B0\u02B3\x03\x02\x02\x02\u02B1\u02AF\x03\x02\x02\x02\u02B1\u02B2' +
1128
+ '\x03\x02\x02\x02\u02B2\u02B4\x03\x02\x02\x02\u02B3\u02B1\x03\x02\x02\x02' +
1129
+ '\u02B4\u02BF\x07)\x02\x02\u02B5\u02BA\x07$\x02\x02\u02B6\u02B9\x05\xCD' +
1130
+ 'g\x02\u02B7\u02B9\n\n\x02\x02\u02B8\u02B6\x03\x02\x02\x02\u02B8\u02B7' +
1131
+ '\x03\x02\x02\x02\u02B9\u02BC\x03\x02\x02\x02\u02BA\u02B8\x03\x02\x02\x02' +
1132
+ '\u02BA\u02BB\x03\x02\x02\x02\u02BB\u02BD\x03\x02\x02\x02\u02BC\u02BA\x03' +
1133
+ '\x02\x02\x02\u02BD\u02BF\x07$\x02\x02\u02BE\u02AC\x03\x02\x02\x02\u02BE' +
1134
+ '\u02B5\x03\x02\x02\x02\u02BF\xC6\x03\x02\x02\x02\u02C0\u02C1\x07)\x02' +
1135
+ '\x02\u02C1\u02C2\x07)\x02\x02\u02C2\u02C3\x07)\x02\x02\u02C3\u02C7\x03' +
1136
+ '\x02\x02\x02\u02C4\u02C6\x05\xC9e\x02\u02C5\u02C4\x03\x02\x02\x02\u02C6' +
1137
+ '\u02C9\x03\x02\x02\x02\u02C7\u02C8\x03\x02\x02\x02\u02C7\u02C5\x03\x02' +
1138
+ '\x02\x02\u02C8\u02CA\x03\x02\x02\x02\u02C9\u02C7\x03\x02\x02\x02\u02CA' +
1139
+ '\u02CB\x07)\x02\x02\u02CB\u02CC\x07)\x02\x02\u02CC\u02DB\x07)\x02\x02' +
1140
+ '\u02CD\u02CE\x07$\x02\x02\u02CE\u02CF\x07$\x02\x02\u02CF\u02D0\x07$\x02' +
1141
+ '\x02\u02D0\u02D4\x03\x02\x02\x02\u02D1\u02D3\x05\xC9e\x02\u02D2\u02D1' +
1142
+ '\x03\x02\x02\x02\u02D3\u02D6\x03\x02\x02\x02\u02D4\u02D5\x03\x02\x02\x02' +
1143
+ '\u02D4\u02D2\x03\x02\x02\x02\u02D5\u02D7\x03\x02\x02\x02\u02D6\u02D4\x03' +
1144
+ '\x02\x02\x02\u02D7\u02D8\x07$\x02\x02\u02D8\u02D9\x07$\x02\x02\u02D9\u02DB' +
1145
+ '\x07$\x02\x02\u02DA\u02C0\x03\x02\x02\x02\u02DA\u02CD\x03\x02\x02\x02' +
1146
+ '\u02DB\xC8\x03\x02\x02\x02\u02DC\u02DF\x05\xCBf\x02\u02DD\u02DF\x05\xCD' +
1147
+ 'g\x02\u02DE\u02DC\x03\x02\x02\x02\u02DE\u02DD\x03\x02\x02\x02\u02DF\xCA' +
1148
+ '\x03\x02\x02\x02\u02E0\u02E1\n\v\x02\x02\u02E1\xCC\x03\x02\x02\x02\u02E2' +
1149
+ '\u02E3\x07^\x02\x02\u02E3\u02E7\v\x02\x02\x02\u02E4\u02E5\x07^\x02\x02' +
1150
+ '\u02E5\u02E7\x05O(\x02\u02E6\u02E2\x03\x02\x02\x02\u02E6\u02E4\x03\x02' +
1151
+ '\x02\x02\u02E7\xCE\x03\x02\x02\x02\u02E8\u02E9\t\f\x02\x02\u02E9\xD0\x03' +
1152
+ '\x02\x02\x02\u02EA\u02EB\t\r\x02\x02\u02EB\xD2\x03\x02\x02\x02\u02EC\u02ED' +
1153
+ '\t\x0E\x02\x02\u02ED\xD4\x03\x02\x02\x02\u02EE\u02EF\t\x0F\x02\x02\u02EF' +
1154
+ '\xD6\x03\x02\x02\x02\u02F0\u02F1\t\x10\x02\x02\u02F1\xD8\x03\x02\x02\x02' +
1155
+ '\u02F2\u02F4\x05\xDDo\x02\u02F3\u02F2\x03\x02\x02\x02\u02F3\u02F4\x03' +
1156
+ '\x02\x02\x02\u02F4\u02F5\x03\x02\x02\x02\u02F5\u02FA\x05\xDFp\x02\u02F6' +
1157
+ '\u02F7\x05\xDDo\x02\u02F7\u02F8\x070\x02\x02\u02F8\u02FA\x03\x02\x02\x02' +
1158
+ '\u02F9\u02F3\x03\x02\x02\x02\u02F9\u02F6\x03\x02\x02\x02\u02FA\xDA\x03' +
1159
+ '\x02\x02\x02\u02FB\u02FE\x05\xDDo\x02\u02FC\u02FE\x05\xD9m\x02\u02FD\u02FB' +
1160
+ '\x03\x02\x02\x02\u02FD\u02FC\x03\x02\x02\x02\u02FE\u02FF\x03\x02\x02\x02' +
1161
+ '\u02FF\u0300\x05\xE1q\x02\u0300\xDC\x03\x02\x02\x02\u0301\u0303\x05\xD1' +
1162
+ 'i\x02\u0302\u0301\x03\x02\x02\x02\u0303\u0304\x03\x02\x02\x02\u0304\u0302' +
1163
+ '\x03\x02\x02\x02\u0304\u0305\x03\x02\x02\x02\u0305\xDE\x03\x02\x02\x02' +
1164
+ '\u0306\u0308\x070\x02\x02\u0307\u0309\x05\xD1i\x02\u0308\u0307\x03\x02' +
1165
+ '\x02\x02\u0309\u030A\x03\x02\x02\x02\u030A\u0308\x03\x02\x02\x02\u030A' +
1166
+ '\u030B\x03\x02\x02\x02\u030B\xE0\x03\x02\x02\x02\u030C\u030E\t\x11\x02' +
1167
+ '\x02\u030D\u030F\t\x12\x02\x02\u030E\u030D\x03\x02\x02\x02\u030E\u030F' +
1168
+ '\x03\x02\x02\x02\u030F\u0311\x03\x02\x02\x02\u0310\u0312\x05\xD1i\x02' +
1169
+ '\u0311\u0310\x03\x02\x02\x02\u0312\u0313\x03\x02\x02\x02\u0313\u0311\x03' +
1170
+ '\x02\x02\x02\u0313\u0314\x03\x02\x02\x02\u0314\xE2\x03\x02\x02\x02\u0315' +
1171
+ '\u031A\x07)\x02\x02\u0316\u0319\x05\xE9u\x02\u0317\u0319\x05\xEFx\x02' +
1172
+ '\u0318\u0316\x03\x02\x02\x02\u0318\u0317\x03\x02\x02\x02\u0319\u031C\x03' +
1173
+ '\x02\x02\x02\u031A\u0318\x03\x02\x02\x02\u031A\u031B\x03\x02\x02\x02\u031B' +
1174
+ '\u031D\x03\x02\x02\x02\u031C\u031A\x03\x02\x02\x02\u031D\u0328\x07)\x02' +
1175
+ '\x02\u031E\u0323\x07$\x02\x02\u031F\u0322\x05\xEBv\x02\u0320\u0322\x05' +
1176
+ '\xEFx\x02\u0321\u031F\x03\x02\x02\x02\u0321\u0320\x03\x02\x02\x02\u0322' +
1177
+ '\u0325\x03\x02\x02\x02\u0323\u0321\x03\x02\x02\x02\u0323\u0324\x03\x02' +
1178
+ '\x02\x02\u0324\u0326\x03\x02\x02\x02\u0325\u0323\x03\x02\x02\x02\u0326' +
1179
+ '\u0328\x07$\x02\x02\u0327\u0315\x03\x02\x02\x02\u0327\u031E\x03\x02\x02' +
1180
+ '\x02\u0328\xE4\x03\x02\x02\x02\u0329\u032A\x07)\x02\x02\u032A\u032B\x07' +
1181
+ ')\x02\x02\u032B\u032C\x07)\x02\x02\u032C\u0330\x03\x02\x02\x02\u032D\u032F' +
1182
+ '\x05\xE7t\x02\u032E\u032D\x03\x02\x02\x02\u032F\u0332\x03\x02\x02\x02' +
1183
+ '\u0330\u0331\x03\x02\x02\x02\u0330\u032E\x03\x02\x02\x02\u0331\u0333\x03' +
1184
+ '\x02\x02\x02\u0332\u0330\x03\x02\x02\x02\u0333\u0334\x07)\x02\x02\u0334' +
1185
+ '\u0335\x07)\x02\x02\u0335\u0344\x07)\x02\x02\u0336\u0337\x07$\x02\x02' +
1186
+ '\u0337\u0338\x07$\x02\x02\u0338\u0339\x07$\x02\x02\u0339\u033D\x03\x02' +
1187
+ '\x02\x02\u033A\u033C\x05\xE7t\x02\u033B\u033A\x03\x02\x02\x02\u033C\u033F' +
1188
+ '\x03\x02\x02\x02\u033D\u033E\x03\x02\x02\x02\u033D\u033B\x03\x02\x02\x02' +
1189
+ '\u033E\u0340\x03\x02\x02\x02\u033F\u033D\x03\x02\x02\x02\u0340\u0341\x07' +
1190
+ '$\x02\x02\u0341\u0342\x07$\x02\x02\u0342\u0344\x07$\x02\x02\u0343\u0329' +
1191
+ '\x03\x02\x02\x02\u0343\u0336\x03\x02\x02\x02\u0344\xE6\x03\x02\x02\x02' +
1192
+ '\u0345\u0348\x05\xEDw\x02\u0346\u0348\x05\xEFx\x02\u0347\u0345\x03\x02' +
1193
+ '\x02\x02\u0347\u0346\x03\x02\x02\x02\u0348\xE8\x03\x02\x02\x02\u0349\u034B' +
1194
+ '\t\x13\x02\x02\u034A\u0349\x03\x02\x02\x02\u034B\xEA\x03\x02\x02\x02\u034C' +
1195
+ '\u034E\t\x14\x02\x02\u034D\u034C\x03\x02\x02\x02\u034E\xEC\x03\x02\x02' +
1196
+ '\x02\u034F\u0351\t\x15\x02\x02\u0350\u034F\x03\x02\x02\x02\u0351\xEE\x03' +
1197
+ '\x02\x02\x02\u0352\u0353\x07^\x02\x02\u0353\u0354\t\x16\x02\x02\u0354' +
1198
+ '\xF0\x03\x02\x02\x02\u0355\u0357\t\x17\x02\x02\u0356\u0355\x03\x02\x02' +
1199
+ '\x02\u0357\u0358\x03\x02\x02\x02\u0358\u0356\x03\x02\x02\x02\u0358\u0359' +
1200
+ '\x03\x02\x02\x02\u0359\xF2\x03\x02\x02\x02\u035A\u035E\x07%\x02\x02\u035B' +
1201
+ '\u035D\n\x18\x02\x02\u035C\u035B\x03\x02\x02\x02\u035D\u0360\x03\x02\x02' +
1202
+ '\x02\u035E\u035C\x03\x02\x02\x02\u035E\u035F\x03\x02\x02\x02\u035F\xF4' +
1203
+ '\x03\x02\x02\x02\u0360\u035E\x03\x02\x02\x02\u0361\u0363\x07^\x02\x02' +
1204
+ '\u0362\u0364\x05\xF1y\x02\u0363\u0362\x03\x02\x02\x02\u0363\u0364\x03' +
1205
+ '\x02\x02\x02\u0364\u036A\x03\x02\x02\x02\u0365\u0367\x07\x0F\x02\x02\u0366' +
1206
+ '\u0365\x03\x02\x02\x02\u0366\u0367\x03\x02\x02\x02\u0367\u0368\x03\x02' +
1207
+ '\x02\x02\u0368\u036B\x07\f\x02\x02\u0369\u036B\x04\x0E\x0F\x02\u036A\u0366' +
1208
+ '\x03\x02\x02\x02\u036A\u0369\x03\x02\x02\x02\u036B\xF6\x03\x02\x02\x02' +
1209
+ '\u036C\u036E\t\x19\x02\x02\u036D\u036C\x03\x02\x02\x02\u036E\xF8\x03\x02' +
1210
+ '\x02\x02\u036F\u0372\x05\xF7|\x02\u0370\u0372\t\x1A\x02\x02\u0371\u036F' +
1211
+ '\x03\x02\x02\x02\u0371\u0370\x03\x02\x02\x02\u0372\xFA\x03\x02\x02\x02' +
1212
+ '<\x02\xFD\u0102\u0108\u01CB\u01CF\u01D2\u01D4\u01DC\u01E4\u01E8\u01EF' +
1213
+ '\u01F3\u01F9\u01FF\u0201\u0208\u020F\u0216\u021A\u021E\u02A6\u02AF\u02B1' +
1214
+ '\u02B8\u02BA\u02BE\u02C7\u02D4\u02DA\u02DE\u02E6\u02F3\u02F9\u02FD\u0304' +
1215
+ '\u030A\u030E\u0313\u0318\u031A\u0321\u0323\u0327\u0330\u033D\u0343\u0347' +
1216
+ '\u034A\u034D\u0350\u0358\u035E\u0363\u0366\u036A\u036D\u0371\n\x03(\x02' +
1217
+ '\x035\x03\x036\x04\x03<\x05\x03=\x06\x03I\x07\x03J\b\b\x02\x02';
1218
+ Python3Lexer._serializedATN = Utils.join([Python3Lexer._serializedATNSegment0, Python3Lexer._serializedATNSegment1], '');
1219
+ __decorate([
1220
+ Decorators_1.Override
1221
+ ], Python3Lexer.prototype, "reset", null);
1222
+ __decorate([
1223
+ Decorators_1.Override
1224
+ ], Python3Lexer.prototype, "emit", null);
1225
+ __decorate([
1226
+ Decorators_1.Override
1227
+ ], Python3Lexer.prototype, "nextToken", null);
1228
1228
  //# sourceMappingURL=python3-lexer.js.map