@designliquido/delegua 1.1.0 → 1.2.0

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 (74) hide show
  1. package/analisador-semantico/dialetos/analisador-semantico-pitugues.d.ts.map +1 -1
  2. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js +0 -3
  3. package/analisador-semantico/dialetos/analisador-semantico-pitugues.js.map +1 -1
  4. package/avaliador-sintatico/comum.d.ts.map +1 -1
  5. package/avaliador-sintatico/comum.js +4 -2
  6. package/avaliador-sintatico/comum.js.map +1 -1
  7. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts +1 -1
  8. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  9. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +11 -2
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  11. package/bibliotecas/biblioteca-global.d.ts +21 -0
  12. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  13. package/bibliotecas/biblioteca-global.js +147 -0
  14. package/bibliotecas/biblioteca-global.js.map +1 -1
  15. package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts +21 -0
  16. package/bibliotecas/dialetos/pitugues/biblioteca-global.d.ts.map +1 -1
  17. package/bibliotecas/dialetos/pitugues/biblioteca-global.js +147 -0
  18. package/bibliotecas/dialetos/pitugues/biblioteca-global.js.map +1 -1
  19. package/bin/package.json +1 -1
  20. package/declaracoes/ajuda.d.ts +2 -0
  21. package/declaracoes/ajuda.d.ts.map +1 -1
  22. package/declaracoes/ajuda.js +3 -0
  23. package/declaracoes/ajuda.js.map +1 -1
  24. package/formatadores/formatador-pitugues.d.ts +1 -0
  25. package/formatadores/formatador-pitugues.d.ts.map +1 -1
  26. package/formatadores/formatador-pitugues.js +3 -1
  27. package/formatadores/formatador-pitugues.js.map +1 -1
  28. package/interpretador/comum.d.ts +1 -0
  29. package/interpretador/comum.d.ts.map +1 -1
  30. package/interpretador/comum.js +21 -0
  31. package/interpretador/comum.js.map +1 -1
  32. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts +1 -2
  33. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts.map +1 -1
  34. package/interpretador/dialetos/pitugues/interpretador-pitugues.js +0 -38
  35. package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
  36. package/interpretador/interpretador.d.ts +4 -2
  37. package/interpretador/interpretador.d.ts.map +1 -1
  38. package/interpretador/interpretador.js +39 -15
  39. package/interpretador/interpretador.js.map +1 -1
  40. package/package.json +1 -1
  41. package/tradutores/index.d.ts +1 -0
  42. package/tradutores/index.d.ts.map +1 -1
  43. package/tradutores/index.js +1 -0
  44. package/tradutores/index.js.map +1 -1
  45. package/tradutores/mermaid/index.d.ts +1 -1
  46. package/tradutores/mermaid/index.js +1 -1
  47. package/tradutores/mermaid/subgrafo-classe.d.ts +7 -5
  48. package/tradutores/mermaid/subgrafo-classe.d.ts.map +1 -1
  49. package/tradutores/mermaid/subgrafo-classe.js +18 -18
  50. package/tradutores/mermaid/subgrafo-classe.js.map +1 -1
  51. package/tradutores/mermaid/subgrafo-metodo.d.ts +13 -0
  52. package/tradutores/mermaid/subgrafo-metodo.d.ts.map +1 -0
  53. package/tradutores/mermaid/subgrafo-metodo.js +16 -0
  54. package/tradutores/mermaid/subgrafo-metodo.js.map +1 -0
  55. package/tradutores/tradutor-mermaidjs.d.ts +15 -6
  56. package/tradutores/tradutor-mermaidjs.d.ts.map +1 -1
  57. package/tradutores/tradutor-mermaidjs.js +145 -52
  58. package/tradutores/tradutor-mermaidjs.js.map +1 -1
  59. package/tradutores/tradutor-python.d.ts +11 -0
  60. package/tradutores/tradutor-python.d.ts.map +1 -1
  61. package/tradutores/tradutor-python.js +32 -2
  62. package/tradutores/tradutor-python.js.map +1 -1
  63. package/tradutores/tradutor-reverso-javascript.d.ts.map +1 -1
  64. package/tradutores/tradutor-reverso-javascript.js +0 -2
  65. package/tradutores/tradutor-reverso-javascript.js.map +1 -1
  66. package/tradutores/tradutor-ruby.d.ts +101 -0
  67. package/tradutores/tradutor-ruby.d.ts.map +1 -0
  68. package/tradutores/tradutor-ruby.js +687 -0
  69. package/tradutores/tradutor-ruby.js.map +1 -0
  70. package/umd/delegua.js +1369 -368
  71. package/tradutores/mermaid/diagrama-classe.d.ts +0 -16
  72. package/tradutores/mermaid/diagrama-classe.d.ts.map +0 -1
  73. package/tradutores/mermaid/diagrama-classe.js +0 -33
  74. package/tradutores/mermaid/diagrama-classe.js.map +0 -1
@@ -20,8 +20,10 @@ const primitivas_vetor_1 = __importDefault(require("../bibliotecas/primitivas-ve
20
20
  const primitivas_tupla_1 = __importDefault(require("../bibliotecas/dialetos/pitugues/primitivas-tupla"));
21
21
  const primitivos_1 = __importDefault(require("../tipos-de-dados/primitivos"));
22
22
  const delegua_1 = __importDefault(require("../tipos-de-dados/delegua"));
23
+ const delegua_2 = __importDefault(require("../tipos-de-simbolos/delegua"));
23
24
  /**
24
- * O interpretador de Delégua. Usado também por Pituguês.
25
+ * O interpretador de Delégua, usado também por Pituguês usando herança.
26
+ * @see InterpretadorPitugues
25
27
  */
26
28
  class Interpretador extends interpretador_base_1.InterpretadorBase {
27
29
  constructor(diretorioBase, performance = false, funcaoDeRetorno = null, funcaoDeRetornoMesmaLinha = null) {
@@ -180,11 +182,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
180
182
  * @param declaracao A declaração de ajuda.
181
183
  */
182
184
  async visitarDeclaracaoAjuda(declaracao) {
183
- if (!declaracao.elemento) {
184
- // TODO: Terminar
185
- }
186
- const elementoResolvido = await declaracao.elemento.aceitar(this);
187
- console.log(elementoResolvido);
185
+ return Promise.resolve((0, comum_1.pontoEntradaAjuda)(declaracao.funcao, declaracao.elemento));
188
186
  }
189
187
  visitarDeclaracaoDefinicaoFuncao(declaracao) {
190
188
  const funcao = new estruturas_1.DeleguaFuncao(declaracao.simbolo.lexema, declaracao.funcao);
@@ -716,15 +714,7 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
716
714
  return Promise.reject(new excecoes_1.ErroEmTempoDeExecucao(null, `Propriedade para objeto ou primitiva não encontrado: ${expressao.nomePropriedade}.`, expressao.linha));
717
715
  }
718
716
  async visitarExpressaoAjuda(expressao) {
719
- if (!expressao.funcao) {
720
- return "Para usar a ajuda, use como uma função: ajuda(objeto).";
721
- }
722
- if (!expressao.valor) {
723
- return "Te damos as boas-vindas ao utilitário de ajuda de Delégua!\n\n" +
724
- "Use ajuda(objeto) para obter informações sobre um objeto, função, classe ou módulo.\n" +
725
- "Use ajuda('tópico') para obter informações sobre um tópico específico.\n\n";
726
- }
727
- return (0, comum_1.obterTopicoAjuda)(expressao.valor);
717
+ return Promise.resolve((0, comum_1.pontoEntradaAjuda)(expressao.funcao, expressao.valor));
728
718
  }
729
719
  async visitarExpressaoArgumentoReferenciaFuncao(expressao) {
730
720
  const deleguaFuncao = this.pilhaEscoposExecucao.obterVariavelPorNome(expressao.simboloFuncao.lexema);
@@ -978,6 +968,40 @@ class Interpretador extends interpretador_base_1.InterpretadorBase {
978
968
  return (0, inferenciador_1.inferirTipoVariavel)(valorTipoDe);
979
969
  }
980
970
  }
971
+ async visitarExpressaoUnaria(expressao) {
972
+ // Tratamento especial para expressões unárias aplicadas a chamadas de método em literais numéricos.
973
+ // Por exemplo: -5.absoluto() deve ser avaliado como (-5).absoluto(), não como -(5.absoluto())
974
+ // Isso garante que o operador unário seja aplicado ao literal antes de chamar o método.
975
+ if ((expressao.operador.tipo === delegua_2.default.SUBTRACAO || expressao.operador.tipo === delegua_2.default.ADICAO) &&
976
+ expressao.operando instanceof construtos_1.Chamada) {
977
+ const entidadeChamada = expressao.operando.entidadeChamada;
978
+ // Verifica se é AcessoMetodo ou AcessoMetodoOuPropriedade
979
+ if (entidadeChamada instanceof construtos_1.AcessoMetodo || entidadeChamada instanceof construtos_1.AcessoMetodoOuPropriedade) {
980
+ const objetoAcesso = entidadeChamada.objeto;
981
+ // Verifica se o objeto do método é um literal numérico
982
+ if (objetoAcesso instanceof construtos_1.Literal && typeof objetoAcesso.valor === 'number') {
983
+ // Cria um novo literal com o sinal aplicado
984
+ const novoLiteral = new construtos_1.Literal(objetoAcesso.hashArquivo, objetoAcesso.linha, expressao.operador.tipo === delegua_2.default.SUBTRACAO ?
985
+ -objetoAcesso.valor :
986
+ +objetoAcesso.valor);
987
+ // Cria um novo acesso com o literal modificado
988
+ let novoAcesso;
989
+ if (entidadeChamada instanceof construtos_1.AcessoMetodo) {
990
+ novoAcesso = new construtos_1.AcessoMetodo(entidadeChamada.hashArquivo, novoLiteral, entidadeChamada.nomeMetodo, entidadeChamada.tipoRetornoMetodo);
991
+ }
992
+ else {
993
+ novoAcesso = new construtos_1.AcessoMetodoOuPropriedade(entidadeChamada.hashArquivo, novoLiteral, entidadeChamada.simbolo);
994
+ }
995
+ // Cria uma nova Chamada com o acesso modificado
996
+ const novaChamada = new construtos_1.Chamada(expressao.operando.hashArquivo, novoAcesso, expressao.operando.argumentos);
997
+ // Avalia a nova chamada
998
+ return await this.avaliar(novaChamada);
999
+ }
1000
+ }
1001
+ }
1002
+ // Para outros casos, usa o comportamento padrão
1003
+ return await super.visitarExpressaoUnaria(expressao);
1004
+ }
981
1005
  async visitarExpressaoVetor(expressao) {
982
1006
  // Delega ao interpretador base para processar o vetor
983
1007
  const vetor = await super.visitarExpressaoVetor(expressao);
@@ -1 +1 @@
1
- {"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":";;;;;;AAAA,8CAkCuB;AACvB,6CAQsB;AAQtB,6DAAyD;AACzD,oDAAuD;AACvD,0CAAoD;AACpD,gDAcwB;AACxB,wCAAkF;AAClF,qCAAkC;AAQlC,mCAAuE;AAEvE,iGAAwE;AACxE,yFAAgE;AAChE,uFAA8D;AAC9D,uFAA8D;AAC9D,yGAAgF;AAEhF,8EAAiE;AACjE,wEAA2D;AAE3D;;GAEG;AACH,MAAa,aAAc,SAAQ,sCAAiB;IAIhD,YACI,aAAqB,EACrB,WAAW,GAAG,KAAK,EACnB,kBAA4B,IAAI,EAChC,4BAAsC,IAAI;QAE1C,KAAK,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,oCAAoC,EAAE,CAAC;IAChD,CAAC;IAED;;;OAGG;IACO,oCAAoC;QAC1C,IAAA,kCAA0B,EAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC;IAES,wBAAwB,CAAC,gBAAkC;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAC3C,IAAI,CAAC,0BAA0B,EAC/B,IAAI,CAAC,oBAAoB,EACzB,gBAAgB,CAAC,QAAQ,CAC5B,CAAC;QAEF,OAAO,WAAW,CAAC;IACvB,CAAC;IAEQ,aAAa,CAAC,MAAW,EAAE,aAAsB,KAAK;QAC3D,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,MAAM,YAAY,6BAAgB,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,MAAM,YAAY,uBAAa,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5C,CAAC;gBAED,IAAI,MAAM,CAAC,KAAK,YAAY,6BAAgB,EAAE,CAAC;oBAC3C,OAAO,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvD,CAAC;gBAED,OAAO,MAAM,CAAC,KAAK,CAAC;YACxB,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,oBAAoB,CAAC,MAAW;QACpC,OAAO,IAAI;aACN,SAAS,CAAC,MAAM,CAAC;aACjB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;aACrB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;IAEQ,SAAS,CAAC,MAAW;QAC1B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,iBAAkB,CAAC,IAAI,CAAC;QAC5E,IAAI,OAAO,MAAM,KAAK,oBAAqB,CAAC,QAAQ,EAAE,CAAC;YACnD,OAAO,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QAC3C,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,YAAY,yBAAY;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QAC1E,IAAI,MAAM,YAAY,oBAAO,IAAI,MAAM,YAAY,kBAAK;YAAE,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC;QACzF,IAAI,MAAM,YAAY,gCAAmB,IAAI,MAAM,YAAY,0BAAa;YACxE,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;QAE9B,IAAI,MAAM,YAAY,uBAAa,EAAE,CAAC;YAClC,IAAI,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QACxF,CAAC;QAED,IAAI,MAAM,YAAY,4BAAe,EAAE,CAAC;YACpC,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,MAAM,YAAY,IAAI,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;gBACtC,SAAS,EAAE,MAAM;gBACjB,SAAS,EAAE,MAAM;aACpB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,YAAY,GAAW,GAAG,CAAC;YAC/B,KAAK,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;gBAC1B,mDAAmD;gBACnD,IAAI,QAAQ,YAAY,6BAAgB,EAAE,CAAC;oBACvC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC5C,CAAC;gBAED,IAAI,QAAQ,YAAY,kBAAK,EAAE,CAAC;oBAC5B,YAAY,IAAI,QAAQ,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC;oBACjD,SAAS;gBACb,CAAC;gBAED,yEAAyE;gBACzE,+DAA+D;gBAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC1B,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;oBAChD,SAAS;gBACb,CAAC;gBAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBAC/B,YAAY,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC3D,SAAS;gBACb,CAAC;gBACD,YAAY;oBACR,OAAO,QAAQ,KAAK,QAAQ;wBACxB,CAAC,CAAC,IAAI,QAAQ,KAAK;wBACnB,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9C,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7C,CAAC;YACD,YAAY,IAAI,GAAG,CAAC;YAEpB,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,oBAAqB,CAAC,MAAM,EAAE,CAAC;YACjD,MAAM,aAAa,GAAG,EAAE,CAAC;YACzB,KAAK,MAAM,WAAW,IAAI,MAAM,EAAE,CAAC;gBAC/B,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;gBAChC,IAAI,OAAO,KAAK,KAAK,oBAAqB,CAAC,QAAQ,EAAE,CAAC;oBAClD,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC3C,CAAC;gBAED,IACI,KAAK,YAAY,6BAAgB;oBACjC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,MAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,cAAc,CAAC,MAAM,CAAC,CAAA,CAAC,EAC1D,CAAC;oBACC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACtC,CAAC;gBAED,aAAa,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC;YACvC,CAAC;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACzC,CAAC;QAED,QAAQ,MAAM,CAAC,WAAW,EAAE,CAAC;YACzB,KAAK,MAAM;gBACP,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;oBACnB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;wBAClB,KAAK,YAAY;4BACb,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACxC;4BACI,OAAO,MAAM,CAAC,KAAK,CAAC;oBAC5B,CAAC;gBACL,CAAC;QACT,CAAC;QAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAEQ,KAAK,CAAC,6BAA6B,CACxC,UAAqD;QAErD,IAAI,oBAAoB,GAAG,IAAI,CAAC;QAChC,IAAI,UAAU,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YACpC,oBAAoB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACtE,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,sBAAsB,CAAC,UAAiB;QAC1C,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACvB,iBAAiB;QACrB,CAAC;QAED,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACnC,CAAC;IAEQ,gCAAgC,CAAC,UAA4B;QAClE,MAAM,MAAM,GAAG,IAAI,0BAAa,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/E,iEAAiE;QACjE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7E,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAE3E,OAAO,OAAO,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,UAAU,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,GAAG;YACvD,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa;YAC9C,UAAU,EAAE,MAAM;SACrB,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,2BAA2B,CACvC,QAA2B,EAC3B,gBAAyB;QAEzB,IAAI,eAAuD,CAAC;QAC5D,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,OACI,CAAC,gBAAgB;YACb,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC,CAAC;YAC3E,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EACzD,CAAC;YACC,IAAI,CAAC;gBACD,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,sBAAY,EAAE,CAAC;oBAC5E,IAAI,gBAAgB,EAAE,CAAC;wBACnB,OAAO;4BACH,cAAc,EAAE,QAAQ;4BACxB,IAAI,EAAE,OAAO;yBAChB,CAAC;oBACN,CAAC;oBAED,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,IAAI,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,yBAAe,EAAE,CAAC;oBAC/E,eAAe,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBAED,IAAI,gBAAgB,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;gBACvD,CAAC;YACL,CAAC;YAAC,OAAO,IAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACZ,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;iBACpC,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACnB,OAAO;gBACH,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE,OAAO;aAChB,CAAC;QACN,CAAC;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEQ,KAAK,CAAC,yBAAyB,CAAC,UAAoB;QACzD,OAAO,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAES,KAAK,CAAC,wBAAwB,CAAC,KAAqB,EAAE,gBAAyB;QACrF,IAAI,eAAuD,CAAC;QAC5D,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,GAAG,CAAC;YACA,IAAI,CAAC;gBACD,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC1D,IAAI,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,sBAAY,EAAE,CAAC;oBAC5E,IAAI,gBAAgB,EAAE,CAAC;wBACnB,OAAO;4BACH,cAAc,EAAE,QAAQ;4BACxB,IAAI,EAAE,OAAO;yBAChB,CAAC;oBACN,CAAC;oBAED,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,IAAI,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,yBAAe,EAAE,CAAC;oBAC/E,eAAe,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBAED,IAAI,gBAAgB,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;gBACvD,CAAC;YACL,CAAC;YAAC,OAAO,IAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACZ,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;iBACjC,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACL,CAAC,QACG,CAAC,gBAAgB;YACb,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC,CAAC;YAC3E,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAC9D;QAEF,IAAI,gBAAgB,EAAE,CAAC;YACnB,OAAO;gBACH,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE,OAAO;aAChB,CAAC;QACN,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,sBAAsB,CAAC,UAAiB;QACnD,OAAO,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAES,KAAK,CAAC,uBAAuB,CACnC,IAAmB,EACnB,gBAAyB;QAEzB,MAAM,uBAAuB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACvB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;QAEzB,IAAI,uBAAuB,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,eAAuD,CAAC;QAC5D,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,OACI,gBAAgB;YAChB,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC,EACxE,CAAC;YACC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBACjF,MAAM;YACV,CAAC;YAED,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,sBAAY,EAAE,CAAC;gBAC5E,IAAI,gBAAgB,EAAE,CAAC;oBACnB,OAAO;wBACH,cAAc,EAAE,QAAQ;wBACxB,IAAI,EAAE,OAAO;qBAChB,CAAC;gBACN,CAAC;gBAED,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,yBAAe,EAAE,CAAC;gBAC/E,eAAe,GAAG,IAAI,CAAC;YAC3B,CAAC;YAED,IAAI,gBAAgB,EAAE,CAAC;gBACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACnB,OAAO;gBACH,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE,OAAO;aAChB,CAAC;QACN,CAAC;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAEQ,KAAK,CAAC,qBAAqB,CAAC,UAAgB;QACjD,OAAO,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAES,KAAK,CAAC,2BAA2B,CACvC,QAA2B,EAC3B,gBAAyB;QAEzB,IAAI,eAAuD,CAAC;QAC5D,wEAAwE;QACxE,qBAAqB;QACrB,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC;QAC1B,MAAM,0BAA0B,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAClF,IAAI,+BAA+B,GAAQ,IAAI,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;QAE1F,mEAAmE;QACnE,wBAAwB;QACxB,IAAI,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACnD,+BAA+B,GAAG,MAAM,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,CACjF,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,kBAAK,CACZ,IAAI,oBAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAChE,IAAI,oBAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,KAAK,EAAG,CAAC,CAAC,CAAC,CAAS,EAAE,IAAA,mCAAmB,EAAC,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC,CACrG,CACJ,CAAC;QACN,CAAC;QAED,IACI,QAAQ,CAAC,iBAAiB,CAAC,IAAI,KAAK,OAAO;YAC3C,OAAO,+BAA+B,KAAK,QAAQ,EACrD,CAAC;YACC,+BAA+B,GAAG,+BAA+B,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC,MAAM,CACjB,sEAAsE,CACzE,CAAC;QACN,CAAC;QAED,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,OACI,CAAC,gBAAgB;YACb,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC,CAAC;YAC3E,QAAQ,CAAC,YAAY,GAAG,+BAA+B,CAAC,MAAM,EAChE,CAAC;YACC,IAAI,CAAC;gBACD,IAAI,QAAQ,CAAC,gBAAgB,YAAY,qBAAQ,EAAE,CAAC;oBAChD,IAAI,CAAC,oBAAoB,CAAC,eAAe,CACrC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,EACxC,+BAA+B,CAAC,QAAQ,CAAC,YAAY,CAAC,CACzD,CAAC;gBACN,CAAC;gBAED,IAAI,QAAQ,CAAC,gBAAgB,YAAY,kBAAK,EAAE,CAAC;oBAC7C,MAAM,cAAc,GAAG,+BAA+B,CAClD,QAAQ,CAAC,YAAY,CACf,CAAC;oBAEX,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBACrC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC;wBAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC;qBAClD,CAAC,CAAA;oBAEF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;wBACnC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC;wBACrC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;qBACvC,CAAC,CAAC;oBAEH,mDAAmD;oBACnD,IAAI,CAAC,oBAAoB,CAAC,eAAe,CACrC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EACzB,YAAY,CAAC,CAAC,CAAC,CAClB,CAAC;oBAEF,IAAI,CAAC,oBAAoB,CAAC,eAAe,CACrC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EACzB,YAAY,CAAC,CAAC,CAAC,CAClB,CAAC;gBACN,CAAC;gBAED,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACtD,IAAI,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,sBAAY,EAAE,CAAC;oBAC5E,IAAI,gBAAgB,EAAE,CAAC;wBACnB,OAAO;4BACH,cAAc,EAAE,QAAQ;4BACxB,IAAI,EAAE,OAAO;yBAChB,CAAC;oBACN,CAAC;oBAED,OAAO,IAAI,CAAC;gBAChB,CAAC;gBAED,IAAI,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,yBAAe,EAAE,CAAC;oBAC/E,eAAe,GAAG,IAAI,CAAC;gBAC3B,CAAC;gBAED,IAAI,gBAAgB,EAAE,CAAC;oBACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;gBACvD,CAAC;gBAED,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC5B,CAAC;YAAC,OAAO,IAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACZ,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,WAAW,EAAE,QAAQ,CAAC,WAAW;iBACpC,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QAED,IAAI,gBAAgB,EAAE,CAAC;YACnB,OAAO;gBACH,cAAc,EAAE,QAAQ;gBACxB,IAAI,EAAE,OAAO;aAChB,CAAC;QACN,CAAC;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,UAAoB;QAChD,OAAO,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAEQ,KAAK,CAAC,oCAAoC,CAC/C,SAA+B;QAE/B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;SACjC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAsB,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACrB,SAAS,CAAC,iBAAiB,EAC3B,0DAA0D,EAC1D,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;YACN,CAAC;YAED,IAAI,WAAW,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC;YACjC,CAAC;YAED,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAClD,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACrB,SAAS,CAAC,iBAAiB,EAC3B,oCAAoC,EACpC,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,MAAM,YAAY,mBAAM,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACrB,SAAS,CAAC,iBAAiB,EAC3B,2DAA2D,EAC3D,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;YACN,CAAC;YAED,IAAI,WAAW,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;YAC3C,CAAC;YAED,IAAI,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC5D,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACrB,SAAS,CAAC,iBAAiB,EAC3B,oCAAoC,EACpC,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;YACN,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC/C,IAAI,QAAQ,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC9E,OAAO,QAAQ,CAAC,KAAK,CAAC;YAC1B,CAAC;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,IAAI,MAAM,YAAY,kBAAK,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,IACI,MAAM,CAAC,WAAW,KAAK,MAAM;YAC7B,MAAM,YAAY,gCAAmB;YACrC,MAAM,YAAY,0BAAa;YAC/B,MAAM,YAAY,gCAAmB;YACrC,MAAM,YAAY,0BAAa,EACjC,CAAC;YACC,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAC;YACxC,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;QACvC,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,oBAAqB,CAAC,KAAK,EAAE,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACrB,SAAS,CAAC,iBAAiB,EAC3B,0DAA0D,EAC1D,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;YACN,CAAC;YAED,IAAI,WAAW,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC;YACjC,CAAC;YAED,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAClD,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACrB,SAAS,CAAC,iBAAiB,EAC3B,yBAAyB,EACzB,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;YACN,CAAC;YAED,OAAO,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACrB;YACI,WAAW,EAAE,IAAI,CAAC,0BAA0B;YAC5C,KAAK,EAAE,IAAI,CAAC,oBAAoB;SACf,EACrB,kFAAkF,EAClF,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;IACN,CAAC;IAEQ,KAAK,CAAC,4BAA4B,CAAC,SAAuB;QAC/D,MAAM,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEtE,IAAI,cAAc,GAAsB,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7E,wDAAwD;QACxD,8CAA8C;QAC9C,mEAAmE;QACnE,uBAAuB;QACvB,IAAI,cAAc,CAAC,WAAW,KAAK,uBAAa,EAAE,CAAC;YAC/C,cAAc,GAAI,cAAsB,CAAC,KAAK,CAAC;QACnD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAElD,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,KAAK,gCAAmB,EAAE,CAAC;YACnE,OAAQ,MAA8B,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QACrF,CAAC;QAED,IAAI,MAAM,YAAY,mBAAM,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,sBAAsB,GAAG,0BAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACrE,IAAI,sBAAsB,EAAE,CAAC;gBACzB,OAAO,IAAI,4BAAe,CACtB,UAAU,EACV,MAAM,EACN,sBAAsB,CAAC,aAAa,EACpC,SAAS,CAAC,UAAU,EACpB,OAAO,CACV,CAAC;YACN,CAAC;QACL,CAAC;QAED,0DAA0D;QAC1D,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,SAAS,CAAC,UAAU,IAAI,+BAAoB,EAAE,CAAC;gBAC/C,MAAM,2BAA2B,GAC7B,+BAAoB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;gBAC7D,OAAO,IAAI,4BAAe,CAAC,UAAU,EAAE,MAAM,EAAE,2BAA2B,EAAE,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YACpH,CAAC;YAED,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAChD,CAAC;QAED,6EAA6E;QAC7E,6EAA6E;QAC7E,mDAAmD;QAEnD,4CAA4C;QAC5C,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,oBAAqB,CAAC,MAAM,EAAE,CAAC;YACvE,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAED,4CAA4C;QAC5C,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,oBAAqB,CAAC,MAAM,EAAE,CAAC;YACvE,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;QAED,+DAA+D;QAC/D,cAAc;QACd,IAAI,MAAM,YAAY,0BAAa,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAC5D,CAAC;QAED,IAAI,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;QACrC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAClD,UAAU,GAAG,IAAA,mCAAmB,EAAC,MAAa,CAAC,CAAC;QACpD,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,cAAc;QACd,QAAQ,UAAU,EAAE,CAAC;YACjB,KAAK,iBAAkB,CAAC,OAAO,CAAC;YAChC,KAAK,iBAAkB,CAAC,MAAM,CAAC;YAC/B,KAAK,iBAAkB,CAAC,MAAM;gBAC1B,MAAM,uBAAuB,GACzB,2BAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;gBACzD,IAAI,uBAAuB,EAAE,CAAC;oBAC1B,OAAO,IAAI,4BAAe,CAAC,UAAU,EAAE,MAAM,EAAE,uBAAuB,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC9G,CAAC;gBACD,MAAM;YACV,KAAK,iBAAkB,CAAC,KAAK;gBACzB,MAAM,sBAAsB,GACxB,0BAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;gBACxD,IAAI,sBAAsB,EAAE,CAAC;oBACzB,OAAO,IAAI,4BAAe,CAAC,UAAU,EAAE,MAAM,EAAE,sBAAsB,EAAE,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC1G,CAAC;gBACD,MAAM;YACV,KAAK,iBAAkB,CAAC,KAAK,CAAC;YAC9B,KAAK,iBAAkB,CAAC,YAAY,CAAC;YACrC,KAAK,iBAAkB,CAAC,YAAY,CAAC;YACrC,KAAK,iBAAkB,CAAC,WAAW;gBAC/B,MAAM,sBAAsB,GACxB,0BAAe,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;gBACxD,IAAI,sBAAsB,EAAE,CAAC;oBACzB,OAAO,IAAI,4BAAe,CAAC,UAAU,EAAE,MAAM,EAAE,sBAAsB,EAAE,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAC7G,CAAC;gBACD,MAAM;QACd,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACrB;YACI,WAAW,EAAE,IAAI,CAAC,0BAA0B;YAC5C,KAAK,EAAE,IAAI,CAAC,oBAAoB;SACf,EACrB,mDAAmD,SAAS,CAAC,UAAU,GAAG,EAC1E,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACM,KAAK,CAAC,yCAAyC,CACpD,SAAoC;QAEpC,MAAM,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,cAAc,GAAsB,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7E,wDAAwD;QACxD,8CAA8C;QAC9C,mEAAmE;QACnE,uBAAuB;QACvB,IAAI,cAAc,CAAC,WAAW,KAAK,uBAAa,EAAE,CAAC;YAC/C,MAAM,aAAa,GAAG,cAA+B,CAAC;YACtD,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAExD,IAAI,MAAM,CAAC,WAAW,KAAK,gCAAmB,EAAE,CAAC;YAC7C,OAAQ,MAA8B,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,MAAM,YAAY,mBAAM,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,sBAAsB,GAAG,0BAAe,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzE,IAAI,sBAAsB,EAAE,CAAC;gBACzB,OAAO,IAAI,4BAAe,CACtB,UAAU,EACV,MAAM,EACN,sBAAsB,CAAC,aAAa,EACpC,SAAS,CAAC,OAAO,CAAC,MAAM,EACxB,OAAO,CACV,CAAC;YACN,CAAC;QACL,CAAC;QAED,0DAA0D;QAC1D,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,+BAAoB,EAAE,CAAC;gBACnD,MAAM,2BAA2B,GAC7B,+BAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBACjE,OAAO,IAAI,4BAAe,CAAC,UAAU,EAAE,MAAM,EAAE,2BAA2B,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACxH,CAAC;YAED,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,0BAAe,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,OAAO,EACjB,wBAAwB,SAAS,CAAC,OAAO,CAAC,MAAM,iCAAiC,CACpF,CAAC;YACN,CAAC;YAED,MAAM,sBAAsB,GACxB,0BAAe,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;YAC5D,OAAO,IAAI,4BAAe,CAAC,UAAU,EAAE,MAAM,EAAE,sBAAsB,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9G,CAAC;QAED,+DAA+D;QAC/D,cAAc;QACd,IAAI,MAAM,YAAY,0BAAa,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QAChE,CAAC;QAED,IAAI,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;QACrC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAClD,UAAU,GAAG,IAAA,mCAAmB,EAAC,MAAa,CAAC,CAAC;QACpD,CAAC;QAED,yEAAyE;QACzE,yEAAyE;QACzE,cAAc;QACd,QAAQ,UAAU,EAAE,CAAC;YACjB,KAAK,iBAAkB,CAAC,OAAO,CAAC;YAChC,KAAK,iBAAkB,CAAC,MAAM,CAAC;YAC/B,KAAK,iBAAkB,CAAC,MAAM;gBAC1B,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,2BAAgB,CAAC,EAAE,CAAC;oBAClD,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,OAAO,EACjB,wBAAwB,SAAS,CAAC,OAAO,CAAC,MAAM,4BAA4B,UAAU,GAAG,CAC5F,CAAC;gBACN,CAAC;gBAED,MAAM,uBAAuB,GACzB,2BAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC7D,IAAI,uBAAuB,EAAE,CAAC;oBAC1B,OAAO,IAAI,4BAAe,CAAC,UAAU,EAAE,MAAM,EAAE,uBAAuB,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAChH,CAAC;gBACD,MAAM;YACV,KAAK,iBAAkB,CAAC,KAAK;gBACzB,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,0BAAe,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,OAAO,EACjB,wBAAwB,SAAS,CAAC,OAAO,CAAC,MAAM,4BAA4B,UAAU,GAAG,CAC5F,CAAC;gBACN,CAAC;gBAED,MAAM,sBAAsB,GACxB,0BAAe,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC5D,IAAI,sBAAsB,EAAE,CAAC;oBACzB,OAAO,IAAI,4BAAe,CAAC,UAAU,EAAE,MAAM,EAAE,sBAAsB,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC9G,CAAC;gBACD,MAAM;YACV,KAAK,iBAAkB,CAAC,KAAK,CAAC;YAC9B,KAAK,iBAAkB,CAAC,aAAa,CAAC;YACtC,KAAK,iBAAkB,CAAC,YAAY,CAAC;YACrC,KAAK,iBAAkB,CAAC,YAAY,CAAC;YACrC,KAAK,iBAAkB,CAAC,YAAY,CAAC;YACrC,KAAK,iBAAkB,CAAC,YAAY,CAAC;YACrC,KAAK,iBAAkB,CAAC,cAAc,CAAC;YACvC,KAAK,iBAAkB,CAAC,WAAW;gBAC/B,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,0BAAe,CAAC,EAAE,CAAC;oBACjD,MAAM,IAAI,gCAAqB,CAC3B,SAAS,CAAC,OAAO,EACjB,wBAAwB,SAAS,CAAC,OAAO,CAAC,MAAM,4BAA4B,UAAU,GAAG,CAC5F,CAAC;gBACN,CAAC;gBAED,MAAM,sBAAsB,GACxB,0BAAe,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC5D,IAAI,sBAAsB,EAAE,CAAC;oBACzB,OAAO,IAAI,4BAAe,CAAC,UAAU,EAAE,MAAM,EAAE,sBAAsB,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACjH,CAAC;gBACD,MAAM;QACd,CAAC;QAED,mFAAmF;QACnF,4BAA4B;QAC5B,qGAAqG;QACrG,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3E,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,wFAAwF;QACxF,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE,CAAC;YAC1D,OAAO,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACrB,IAAI,EACJ,kEAAkE,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,EAC7F,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;IACN,CAAC;IAEQ,KAAK,CAAC,iCAAiC,CAAC,SAA4B;QACzE,MAAM,UAAU,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtE,IAAI,cAAc,GAAsB,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7E,wDAAwD;QACxD,8CAA8C;QAC9C,mEAAmE;QACnE,uBAAuB;QACvB,IAAI,cAAc,CAAC,WAAW,KAAK,uBAAa,EAAE,CAAC;YAC/C,cAAc,GAAI,cAAgC,CAAC,KAAK,CAAC;QAC7D,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAElD,+EAA+E;QAC/E,8CAA8C;QAC9C,IAAI,MAAM,CAAC,WAAW,KAAK,gCAAmB,EAAE,CAAC;YAC7C,OAAQ,MAA8B,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QAC1F,CAAC;QAED,IAAI,MAAM,YAAY,mBAAM,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,oBAAoB,GAAG,0BAAe,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACxE,IAAI,oBAAoB,EAAE,CAAC;gBACvB,OAAO,IAAI,4BAAe,CACtB,UAAU,EACV,MAAM,EACN,oBAAoB,CAAC,aAAa,EAClC,SAAS,CAAC,eAAe,EACzB,OAAO,CACV,CAAC;YACN,CAAC;QACL,CAAC;QAED,0DAA0D;QAC1D,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAChC,IAAI,SAAS,CAAC,eAAe,IAAI,+BAAoB,EAAE,CAAC;gBACpD,MAAM,2BAA2B,GAC7B,+BAAoB,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,aAAa,CAAC;gBAClE,OAAO,IAAI,4BAAe,CAAC,UAAU,EAAE,MAAM,EAAE,2BAA2B,EAAE,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YACzH,CAAC;YAED,OAAO,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QACrD,CAAC;QAED,6EAA6E;QAC7E,6EAA6E;QAC7E,mDAAmD;QAEnD,4CAA4C;QAC5C,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,oBAAqB,CAAC,MAAM,EAAE,CAAC;YAC5E,OAAO,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC7C,CAAC;QAED,4CAA4C;QAC5C,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,oBAAqB,CAAC,MAAM,EAAE,CAAC;YAC5E,OAAO,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC7C,CAAC;QAED,+DAA+D;QAC/D,cAAc;QACd,IAAI,MAAM,YAAY,0BAAa,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC;QACjE,CAAC;QAED,IAAI,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC;QACrC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAClD,UAAU,GAAG,IAAA,mCAAmB,EAAC,MAAa,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACrB,IAAI,EACJ,wDAAwD,SAAS,CAAC,eAAe,GAAG,EACpF,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;IACN,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,SAA6B;QACrD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO,wDAAwD,CAAC;QACpE,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,gEAAgE;gBACnE,uFAAuF;gBACvF,4EAA4E,CAAC;QACrF,CAAC;QAED,OAAO,IAAA,wBAAgB,EAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEQ,KAAK,CAAC,yCAAyC,CACpD,SAAoC;QAEpC,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CAChE,SAAS,CAAC,aAAa,CAAC,MAAM,CACjC,CAAC;QAEF,OAAO,aAAa,CAAC;IACzB,CAAC;IAEQ,KAAK,CAAC,mCAAmC,CAC9C,SAA8B;QAE9B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,MAAM,CAAC,IAAI,KAAK,iBAAkB,CAAC,KAAK,EAAE,CAAC;YAC3C,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACpB,SAAS,CAAC,MAAmB,CAAC,OAAO,EACtC,kFAAkF,EAClF,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;QACN,CAAC;QAED,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEpC,mEAAmE;QACnE,uEAAuE;QACvE,wDAAwD;QACxD,IAAI,KAAK,YAAY,6BAAgB,EAAE,CAAC;YACpC,iBAAiB;YACjB,MAAM,YAAY,GAAI,SAAS,CAAC,MAAc,CAAC,OAAO,CAAC,MAAM,CAAC;YAC9D,IAAI,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC3E,IAAI,CAAC,oBAAoB,CAAC,0CAA0C,CAChE,YAAY,EACZ,KAAK,CAAC,QAAQ,CACjB,CAAC;YACN,CAAC;QACL,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChB,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;gBAC5B,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;YAED,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;YACvB,yFAAyF;QAC7F,CAAC;aAAM,IACH,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,CAAC;YACzC,MAAM,YAAY,gCAAmB;YACrC,MAAM,YAAY,0BAAa;YAC/B,MAAM,YAAY,gCAAmB;YACrC,MAAM,YAAY,0BAAa,EACjC,CAAC;YACC,MAAM,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACpB,SAAS,CAAC,MAAc,CAAC,IAAI,EAC9B,8EAA8E,EAC9E,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;OAGG;IACM,KAAK,CAAC,0BAA0B,CAAC,SAAkC;QACxE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACM,KAAK,CAAC,4BAA4B,CAAC,SAAmB;QAC3D,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClD,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC;QACjC,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,MAAM,GAAQ,IAAI,CAAC;QAEvB,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,QAAQ,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,KAAK,qBAAQ;gBACT,MAAM,YAAY,GAAG,SAAS,CAAC,IAAgB,CAAC;gBAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,CAClE,YAAY,CAAC,OAAO,CACvB,CAAC;gBACF,IAAI,iBAAiB,CAAC,KAAK,YAAY,6BAAgB,EAAE,CAAC;oBACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAChD,IAAI,CAAC,0BAA0B,EAC/B,IAAI,CAAC,oBAAoB,EACzB,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CACnC,CAAC;oBAEF,gBAAgB,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CACtC,YAAY,CAAC,OAAO,EACpB,cAAc,EACd,MAAM,CACT,CAAC;gBACN,CAAC;gBAED,MAAM;YACV,KAAK,sCAAyB;gBAC1B,8CAA8C;gBAC9C,MAAM,eAAe,GAAG,SAAS,CAAC,IAAiC,CAAC;gBACpE,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAClE,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;gBAElD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,MAAM,CAAC,WAAW,KAAK,gCAAmB,EAAE,CAAC;oBAC7C,MAAM,mBAAmB,GAAG,MAA6B,CAAC;oBAC1D,mBAAmB,CAAC,OAAO,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAChE,CAAC;qBAAM,CAAC;oBACJ,oEAAoE;oBACpE,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;gBACnD,CAAC;gBAED,MAAM;YACV;gBACI,MAAM,IAAI,gCAAqB,CAC3B,IAAI,EACJ,iCAAiC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CAChE,CAAC;QACV,CAAC;QAED,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,SAAuB;QACtD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAElD,IAAI,MAAM,CAAC,WAAW,KAAK,gCAAmB,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAC9E,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,gCAAqB,CACrB,SAAS,CAAC,IAAI,EACd,wDAAwD,EACxD,SAAS,CAAC,KAAK,CAClB,CACJ,CAAC;QACN,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,WAAW,KAAK,gCAAmB,EAAE,CAAC;YAC7C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC/C,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,IAAI,MAAM,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC;QACnD,CAAC;IACL,CAAC;IAED;;;OAGG;IACM,KAAK,CAAC,0BAA0B,CAAC,SAAqB;QAC3D,8EAA8E;QAC9E,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,0BAA0B,CAAC,SAAS,CAAC,CAAC;QAErE,+EAA+E;QAC/E,MAAM,wBAAwB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC7E,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,wBAAwB,CAAC,CAAC;QAC9E,OAAO,IAAI,6BAAgB,CAAC,wBAAwB,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,SAAgB;QACxC,MAAM,QAAQ,GAA4B,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjF,MAAM,OAAO,GAA4B,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC/E,MAAM,aAAa,GAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,YAAY,GAAQ,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YACxD,OAAO,YAAY,CAAC;QACxB,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAED,wBAAwB,CAAC,SAAgC;QACrD,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,qBAAqB,CAAC,SAA6B;QAC/C,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,wBAAwB,CAAC,SAAgC;QACrD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAC3E,CAAC;IAED,KAAK,CAAC,gCAAgC,CAAC,gBAAkC;QACrE,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,OAAO,CAC5C,gBAAgB,CAAC,0BAA0B,CAC9C,CAAC;QACF,IAAI,0BAA0B,GAAQ,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAEhF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;YAC7C,OAAO,OAAO,CAAC,MAAM,CACjB,sEAAsE,CACzE,CAAC;QACN,CAAC;QAED,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3E,MAAM,6BAA6B,GAAG,oBAAoB,CAAC,cAAc;aACpE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;aACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvC,OAAO,6BAA6B,CAAC;IACzC,CAAC;IAED,oBAAoB,CAAC,SAA4B;QAC7C,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED,wBAAwB,CAAC,SAAgC;QACrD,OAAO,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEQ,KAAK,CAAC,gCAAgC,CAAC,SAA2B;QACvE,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1F,OAAO,aAAa,CAAC;IACzB,CAAC;IAEQ,KAAK,CAAC,wBAAwB,CAAC,UAAmB;QACvD,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,UAAU,CAAC,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9D,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAEhE,gGAAgG;QAChG,kEAAkE;QAClE,6EAA6E;QAC7E,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,iBAAiB,GAAG,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACpE,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,yEAAyE;YACnH,CAAC;QACL,CAAC;QAED,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACM,KAAK,CAAC,yBAAyB,CAAC,SAAoB;QACzD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,SAAqB;QAClD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QACrE,IAAI,sBAAsB,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAEQ,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QACnD,IAAI,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC;QAElC,QAAQ,WAAW,CAAC,WAAW,EAAE,CAAC;YAC9B,KAAK,iCAAoB,CAAC;YAC1B,KAAK,wBAAW,CAAC;YACjB,KAAK,oBAAO,CAAC;YACb,KAAK,oBAAO,CAAC;YACb,KAAK,uBAAU,CAAC;YAChB,KAAK,mBAAM;gBACP,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC9C,IAAI,WAAW,YAAY,6BAAgB,EAAE,CAAC;oBAC1C,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CACrC,IAAI,CAAC,0BAA0B,EAC/B,IAAI,CAAC,oBAAoB,EACzB,WAAW,CAAC,QAAQ,CACvB,CAAC;gBACN,CAAC;gBAED,OAAO,WAAW,CAAC,IAAI,IAAI,IAAA,mCAAmB,EAAC,WAAW,CAAC,CAAC;YAChE,KAAK,yBAAY;gBACb,MAAM,YAAY,GAAG,WAA2B,CAAC;gBACjD,MAAM,0BAA0B,GAAG,YAAY,CAAC,iBAAiB,CAAC,OAAO,CACrE,KAAK,EACL,YAAY,CAAC,MAAM,CAAC,IAAI,CAC3B,CAAC;gBACF,OAAO,UAAU,0BAA0B,GAAG,CAAC;YACnD,KAAK,8BAAiB;gBAClB,MAAM,iBAAiB,GAAG,WAAgC,CAAC;gBAC3D,OAAO,iBAAiB,CAAC,sBAAsB,CAAC;YACpD,KAAK,sCAAyB;gBAC1B,4CAA4C;gBAC5C,oEAAoE;gBACpE,MAAM,IAAI,gCAAqB,CAAC,SAAS,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YACjF,KAAK,qBAAO;gBACR,OAAO,eAAe,CAAC;YAC3B,KAAK,iBAAI;gBACL,OAAO,eAAe,CAAC;YAC3B,KAAK,oBAAO;gBACR,MAAM,WAAW,GAAG,WAAsB,CAAC;gBAC3C,OAAO,WAAW,CAAC,IAAI,CAAC;YAC5B,KAAK,mBAAM;gBACP,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACnD,OAAO,WAAW,UAAU,GAAG,CAAC;YACpC,KAAK,qBAAQ;gBACT,OAAO,WAAW,CAAC,IAAI,CAAC;YAC5B,KAAK,kBAAK;gBACN,MAAM,KAAK,GAAG,WAAoB,CAAC;gBACnC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAChF,CAAC;gBACF,OAAO,IAAA,mCAAmB,EAAC,aAAa,CAAC,CAAC;YAC9C;gBACI,OAAO,IAAA,mCAAmB,EAAC,WAAW,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,qBAAqB,CAAC,SAAgB;QACjD,sDAAsD;QACtD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAE3D,4JAA4J;QAC5J,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;QACzE,OAAO,IAAI,6BAAgB,CAAC,mBAAmB,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;OASG;IACM,KAAK,CAAC,oBAAoB,CAC/B,cAAc,GAAG,KAAK;QAEtB,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;QAC7D,IAAI,eAAuD,CAAC;QAC5D,IAAI,CAAC;YACD,OAEI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,YAAY,gBAAM,CAAC;gBACtE,YAAY,CAAC,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,EAC9D,YAAY,CAAC,eAAe,EAAE,EAChC,CAAC;gBACC,MAAM,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;gBAC/E,IAAI,CAAC,oBAAoB,GAAG,eAAe,CAAC,KAAK,CAAC;gBAClD,IAAI,CAAC,0BAA0B,GAAG,eAAe,CAAC,WAAW,CAAC;gBAC9D,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO,eAAe,CAAC;QAC3B,CAAC;QAAC,OAAO,IAAS,EAAE,CAAC;YACjB,MAAM,eAAe,GAAG,YAAY,CAAC,WAAW,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC/E,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;oBACZ,WAAW,EAAE,IAAI;oBACjB,KAAK,EAAE,eAAe,CAAC,KAAK;oBAC5B,WAAW,EAAE,eAAe,CAAC,WAAW;iBAC3C,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;YACnE,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC;YAE/D,IACI,cAAc;gBACd,CAAC,eAAe,IAAI,eAAe,CAAC,cAAc,CAAC,eAAe,KAAK,IAAI,CAAC,EAC9E,CAAC;gBACC,cAAc,CAAC,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAChD,cAAc,CAAC,aAAa,CAAC,OAAO,EACpC,YAAY,CAAC,aAAa,CAAC,OAAO,CACrC,CAAC;gBAEF,cAAc,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC;oBACnD,GAAG,cAAc,CAAC,aAAa,CAAC,eAAe;oBAC/C,GAAG,YAAY,CAAC,aAAa,CAAC,eAAe;iBAChD,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,gBAAgB,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACtF,CAAC;QACL,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,SAAiB;QAC1C,OAAO,KAAK,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACM,KAAK,CAAC,WAAW,CACtB,WAAyB,EACzB,cAAwB;QAExB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QACxE,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE9E,IACI,eAAe;gBACf,eAAe,CAAC,cAAc,YAAY,uBAAa;gBACvD,eAAe,CAAC,cAAc,CAAC,KAAK,YAAY,6BAAgB,EAClE,CAAC;gBACC,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC7D,eAAe,CAAC,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAC9D,gBAAgB,CAAC,WAAW,EAC5B,gBAAgB,CAAC,KAAK,EACtB,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAChD,CAAC;YACN,CAAC;QACL,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AAx7CD,sCAw7CC"}
1
+ {"version":3,"file":"interpretador.js","sourceRoot":"","sources":["../../fontes/interpretador/interpretador.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designliquido/delegua",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Linguagem de programação simples e moderna usando português estruturado.",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -9,4 +9,5 @@ export * from './tradutor-python';
9
9
  export * from './tradutor-reverso-javascript';
10
10
  export * from './tradutor-reverso-python';
11
11
  export * from './tradutor-reverso-tenda';
12
+ export * from './tradutor-ruby';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/tradutores/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../fontes/tradutores/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC"}
@@ -25,4 +25,5 @@ __exportStar(require("./tradutor-python"), exports);
25
25
  __exportStar(require("./tradutor-reverso-javascript"), exports);
26
26
  __exportStar(require("./tradutor-reverso-python"), exports);
27
27
  __exportStar(require("./tradutor-reverso-tenda"), exports);
28
+ __exportStar(require("./tradutor-ruby"), exports);
28
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/tradutores/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,0DAAwC;AACxC,4DAA0C;AAC1C,qDAAmC;AACnC,wDAAsC;AACtC,uDAAqC;AACrC,0DAAwC;AACxC,oDAAkC;AAClC,gEAA8C;AAC9C,4DAA0C;AAC1C,2DAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../fontes/tradutores/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,0DAAwC;AACxC,4DAA0C;AAC1C,qDAAmC;AACnC,wDAAsC;AACtC,uDAAqC;AACrC,0DAAwC;AACxC,oDAAkC;AAClC,gEAA8C;AAC9C,4DAA0C;AAC1C,2DAAyC;AACzC,kDAAgC"}
@@ -1,6 +1,6 @@
1
1
  export * from './aresta-fluxograma';
2
- export * from './diagrama-classe';
3
2
  export * from './subgrafo-classe';
4
3
  export * from './subgrafo-funcao';
4
+ export * from './subgrafo-metodo';
5
5
  export * from './vertice-fluxograma';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -15,8 +15,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./aresta-fluxograma"), exports);
18
- __exportStar(require("./diagrama-classe"), exports);
19
18
  __exportStar(require("./subgrafo-classe"), exports);
20
19
  __exportStar(require("./subgrafo-funcao"), exports);
20
+ __exportStar(require("./subgrafo-metodo"), exports);
21
21
  __exportStar(require("./vertice-fluxograma"), exports);
22
22
  //# sourceMappingURL=index.js.map
@@ -1,14 +1,16 @@
1
+ import { ArestaFluxograma } from "./aresta-fluxograma";
2
+ import { SubgrafoMetodo } from "./subgrafo-metodo";
1
3
  import { VerticeFluxograma } from "./vertice-fluxograma";
2
4
  export declare class SubgrafoClasse {
3
5
  nomeClasse: string;
4
6
  linha: number;
5
7
  superClasse?: string;
6
8
  vertices: VerticeFluxograma[];
7
- metodos: {
8
- nome: string;
9
- vertices: VerticeFluxograma[];
10
- }[];
11
- constructor(nomeClasse: string, linha: number, superClasse?: string);
9
+ construtor?: SubgrafoMetodo;
10
+ metodos: SubgrafoMetodo[];
11
+ arestaInicial: ArestaFluxograma;
12
+ arestaFinal: ArestaFluxograma;
13
+ constructor(nomeClasse: string, linha: number, arestaInicial: ArestaFluxograma, arestaFinal: ArestaFluxograma, superClasse?: string);
12
14
  paraTexto(): string;
13
15
  }
14
16
  //# sourceMappingURL=subgrafo-classe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subgrafo-classe.d.ts","sourceRoot":"","sources":["../../../fontes/tradutores/mermaid/subgrafo-classe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,cAAc;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAA;KAAE,EAAE,CAAC;gBAE/C,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAQnE,SAAS,IAAI,MAAM;CAuCtB"}
1
+ {"version":3,"file":"subgrafo-classe.d.ts","sourceRoot":"","sources":["../../../fontes/tradutores/mermaid/subgrafo-classe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,cAAc;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,aAAa,EAAE,gBAAgB,CAAC;IAChC,WAAW,EAAE,gBAAgB,CAAC;gBAG1B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,gBAAgB,EAC/B,WAAW,EAAE,gBAAgB,EAC7B,WAAW,CAAC,EAAE,MAAM;IAWxB,SAAS,IAAI,MAAM;CAsCtB"}
@@ -2,40 +2,40 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SubgrafoClasse = void 0;
4
4
  class SubgrafoClasse {
5
- constructor(nomeClasse, linha, superClasse) {
5
+ constructor(nomeClasse, linha, arestaInicial, arestaFinal, superClasse) {
6
6
  this.nomeClasse = nomeClasse;
7
7
  this.linha = linha;
8
8
  this.superClasse = superClasse;
9
9
  this.vertices = [];
10
10
  this.metodos = [];
11
+ this.arestaInicial = arestaInicial;
12
+ this.arestaFinal = arestaFinal;
11
13
  }
12
14
  paraTexto() {
13
- let resultado = ` subgraph Classe_${this.nomeClasse}_${this.linha}["Classe: ${this.nomeClasse}`;
15
+ let resultado = ` subgraph ${this.nomeClasse}["Classe: ${this.nomeClasse}`;
14
16
  if (this.superClasse) {
15
17
  resultado += ` (estende ${this.superClasse})`;
16
18
  }
17
19
  resultado += `"]\n`;
18
- resultado += ` direction TB\n`;
19
- // de início da classe
20
- resultado += ` ClasseInicio_${this.nomeClasse}_${this.linha}((Início da Classe))\n`;
21
- // Adiciona os métodos como sub-subgrafos
22
- for (const metodo of this.metodos) {
23
- resultado += ` subgraph Metodo_${metodo.nome}_${this.nomeClasse}_${this.linha}["Método: ${metodo.nome}"]\n`;
20
+ // Renderiza o construtor se existir
21
+ if (this.construtor) {
22
+ resultado += ` subgraph construtor_${this.nomeClasse}["Construtor"]\n`;
24
23
  resultado += ` direction TB\n`;
25
- for (const vertice of metodo.vertices) {
26
- // Adiciona indentação extra para vértices dentro do método
27
- const textoVertice = vertice.paraTexto().replace(/^ {4}/, ' ');
28
- resultado += textoVertice;
24
+ for (const vertice of this.construtor.vertices) {
25
+ const textoVertice = vertice.paraTexto();
26
+ resultado += ' ' + textoVertice;
29
27
  }
30
28
  resultado += ` end\n`;
31
29
  }
32
- // Conecta o início da classe aos métodos
33
- if (this.metodos.length > 0) {
34
- const primeiroMetodo = this.metodos[0];
35
- if (primeiroMetodo.vertices.length > 0) {
36
- const primeiraAresta = primeiroMetodo.vertices[0].origem.texto;
37
- resultado += ` ClasseInicio_${this.nomeClasse}_${this.linha} --> ${primeiraAresta}\n`;
30
+ // Renderiza os métodos
31
+ for (const metodo of this.metodos) {
32
+ resultado += ` subgraph ${metodo.nomeMetodo}_${this.nomeClasse}["Método: ${metodo.nomeMetodo}()"]\n`;
33
+ resultado += ` direction TB\n`;
34
+ for (const vertice of metodo.vertices) {
35
+ const textoVertice = vertice.paraTexto();
36
+ resultado += ' ' + textoVertice;
38
37
  }
38
+ resultado += ` end\n`;
39
39
  }
40
40
  resultado += ` end\n`;
41
41
  return resultado;
@@ -1 +1 @@
1
- {"version":3,"file":"subgrafo-classe.js","sourceRoot":"","sources":["../../../fontes/tradutores/mermaid/subgrafo-classe.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;IAOvB,YAAY,UAAkB,EAAE,KAAa,EAAE,WAAoB;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,SAAS;QACL,IAAI,SAAS,GAAG,uBAAuB,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;QAEnG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,SAAS,IAAI,aAAa,IAAI,CAAC,WAAW,GAAG,CAAC;QAClD,CAAC;QAED,SAAS,IAAI,MAAM,CAAC;QACpB,SAAS,IAAI,wBAAwB,CAAC;QAEtC,yBAAyB;QACzB,SAAS,IAAI,wBAAwB,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,wBAAwB,CAAC;QAE3F,yCAAyC;QACzC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,SAAS,IAAI,2BAA2B,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,aAAa,MAAM,CAAC,IAAI,MAAM,CAAC;YACnH,SAAS,IAAI,4BAA4B,CAAC;YAE1C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpC,2DAA2D;gBAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBAC1E,SAAS,IAAI,YAAY,CAAC;YAC9B,CAAC;YAED,SAAS,IAAI,eAAe,CAAC;QACjC,CAAC;QAED,yCAAyC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/D,SAAS,IAAI,wBAAwB,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,QAAQ,cAAc,IAAI,CAAC;YACjG,CAAC;QACL,CAAC;QAED,SAAS,IAAI,WAAW,CAAC;QACzB,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAtDD,wCAsDC"}
1
+ {"version":3,"file":"subgrafo-classe.js","sourceRoot":"","sources":["../../../fontes/tradutores/mermaid/subgrafo-classe.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;IAUvB,YACI,UAAkB,EAClB,KAAa,EACb,aAA+B,EAC/B,WAA6B,EAC7B,WAAoB;QAEpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;IAED,SAAS;QACL,IAAI,SAAS,GAAG,gBAAgB,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,UAAU,EAAE,CAAC;QAE9E,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,SAAS,IAAI,aAAa,IAAI,CAAC,WAAW,GAAG,CAAC;QAClD,CAAC;QAED,SAAS,IAAI,MAAM,CAAC;QAEpB,oCAAoC;QACpC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,SAAS,IAAI,+BAA+B,IAAI,CAAC,UAAU,kBAAkB,CAAC;YAC9E,SAAS,IAAI,4BAA4B,CAAC;YAE1C,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzC,SAAS,IAAI,MAAM,GAAG,YAAY,CAAC;YACvC,CAAC;YAED,SAAS,IAAI,eAAe,CAAC;QACjC,CAAC;QAED,uBAAuB;QACvB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChC,SAAS,IAAI,oBAAoB,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,aAAa,MAAM,CAAC,UAAU,QAAQ,CAAC;YAC5G,SAAS,IAAI,4BAA4B,CAAC;YAE1C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpC,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzC,SAAS,IAAI,MAAM,GAAG,YAAY,CAAC;YACvC,CAAC;YAED,SAAS,IAAI,eAAe,CAAC;QACjC,CAAC;QAED,SAAS,IAAI,WAAW,CAAC;QACzB,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAhED,wCAgEC"}
@@ -0,0 +1,13 @@
1
+ import { ArestaFluxograma } from "./aresta-fluxograma";
2
+ import { VerticeFluxograma } from "./vertice-fluxograma";
3
+ export declare class SubgrafoMetodo {
4
+ nomeMetodo: string;
5
+ nomeClasse: string;
6
+ linha: number;
7
+ vertices: VerticeFluxograma[];
8
+ arestaInicial: ArestaFluxograma;
9
+ arestaFinal: ArestaFluxograma;
10
+ ehConstrutor: boolean;
11
+ constructor(nomeMetodo: string, nomeClasse: string, linha: number, arestaInicial: ArestaFluxograma, arestaFinal: ArestaFluxograma, ehConstrutor?: boolean);
12
+ }
13
+ //# sourceMappingURL=subgrafo-metodo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subgrafo-metodo.d.ts","sourceRoot":"","sources":["../../../fontes/tradutores/mermaid/subgrafo-metodo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,cAAc;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,aAAa,EAAE,gBAAgB,CAAC;IAChC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;gBAGlB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,gBAAgB,EAC/B,WAAW,EAAE,gBAAgB,EAC7B,YAAY,GAAE,OAAe;CAUpC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SubgrafoMetodo = void 0;
4
+ class SubgrafoMetodo {
5
+ constructor(nomeMetodo, nomeClasse, linha, arestaInicial, arestaFinal, ehConstrutor = false) {
6
+ this.nomeMetodo = nomeMetodo;
7
+ this.nomeClasse = nomeClasse;
8
+ this.linha = linha;
9
+ this.vertices = [];
10
+ this.arestaInicial = arestaInicial;
11
+ this.arestaFinal = arestaFinal;
12
+ this.ehConstrutor = ehConstrutor;
13
+ }
14
+ }
15
+ exports.SubgrafoMetodo = SubgrafoMetodo;
16
+ //# sourceMappingURL=subgrafo-metodo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subgrafo-metodo.js","sourceRoot":"","sources":["../../../fontes/tradutores/mermaid/subgrafo-metodo.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;IASvB,YACI,UAAkB,EAClB,UAAkB,EAClB,KAAa,EACb,aAA+B,EAC/B,WAA6B,EAC7B,eAAwB,KAAK;QAE7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;CACJ;AAzBD,wCAyBC"}
@@ -1,7 +1,7 @@
1
1
  import { AcessoIndiceVariavel, AcessoMetodo, AcessoMetodoOuPropriedade, AcessoPropriedade, Agrupamento, Atribuir, Binario, Chamada, DefinirValor, Dicionario, FuncaoConstruto, Leia, Literal, Separador, Unario, Variavel, Vetor } from '../construtos';
2
- import { Bloco, Classe, Const, Declaracao, Enquanto, Escolha, Escreva, Expressao, Fazer, FuncaoDeclaracao, Para, ParaCada, Se, Var } from '../declaracoes';
2
+ import { Bloco, Classe, Const, Declaracao, Enquanto, Escolha, Escreva, Expressao, Fazer, FuncaoDeclaracao, Para, ParaCada, Retorna, Se, Var } from '../declaracoes';
3
3
  import { CaminhoEscolha, TradutorInterface } from '../interfaces';
4
- import { ArestaFluxograma, DiagramaClasse, SubgrafoFuncao, VerticeFluxograma } from './mermaid';
4
+ import { ArestaFluxograma, SubgrafoClasse, SubgrafoFuncao, VerticeFluxograma } from './mermaid';
5
5
  /**
6
6
  * [MermaidJs](https://mermaid.js.org/) é uma especificação que nos permite
7
7
  * criar fluxogramas através de uma notação por texto.
@@ -18,10 +18,12 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
18
18
  anteriores: ArestaFluxograma[];
19
19
  vertices: VerticeFluxograma[];
20
20
  ultimaDicaVertice: string | undefined;
21
- classes: DiagramaClasse[];
22
- subgrafosFuncoes: {
21
+ declaracoesFuncoes: {
23
22
  [nome: string]: SubgrafoFuncao;
24
23
  };
24
+ declaracoesClasses: {
25
+ [nome: string]: SubgrafoClasse;
26
+ };
25
27
  indentacaoAtual: number;
26
28
  traduzirConstrutoAcessoIndiceVariavel(acessoIndiceVariavel: AcessoIndiceVariavel): string;
27
29
  traduzirConstrutoAcessoMetodo(acessoMetodo: AcessoMetodo): string;
@@ -31,6 +33,11 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
31
33
  traduzirConstrutoAtribuir(atribuir: Atribuir): string;
32
34
  traduzirConstrutoBinario(binario: Binario): string;
33
35
  traduzirConstrutoChamada(chamada: Chamada): string;
36
+ /**
37
+ * Traduz uma declaração de Expressao que contém uma chamada de função,
38
+ * criando os vértices necessários para conectar ao subgrafo da função.
39
+ */
40
+ traduzirChamadaFuncao(declaracaoExpressao: Expressao, chamada: Chamada): VerticeFluxograma[];
34
41
  traduzirConstrutoDefinirValor(definirValor: DefinirValor): string;
35
42
  traduzirConstrutoDicionario(dicionario: Dicionario): string;
36
43
  traduzirFuncaoConstruto(funcaoConstruto: FuncaoConstruto): VerticeFluxograma[];
@@ -59,6 +66,7 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
59
66
  traduzirDeclaracaoSe(declaracaoSe: Se): VerticeFluxograma[];
60
67
  protected logicaComumTraducaoVarEConst(declaracaoVarOuConst: Var | Const, textoInicial: string): string;
61
68
  traduzirDeclaracaoVar(declaracaoVar: Var): VerticeFluxograma[];
69
+ traduzirDeclaracaoRetorna(declaracaoRetorna: Retorna): VerticeFluxograma[];
62
70
  dicionarioConstrutos: {
63
71
  AcessoIndiceVariavel: any;
64
72
  AcessoMetodo: any;
@@ -82,7 +90,7 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
82
90
  };
83
91
  dicionarioDeclaracoes: {
84
92
  Bloco: any;
85
- Classe: () => never;
93
+ Classe: any;
86
94
  Comentario: () => string;
87
95
  Const: any;
88
96
  Enquanto: any;
@@ -90,9 +98,10 @@ export declare class TradutorMermaidJs implements TradutorInterface<Declaracao>
90
98
  Expressao: any;
91
99
  Escreva: any;
92
100
  Fazer: any;
93
- FuncaoDeclaracao: () => never;
101
+ FuncaoDeclaracao: any;
94
102
  Para: any;
95
103
  ParaCada: any;
104
+ Retorna: any;
96
105
  Se: any;
97
106
  Var: any;
98
107
  };
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-mermaidjs.d.ts","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-mermaidjs.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,oBAAoB,EACpB,YAAY,EACZ,yBAAyB,EACzB,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,OAAO,EACP,YAAY,EACZ,UAAU,EACV,eAAe,EACf,IAAI,EACJ,OAAO,EACP,SAAS,EACT,MAAM,EACN,QAAQ,EACR,KAAK,EACR,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,UAAU,EACV,QAAQ,EACR,OAAO,EACP,OAAO,EACP,SAAS,EACT,KAAK,EACL,gBAAgB,EAChB,IAAI,EACJ,QAAQ,EACR,EAAE,EACF,GAAG,EACN,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlE,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAkB,cAAc,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEhH;;;;;;;;;;;GAWG;AACH,qBAAa,iBAAkB,YAAW,iBAAiB,CAAC,UAAU,CAAC;IACnE,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,gBAAgB,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAC;IACrD,eAAe,EAAE,MAAM,CAAC;IAExB,qCAAqC,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,MAAM;IAOzF,6BAA6B,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;IAIjE,0CAA0C,CACtC,yBAAyB,EAAE,yBAAyB,GACrD,MAAM;IAIT,kCAAkC,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,MAAM;IAIhF,4BAA4B,CAAC,WAAW,EAAE,WAAW,GAAG,MAAM;IAM9D,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAQrD,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAiBlD,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAsBlD,6BAA6B,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;IAUjE,2BAA2B,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IAc3D,uBAAuB,CAAC,eAAe,EAAE,eAAe,GAAG,iBAAiB,EAAE;IA2B9E,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAYzC,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAWlD,0BAA0B,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM;IAIxD,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAsB/C,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM;IAIrD,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAS5C,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,gBAAgB;IAiB5D,uBAAuB,CAAC,eAAe,EAAE,KAAK;IAW9C,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,GAAG,iBAAiB,EAAE;IA4CvE,uBAAuB,CAAC,eAAe,EAAE,KAAK,GAAG,iBAAiB,EAAE;IAWpE,0BAA0B,CAAC,kBAAkB,EAAE,QAAQ,GAAG,iBAAiB,EAAE;IAyB7E,SAAS,CAAC,yBAAyB,CAC/B,iBAAiB,EAAE,OAAO,EAC1B,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,MAAM,EACb,2BAA2B,EAAE,MAAM,EACnC,aAAa,EAAE,OAAO,GACvB;QACC,OAAO,EAAE,gBAAgB,CAAC;QAC1B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;KAC3C;IAsCD,yBAAyB,CAAC,iBAAiB,EAAE,OAAO,GAAG,iBAAiB,EAAE;IAkD1E,yBAAyB,CAAC,iBAAiB,EAAE,OAAO,GAAG,iBAAiB,EAAE;IAgB1E,2BAA2B,CAAC,mBAAmB,EAAE,SAAS,GAAG,iBAAiB,EAAE;IAchF,+BAA+B,CAAC,uBAAuB,EAAE,KAAK;IA+B9D,wBAAwB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,iBAAiB,EAAE;IA4BjF,sBAAsB,CAAC,cAAc,EAAE,IAAI,GAAG,iBAAiB,EAAE;IA4DjE,0BAA0B,CAAC,kBAAkB,EAAE,QAAQ,GAAG,iBAAiB,EAAE;IA0B7E,oBAAoB,CAAC,YAAY,EAAE,EAAE,GAAG,iBAAiB,EAAE;IAyC3D,SAAS,CAAC,4BAA4B,CAClC,oBAAoB,EAAE,GAAG,GAAG,KAAK,EACjC,YAAY,EAAE,MAAM,GACrB,MAAM;IAST,qBAAqB,CAAC,aAAa,EAAE,GAAG,GAAG,iBAAiB,EAAE;IAW9D,oBAAoB;;;;;;;;;;;;;;;;;;;;MAqBlB;IAEF,qBAAqB;;;;;;;;;;;;;;;MAiBnB;IAEF;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM;CA4C9C"}
1
+ {"version":3,"file":"tradutor-mermaidjs.d.ts","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-mermaidjs.ts"],"names":[],"mappings":"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"}