appproject-components 1.0.35 → 1.0.36

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.
@@ -34,7 +34,7 @@ export class InputCepComponent extends BaseInputComponent {
34
34
  ngOnInit() {
35
35
  }
36
36
  digitarFormatado(event) {
37
- console.log(event);
37
+ //console.log(event);
38
38
  if ((event.keyCode >= 48 && event.keyCode <= 57)
39
39
  || (event.keyCode >= 96 && event.keyCode <= 105)
40
40
  || (event.keyCode == 8)
@@ -79,7 +79,7 @@ export class InputCepComponent extends BaseInputComponent {
79
79
  }
80
80
  }
81
81
  formataCampoValor(valor, Mascara, evento) {
82
- console.log(valor);
82
+ //console.log(valor);
83
83
  if (!valor)
84
84
  return null;
85
85
  //console.log(evento);
@@ -122,7 +122,7 @@ export class InputCepComponent extends BaseInputComponent {
122
122
  }
123
123
  this.getEnderecoPeloCep(cep).subscribe({
124
124
  next: (result) => {
125
- console.log('result CEP', result);
125
+ //console.log('result CEP', result);
126
126
  let cidadePesquisa = result.localidade;
127
127
  cidadePesquisa = this.converteCaracteresEspeciais(cidadePesquisa.toUpperCase());
128
128
  if (this.getResultados) {
@@ -177,4 +177,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
177
177
  }], getResultados: [{
178
178
  type: Output
179
179
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LWNlcC9pbnB1dC1jZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtY2VwL2lucHV0LWNlcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBWTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBa0I7SUFXdkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQVZELFlBQU8sR0FBa0IsV0FBVyxDQUFDO1FBQ3JDLGFBQVEsR0FBb0IsSUFBSSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3Qyx1QkFBdUI7UUFDaEIsU0FBSSxHQUFpQixJQUFJLENBQUM7UUFDekIsYUFBUSxHQUFhLENBQUMsSUFBWSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0MsWUFBTyxHQUFhLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBR2xDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBbUI7UUFDNUIsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FB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a0dBQWpCLGlCQUFpQiwwSUFOakIsQ0FBQztnQkFDVixPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsaUJBQWlCO2dCQUM5QixLQUFLLEVBQUUsSUFBSTthQUNaLENBQUMsaURDYkosNnVEQXFDUTs7MkZEdEJLLGlCQUFpQjtrQkFWN0IsU0FBUzsrQkFDRSxjQUFjLGFBR2IsQ0FBQzs0QkFDVixPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLG1CQUFtQjs0QkFDOUIsS0FBSyxFQUFFLElBQUk7eUJBQ1osQ0FBQzt3REFJTyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZUlucHV0Q29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna2ItaW5wdXQtY2VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWNlcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lucHV0LWNlcC5jb21wb25lbnQuc2NzcycsICcuLy4uL2Jhc2VDb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFt7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IElucHV0Q2VwQ29tcG9uZW50LFxuICAgIG11bHRpOiB0cnVlXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIElucHV0Q2VwQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQElucHV0KCkgZm9ybWF0bzogc3RyaW5nIHwgbnVsbCA9ICcwMDAwMC0wMDAnO1xuICBASW5wdXQoKSBrZXlFbnRlcjogRnVuY3Rpb24gfCBudWxsID0gbnVsbDtcbiAgQE91dHB1dCgpIGdldFJlc3VsdGFkb3MgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLy9jb250cm9sIHZhbHVlIGFjZXNzb3JcbiAgcHVibGljIGRhdGE6IHN0cmluZyB8IGFueSA9IG51bGw7XG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKGRhdGE6IHN0cmluZykgPT4geyB9O1xuICBwcml2YXRlIG9uVG91Y2g6IEZ1bmN0aW9uID0gKCkgPT4geyB9O1xuICBwcml2YXRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBhbnkpOiB2b2lkIHtcbiAgICAvL2NvbnNvbGUubG9nKCd3cml0ZSB2YWx1ZScsIHZhbHVlKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcbiAgfVxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICB9XG5cbiAgZGlnaXRhckZvcm1hdGFkbyhldmVudDogYW55KSB7XG4gICAgY29uc29sZS5sb2coZXZlbnQpO1xuICAgIGlmICgoZXZlbnQua2V5Q29kZSA+PSA0OCAmJiBldmVudC5rZXlDb2RlIDw9IDU3KVxuICAgICAgfHwgKGV2ZW50LmtleUNvZGUgPj0gOTYgJiYgZXZlbnQua2V5Q29kZSA8PSAxMDUpXG4gICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA4KVxuICAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gOSlcbiAgICAgIHx8IChldmVudC5rZXlDb2RlID09IDM5KVxuICAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gMzcpXG4gICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSA0NikpIHtcblxuICAgICAgLy9jb25zb2xlLmxvZyh0aGlzLmZvcm1Db250cm9sTmFtZSwgdGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSkudmFsdWUpO1xuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgICAgIHRoaXMuZm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAgIFt0aGlzLmZvcm1Db250cm9sTmFtZV06IHRoaXMuZm9ybWF0YUNhbXBvVmFsb3IodGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk/LnZhbHVlLCB0aGlzLmZvcm1hdG8gPz8gJycsIGV2ZW50KVxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZm9ybWF0YUNhbXBvVmFsb3IodGhpcy5kYXRhID8/ICcnLCB0aGlzLmZvcm1hdG8gPz8gJycsIGV2ZW50KTtcbiAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5kYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSwgMTAwKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIG9uS2V5RW50ZXIoKSB7XG4gICAgaWYgKHRoaXMua2V5RW50ZXIgIT0gbnVsbCkge1xuICAgICAgdGhpcy5rZXlFbnRlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5nZXRSZXN1bHRhZG9zICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5wZXNxdWlzYXJDbGljaygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy5mb3JtKSB7XG4gICAgICB0aGlzLmZvcm0uZ2V0KHRoaXMuZm9ybUNvbnRyb2xOYW1lKT8ubWFya0FzVG91Y2hlZCgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ibHVyKSB7XG4gICAgICB0aGlzLmJsdXIuZW1pdCh0aGlzLmJsdXJBcmdzKTtcbiAgICB9XG4gIH1cblxuICBmb3JtYXRhQ2FtcG9WYWxvcih2YWxvcjogc3RyaW5nLCBNYXNjYXJhOiBzdHJpbmcsIGV2ZW50bzogYW55KSB7XG4gICAgY29uc29sZS5sb2codmFsb3IpO1xuICAgIGlmICghdmFsb3IpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICAvL2NvbnNvbGUubG9nKGV2ZW50byk7XG5cbiAgICAvL2lmICghdGhpcy5rZXlwcmVzc0ludGVpcm8oZXZlbnRvKSlcbiAgICAvLyAgcmV0dXJuO1xuXG4gICAgdmFyIGJvbGVhbm9NYXNjYXJhO1xuXG4gICAgdmFyIERpZ2l0YXRvID0gZXZlbnRvICE9IG51bGwgPyBldmVudG8ua2V5Q29kZSA6IDA7XG4gICAgbGV0IGV4cCA9IC9cXC18XFwufFxcL3xcXCh8XFwpfCAvZ1xuICAgIGxldCBjYW1wb1NvTnVtZXJvcyA9IHZhbG9yLnJlcGxhY2UoZXhwLCBcIlwiKTtcblxuICAgIHZhciBwb3NpY2FvQ2FtcG8gPSAwO1xuICAgIHZhciBOb3ZvVmFsb3JDYW1wbyA9IFwiXCI7XG4gICAgdmFyIFRhbWFuaG9NYXNjYXJhID0gY2FtcG9Tb051bWVyb3MubGVuZ3RoOztcblxuICAgIGlmIChEaWdpdGF0byAhPSA4KSB7IC8vIGJhY2tzcGFjZSBcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IFRhbWFuaG9NYXNjYXJhOyBpKyspIHtcbiAgICAgICAgYm9sZWFub01hc2NhcmEgPSAoKE1hc2NhcmEuY2hhckF0KGkpID09IFwiLVwiKSB8fCAoTWFzY2FyYS5jaGFyQXQoaSkgPT0gXCIuXCIpXG4gICAgICAgICAgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiL1wiKSlcbiAgICAgICAgYm9sZWFub01hc2NhcmEgPSBib2xlYW5vTWFzY2FyYSB8fCAoKE1hc2NhcmEuY2hhckF0KGkpID09IFwiKFwiKVxuICAgICAgICAgIHx8IChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIilcIikgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiIFwiKSlcbiAgICAgICAgaWYgKGJvbGVhbm9NYXNjYXJhKSB7XG4gICAgICAgICAgTm92b1ZhbG9yQ2FtcG8gKz0gTWFzY2FyYS5jaGFyQXQoaSk7XG4gICAgICAgICAgVGFtYW5ob01hc2NhcmErKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBOb3ZvVmFsb3JDYW1wbyArPSBjYW1wb1NvTnVtZXJvcy5jaGFyQXQocG9zaWNhb0NhbXBvKTtcbiAgICAgICAgICBwb3NpY2FvQ2FtcG8rKztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIE5vdm9WYWxvckNhbXBvO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsb3I7XG4gICAgfVxuICB9XG5cbiAgcGVzcXVpc2FyQ2xpY2soKSB7XG4gICAgY29uc3QgY2VwID0gdGhpcy5kYXRhO1xuICAgIC8vc2UgbsOjbyBlc3RpdmVyIGluZm9ybWFkbyBvIGNlcCwgbsOjbyBmYXplciBhIHBlc3F1aXNhXG4gICAgaWYgKGNlcCA9PSBudWxsIHx8IGNlcCA9PSBcIlwiKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5nZXRFbmRlcmVjb1BlbG9DZXAoY2VwKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3VsdCkgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZygncmVzdWx0IENFUCcsIHJlc3VsdCk7XG5cbiAgICAgICAgbGV0IGNpZGFkZVBlc3F1aXNhOiBzdHJpbmcgPSByZXN1bHQubG9jYWxpZGFkZTtcbiAgICAgICAgY2lkYWRlUGVzcXVpc2EgPSB0aGlzLmNvbnZlcnRlQ2FyYWN0ZXJlc0VzcGVjaWFpcyhjaWRhZGVQZXNxdWlzYS50b1VwcGVyQ2FzZSgpKTtcblxuICAgICAgICBpZiAodGhpcy5nZXRSZXN1bHRhZG9zKSB7XG4gICAgICAgICAgdGhpcy5nZXRSZXN1bHRhZG9zLmVtaXQocmVzdWx0KTtcbiAgICAgICAgfVxuXG4gICAgICB9LCBlcnJvcjogKGVycm9yKSA9PiB7XG5cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8vc3Vic3RpdHVpw6fDo28gZGUgY2FyYWN0ZXJlc1xuICBjb252ZXJ0ZUNhcmFjdGVyZXNFc3BlY2lhaXMobm9tZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB2YXIgcmVzID0gbm9tZS5yZXBsYWNlKC/Dgy9nLCBcIkFcIik7XG4gICAgcmVzID0gcmVzLnJlcGxhY2UoL8OBL2csIFwiQVwiKTtcbiAgICByZXMgPSByZXMucmVwbGFjZSgvw4cvZywgXCJDXCIpO1xuICAgIHJlcyA9IHJlcy5yZXBsYWNlKC/DiS9nLCBcIkVcIik7XG4gICAgcmVzID0gcmVzLnJlcGxhY2UoL8OCL2csIFwiQVwiKTtcbiAgICByZXMgPSByZXMucmVwbGFjZSgvw5QvZywgXCJPXCIpO1xuICAgIHJlcyA9IHJlcy5yZXBsYWNlKC/Dky9nLCBcIk9cIik7XG4gICAgcmVzID0gcmVzLnJlcGxhY2UoL8OaL2csIFwiVVwiKTtcbiAgICByZXMgPSByZXMucmVwbGFjZSgvw40vZywgXCJJXCIpO1xuICAgIHJldHVybiByZXM7XG4gIH1cblxuICBnZXRFbmRlcmVjb1BlbG9DZXAoY2VwOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoeCkgPT4ge1xuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcbiAgICAgIHJlcXVlc3Qub3BlbignZ2V0JywgYGh0dHBzOi8vdmlhY2VwLmNvbS5ici93cy8ke2NlcH0vanNvbi9gLCB0cnVlKTtcbiAgICAgIHJlcXVlc3Quc2VuZCgpO1xuICAgICAgcmVxdWVzdC5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkYXRhID0gSlNPTi5wYXJzZSh0aGlzLnJlc3BvbnNlKTtcbiAgICAgICAgeC5uZXh0KGRhdGEpXG4gICAgICB9XG4gICAgfSlcbiAgfVxufVxuIiwiPCEtLVxyXG48ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4tLT5cclxuPCEtLWNvbWFuZG8gLS1pbm5lci1wYWRkaW5nLWVuZDogdXRpbGl6YWRvIHByYSByZW1vdmVyIHBhZGRpbmcgZGVzbmVjZXNzw6FyaW9zLS0+XHJcbjxkaXY+XHJcbiAgICA8aW9uLWl0ZW0gbGluZXM9XCJub25lXCIgc3R5bGU9XCItLWJhY2tncm91bmQ6IGluaGVyaXRlZDstLWJhY2tncm91bmQtZm9jdXNlZDogdHJhbnNwYXJlbnQ7LS1pbm5lci1wYWRkaW5nLWVuZDogMHB4O1wiIFtjbGFzc109XCJpdGVtQ2xhc3NcIlxyXG4gICAgW25nQ2xhc3NdPVwiZm9ybT8uZ2V0KGZvcm1Db250cm9sTmFtZSk/LmVycm9ycyAmJiAoZm9ybT8uZ2V0KGZvcm1Db250cm9sTmFtZSk/LmRpcnR5IHx8IGZvcm0/LmdldChmb3JtQ29udHJvbE5hbWUpPy50b3VjaGVkKSA/ICdlcnJvci1zaGFrZScgOiAnJyBcIlxyXG4gICAgPlxyXG4gICAgICA8aW9uLWxhYmVsIFtwb3NpdGlvbl09XCJsYWJlbFBvc2l0aW9uXCI+e3sgbGFiZWwgfX08L2lvbi1sYWJlbD5cclxuICAgICAgPCEtLSBmb3JtQ29udHJvbE5hbWU9e3tmb3JtQ29udHJvbE5hbWV9fSAtLT5cclxuICAgICAgPGlvbi1pbnB1dCAjaW5wdXRDZXBcclxuICAgICAgdHlwZT1cInRlbFwiIFxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBtYXhsZW5ndGg9XCJ7eyBtYXggfX1cIiBcclxuICAgICAgKGtleWRvd24pPVwiZGlnaXRhckZvcm1hdGFkbygkZXZlbnQpXCIgXHJcbiAgICAgIChrZXl1cC5lbnRlcik9XCJvbktleUVudGVyKClcIlxyXG4gICAgICAoaW9uQmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgIFt2YWx1ZV09XCJkYXRhXCJcclxuICAgICAgKGlucHV0KT1cIndyaXRlVmFsdWUoaW5wdXRDZXAudmFsdWUpXCJcclxuICAgICAgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCI+PC9pb24taW5wdXQ+XHJcblxyXG4gICAgICA8aW9uLWJ1dHRvbiBzaXplPVwic21hbGxcIiBzbG90PVwiZW5kXCIgdGFiaW5kZXg9XCItMVwiXHJcbiAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAyNXB4OyBtYXJnaW4taW5saW5lLXN0YXJ0OiA0cHggIWltcG9ydGFudDsgLS1wYWRkaW5nLXN0YXJ0OjJweDsgLS1wYWRkaW5nLWVuZDogMnB4O1wiIGZpbGw9XCJjbGVhclwiIGNvbG9yPVwibWVkaXVtXCJcclxuICAgICAgICAoY2xpY2spPVwicGVzcXVpc2FyQ2xpY2soKVwiPlxyXG4gICAgICAgIDxpb24taWNvbiBjb2xvcj1cInByaW1hcnlcIiBuYW1lPVwic2VhcmNoXCI+PC9pb24taWNvbj5cclxuICAgICAgPC9pb24tYnV0dG9uPlxyXG4gIFxyXG4gICAgPC9pb24taXRlbT5cclxuICBcclxuICAgIDxkaXYgY2xhc3M9XCJ2YWxpZGF0aW9uLWVycm9yc1wiICpuZ0lmPVwiZm9ybVwiPlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB2YWxpZGF0aW9uIG9mIHZhbGlkYXRpb25fbWVzc2FnZXNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiXHJcbiAgICAgICAgICAqbmdJZj1cImZvcm0gJiYgZm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uaGFzRXJyb3IodmFsaWRhdGlvbi50eXBlKSAmJiAoZm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uZGlydHkgfHwgZm9ybS5nZXQoZm9ybUNvbnRyb2xOYW1lKT8udG91Y2hlZClcIj5cclxuICAgICAgICAgICYjODIyNjsge3sgdmFsaWRhdGlvbi5tZXNzYWdlIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+Il19
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LWNlcC9pbnB1dC1jZXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtY2VwL2lucHV0LWNlcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBWTNELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBa0I7SUFXdkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQVZELFlBQU8sR0FBa0IsV0FBVyxDQUFDO1FBQ3JDLGFBQVEsR0FBb0IsSUFBSSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3Qyx1QkFBdUI7UUFDaEIsU0FBSSxHQUFpQixJQUFJLENBQUM7UUFDekIsYUFBUSxHQUFhLENBQUMsSUFBWSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDM0MsWUFBTyxHQUFhLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QixhQUFRLEdBQVksS0FBSyxDQUFDO0lBR2xDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBbUI7UUFDNUIsb0NBQW9DO1FBQ3BDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FB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O2FBQ1osQ0FBQyxpRENiSiw2dURBcUNROzsyRkR0QkssaUJBQWlCO2tCQVY3QixTQUFTOytCQUNFLGNBQWMsYUFHYixDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsbUJBQW1COzRCQUM5QixLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDO3dEQUlPLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCYXNlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlSW5wdXRDb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdrYi1pbnB1dC1jZXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtY2VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtY2VwLmNvbXBvbmVudC5zY3NzJywgJy4vLi4vYmFzZUNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogSW5wdXRDZXBDb21wb25lbnQsXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgSW5wdXRDZXBDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICBASW5wdXQoKSBmb3JtYXRvOiBzdHJpbmcgfCBudWxsID0gJzAwMDAwLTAwMCc7XG4gIEBJbnB1dCgpIGtleUVudGVyOiBGdW5jdGlvbiB8IG51bGwgPSBudWxsO1xuICBAT3V0cHV0KCkgZ2V0UmVzdWx0YWRvcyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvL2NvbnRyb2wgdmFsdWUgYWNlc3NvclxuICBwdWJsaWMgZGF0YTogc3RyaW5nIHwgYW55ID0gbnVsbDtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAoZGF0YTogc3RyaW5nKSA9PiB7IH07XG4gIHByaXZhdGUgb25Ub3VjaDogRnVuY3Rpb24gPSAoKSA9PiB7IH07XG4gIHByaXZhdGUgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyB8IGFueSk6IHZvaWQge1xuICAgIC8vY29uc29sZS5sb2coJ3dyaXRlIHZhbHVlJywgdmFsdWUpO1xuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xuICAgIHRoaXMuZGF0YSA9IHZhbHVlO1xuICB9XG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gIH1cblxuICBkaWdpdGFyRm9ybWF0YWRvKGV2ZW50OiBhbnkpIHtcbiAgICAvL2NvbnNvbGUubG9nKGV2ZW50KTtcbiAgICBpZiAoKGV2ZW50LmtleUNvZGUgPj0gNDggJiYgZXZlbnQua2V5Q29kZSA8PSA1NylcbiAgICAgIHx8IChldmVudC5rZXlDb2RlID49IDk2ICYmIGV2ZW50LmtleUNvZGUgPD0gMTA1KVxuICAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gOClcbiAgICAgIHx8IChldmVudC5rZXlDb2RlID09IDkpXG4gICAgICB8fCAoZXZlbnQua2V5Q29kZSA9PSAzOSlcbiAgICAgIHx8IChldmVudC5rZXlDb2RlID09IDM3KVxuICAgICAgfHwgKGV2ZW50LmtleUNvZGUgPT0gNDYpKSB7XG5cbiAgICAgIC8vY29uc29sZS5sb2codGhpcy5mb3JtQ29udHJvbE5hbWUsIHRoaXMuZm9ybS5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpLnZhbHVlKTtcblxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmZvcm0pIHtcbiAgICAgICAgICB0aGlzLmZvcm0ucGF0Y2hWYWx1ZSh7XG4gICAgICAgICAgICBbdGhpcy5mb3JtQ29udHJvbE5hbWVdOiB0aGlzLmZvcm1hdGFDYW1wb1ZhbG9yKHRoaXMuZm9ybS5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpPy52YWx1ZSwgdGhpcy5mb3JtYXRvID8/ICcnLCBldmVudClcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmRhdGEgPSB0aGlzLmZvcm1hdGFDYW1wb1ZhbG9yKHRoaXMuZGF0YSA/PyAnJywgdGhpcy5mb3JtYXRvID8/ICcnLCBldmVudCk7XG4gICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH0sIDEwMCk7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvbktleUVudGVyKCkge1xuICAgIGlmICh0aGlzLmtleUVudGVyICE9IG51bGwpIHtcbiAgICAgIHRoaXMua2V5RW50ZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuZ2V0UmVzdWx0YWRvcyAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMucGVzcXVpc2FyQ2xpY2soKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbkJsdXIoKSB7XG4gICAgaWYgKHRoaXMuZm9ybSkge1xuICAgICAgdGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk/Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuYmx1cikge1xuICAgICAgdGhpcy5ibHVyLmVtaXQodGhpcy5ibHVyQXJncyk7XG4gICAgfVxuICB9XG5cbiAgZm9ybWF0YUNhbXBvVmFsb3IodmFsb3I6IHN0cmluZywgTWFzY2FyYTogc3RyaW5nLCBldmVudG86IGFueSkge1xuICAgIC8vY29uc29sZS5sb2codmFsb3IpO1xuICAgIGlmICghdmFsb3IpXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICAvL2NvbnNvbGUubG9nKGV2ZW50byk7XG5cbiAgICAvL2lmICghdGhpcy5rZXlwcmVzc0ludGVpcm8oZXZlbnRvKSlcbiAgICAvLyAgcmV0dXJuO1xuXG4gICAgdmFyIGJvbGVhbm9NYXNjYXJhO1xuXG4gICAgdmFyIERpZ2l0YXRvID0gZXZlbnRvICE9IG51bGwgPyBldmVudG8ua2V5Q29kZSA6IDA7XG4gICAgbGV0IGV4cCA9IC9cXC18XFwufFxcL3xcXCh8XFwpfCAvZ1xuICAgIGxldCBjYW1wb1NvTnVtZXJvcyA9IHZhbG9yLnJlcGxhY2UoZXhwLCBcIlwiKTtcblxuICAgIHZhciBwb3NpY2FvQ2FtcG8gPSAwO1xuICAgIHZhciBOb3ZvVmFsb3JDYW1wbyA9IFwiXCI7XG4gICAgdmFyIFRhbWFuaG9NYXNjYXJhID0gY2FtcG9Tb051bWVyb3MubGVuZ3RoOztcblxuICAgIGlmIChEaWdpdGF0byAhPSA4KSB7IC8vIGJhY2tzcGFjZSBcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IFRhbWFuaG9NYXNjYXJhOyBpKyspIHtcbiAgICAgICAgYm9sZWFub01hc2NhcmEgPSAoKE1hc2NhcmEuY2hhckF0KGkpID09IFwiLVwiKSB8fCAoTWFzY2FyYS5jaGFyQXQoaSkgPT0gXCIuXCIpXG4gICAgICAgICAgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiL1wiKSlcbiAgICAgICAgYm9sZWFub01hc2NhcmEgPSBib2xlYW5vTWFzY2FyYSB8fCAoKE1hc2NhcmEuY2hhckF0KGkpID09IFwiKFwiKVxuICAgICAgICAgIHx8IChNYXNjYXJhLmNoYXJBdChpKSA9PSBcIilcIikgfHwgKE1hc2NhcmEuY2hhckF0KGkpID09IFwiIFwiKSlcbiAgICAgICAgaWYgKGJvbGVhbm9NYXNjYXJhKSB7XG4gICAgICAgICAgTm92b1ZhbG9yQ2FtcG8gKz0gTWFzY2FyYS5jaGFyQXQoaSk7XG4gICAgICAgICAgVGFtYW5ob01hc2NhcmErKztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBOb3ZvVmFsb3JDYW1wbyArPSBjYW1wb1NvTnVtZXJvcy5jaGFyQXQocG9zaWNhb0NhbXBvKTtcbiAgICAgICAgICBwb3NpY2FvQ2FtcG8rKztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIE5vdm9WYWxvckNhbXBvO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdmFsb3I7XG4gICAgfVxuICB9XG5cbiAgcGVzcXVpc2FyQ2xpY2soKSB7XG4gICAgY29uc3QgY2VwID0gdGhpcy5kYXRhO1xuICAgIC8vc2UgbsOjbyBlc3RpdmVyIGluZm9ybWFkbyBvIGNlcCwgbsOjbyBmYXplciBhIHBlc3F1aXNhXG4gICAgaWYgKGNlcCA9PSBudWxsIHx8IGNlcCA9PSBcIlwiKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5nZXRFbmRlcmVjb1BlbG9DZXAoY2VwKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlc3VsdCkgPT4ge1xuICAgICAgICAvL2NvbnNvbGUubG9nKCdyZXN1bHQgQ0VQJywgcmVzdWx0KTtcblxuICAgICAgICBsZXQgY2lkYWRlUGVzcXVpc2E6IHN0cmluZyA9IHJlc3VsdC5sb2NhbGlkYWRlO1xuICAgICAgICBjaWRhZGVQZXNxdWlzYSA9IHRoaXMuY29udmVydGVDYXJhY3RlcmVzRXNwZWNpYWlzKGNpZGFkZVBlc3F1aXNhLnRvVXBwZXJDYXNlKCkpO1xuXG4gICAgICAgIGlmICh0aGlzLmdldFJlc3VsdGFkb3MpIHtcbiAgICAgICAgICB0aGlzLmdldFJlc3VsdGFkb3MuZW1pdChyZXN1bHQpO1xuICAgICAgICB9XG5cbiAgICAgIH0sIGVycm9yOiAoZXJyb3IpID0+IHtcblxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLy9zdWJzdGl0dWnDp8OjbyBkZSBjYXJhY3RlcmVzXG4gIGNvbnZlcnRlQ2FyYWN0ZXJlc0VzcGVjaWFpcyhub21lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHZhciByZXMgPSBub21lLnJlcGxhY2UoL8ODL2csIFwiQVwiKTtcbiAgICByZXMgPSByZXMucmVwbGFjZSgvw4EvZywgXCJBXCIpO1xuICAgIHJlcyA9IHJlcy5yZXBsYWNlKC/Dhy9nLCBcIkNcIik7XG4gICAgcmVzID0gcmVzLnJlcGxhY2UoL8OJL2csIFwiRVwiKTtcbiAgICByZXMgPSByZXMucmVwbGFjZSgvw4IvZywgXCJBXCIpO1xuICAgIHJlcyA9IHJlcy5yZXBsYWNlKC/DlC9nLCBcIk9cIik7XG4gICAgcmVzID0gcmVzLnJlcGxhY2UoL8OTL2csIFwiT1wiKTtcbiAgICByZXMgPSByZXMucmVwbGFjZSgvw5ovZywgXCJVXCIpO1xuICAgIHJlcyA9IHJlcy5yZXBsYWNlKC/DjS9nLCBcIklcIik7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIGdldEVuZGVyZWNvUGVsb0NlcChjZXA6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKCh4KSA9PiB7XG4gICAgICB2YXIgcmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuICAgICAgcmVxdWVzdC5vcGVuKCdnZXQnLCBgaHR0cHM6Ly92aWFjZXAuY29tLmJyL3dzLyR7Y2VwfS9qc29uL2AsIHRydWUpO1xuICAgICAgcmVxdWVzdC5zZW5kKCk7XG4gICAgICByZXF1ZXN0Lm9ubG9hZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRhdGEgPSBKU09OLnBhcnNlKHRoaXMucmVzcG9uc2UpO1xuICAgICAgICB4Lm5leHQoZGF0YSlcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG4iLCI8IS0tXHJcbjxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbi0tPlxyXG48IS0tY29tYW5kbyAtLWlubmVyLXBhZGRpbmctZW5kOiB1dGlsaXphZG8gcHJhIHJlbW92ZXIgcGFkZGluZyBkZXNuZWNlc3PDoXJpb3MtLT5cclxuPGRpdj5cclxuICAgIDxpb24taXRlbSBsaW5lcz1cIm5vbmVcIiBzdHlsZT1cIi0tYmFja2dyb3VuZDogaW5oZXJpdGVkOy0tYmFja2dyb3VuZC1mb2N1c2VkOiB0cmFuc3BhcmVudDstLWlubmVyLXBhZGRpbmctZW5kOiAwcHg7XCIgW2NsYXNzXT1cIml0ZW1DbGFzc1wiXHJcbiAgICBbbmdDbGFzc109XCJmb3JtPy5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uZXJyb3JzICYmIChmb3JtPy5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uZGlydHkgfHwgZm9ybT8uZ2V0KGZvcm1Db250cm9sTmFtZSk/LnRvdWNoZWQpID8gJ2Vycm9yLXNoYWtlJyA6ICcnIFwiXHJcbiAgICA+XHJcbiAgICAgIDxpb24tbGFiZWwgW3Bvc2l0aW9uXT1cImxhYmVsUG9zaXRpb25cIj57eyBsYWJlbCB9fTwvaW9uLWxhYmVsPlxyXG4gICAgICA8IS0tIGZvcm1Db250cm9sTmFtZT17e2Zvcm1Db250cm9sTmFtZX19IC0tPlxyXG4gICAgICA8aW9uLWlucHV0ICNpbnB1dENlcFxyXG4gICAgICB0eXBlPVwidGVsXCIgXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAgIG1heGxlbmd0aD1cInt7IG1heCB9fVwiIFxyXG4gICAgICAoa2V5ZG93bik9XCJkaWdpdGFyRm9ybWF0YWRvKCRldmVudClcIiBcclxuICAgICAgKGtleXVwLmVudGVyKT1cIm9uS2V5RW50ZXIoKVwiXHJcbiAgICAgIChpb25CbHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgW3ZhbHVlXT1cImRhdGFcIlxyXG4gICAgICAoaW5wdXQpPVwid3JpdGVWYWx1ZShpbnB1dENlcC52YWx1ZSlcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwicmVhZG9ubHlcIj48L2lvbi1pbnB1dD5cclxuXHJcbiAgICAgIDxpb24tYnV0dG9uIHNpemU9XCJzbWFsbFwiIHNsb3Q9XCJlbmRcIiB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDI1cHg7IG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDRweCAhaW1wb3J0YW50OyAtLXBhZGRpbmctc3RhcnQ6MnB4OyAtLXBhZGRpbmctZW5kOiAycHg7XCIgZmlsbD1cImNsZWFyXCIgY29sb3I9XCJtZWRpdW1cIlxyXG4gICAgICAgIChjbGljayk9XCJwZXNxdWlzYXJDbGljaygpXCI+XHJcbiAgICAgICAgPGlvbi1pY29uIGNvbG9yPVwicHJpbWFyeVwiIG5hbWU9XCJzZWFyY2hcIj48L2lvbi1pY29uPlxyXG4gICAgICA8L2lvbi1idXR0b24+XHJcbiAgXHJcbiAgICA8L2lvbi1pdGVtPlxyXG4gIFxyXG4gICAgPGRpdiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JzXCIgKm5nSWY9XCJmb3JtXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbGlkYXRpb24gb2YgdmFsaWRhdGlvbl9tZXNzYWdlc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCJcclxuICAgICAgICAgICpuZ0lmPVwiZm9ybSAmJiBmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy5oYXNFcnJvcih2YWxpZGF0aW9uLnR5cGUpICYmIChmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy5kaXJ0eSB8fCBmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy50b3VjaGVkKVwiPlxyXG4gICAgICAgICAgJiM4MjI2OyB7eyB2YWxpZGF0aW9uLm1lc3NhZ2UgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj4iXX0=
@@ -47,7 +47,7 @@ export class InputSelectComponent extends BaseInputComponent {
47
47
  }
48
48
  }
49
49
  onSelectChange(value) {
50
- this.writeValue(value);
50
+ this.writeValue(value == '' ? null : value);
51
51
  if (this.selectChange != null) {
52
52
  //console.log('emit', value);
53
53
  this.selectChange.emit(value);
@@ -107,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImpor
107
107
  type: ViewChild,
108
108
  args: ["itemSelect", { read: ElementRef }]
109
109
  }] } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LXNlbGVjdC9pbnB1dC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtc2VsZWN0L2lucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVkzRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBb0IxRCxVQUFVLENBQUMsS0FBYTtRQUN0QiwyQ0FBMkM7UUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsaUJBQWlCLENBQUMsRUFBTztRQUN2QixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxZQUFvQixRQUFtQjtRQUNyQyxLQUFLLEVBQUUsQ0FBQztRQURVLGFBQVEs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QVk7c0JBQXJCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNFLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHdUMsVUFBVTtzQkFBdEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCYXNlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlSW5wdXRDb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrYi1pbnB1dC1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXNlbGVjdC5jb21wb25lbnQuc2NzcycsICcuLy4uL2Jhc2VDb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IElucHV0U2VsZWN0Q29tcG9uZW50LFxyXG4gICAgbXVsdGk6IHRydWVcclxuICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHsgIFxyXG4gIEBPdXRwdXQoKSBzZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdENoYW5nZUVudGl0eSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBpdGVuczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBpdGVtSWQ6IHN0cmluZyA9IFwiSWRcIjtcclxuICBASW5wdXQoKSBpdGVtTm9tZTogc3RyaW5nID0gXCJOb21lXCI7XHJcbiAgQElucHV0KCkgc2hvd05vdm86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpdGVtTnVsbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgb3BjYW9EZWZhdWx0OiBzdHJpbmcgPSAnU2VsZWNpb25hcic7XHJcblxyXG4gIC8vcGFyYSAnaW5qZcOnw6NvJyBkZSBlc3RpbG8gbm8gZm9jb1xyXG4gIEBWaWV3Q2hpbGQoXCJpdGVtU2VsZWN0XCIsIHtyZWFkOiBFbGVtZW50UmVmfSkgaXRlbVNlbGVjdDogYW55O1xyXG5cclxuICAvL2NvbnRyb2wgdmFsdWUgYWNlc3NvclxyXG4gIHB1YmxpYyBkYXRhOiBzdHJpbmcgfCBhbnk7XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAoZGF0YTogc3RyaW5nKSA9PiB7fTtcclxuICBwcml2YXRlIG9uVG91Y2g6IEZ1bmN0aW9uID0gKCkgPT4ge307XHJcbiAgcHJpdmF0ZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjb25zb2xlID0gY29uc29sZTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAvL2NvbnNvbGUubG9nKCd3cml0ZSB2YWx1ZSBzZWxlY3QnLCB2YWx1ZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgIHRoaXMuZGF0YSA9IHZhbHVlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7IFxyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMucmVhZG9ubHkgPT09IHRydWUpIHtcclxuICAgICAgLy9jb25zb2xlLmxvZyhcImRpc2FibGVkXCIpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAvL3RoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpdGVtLXNlbGVjdFwiKSwgXCJpdGVtLWhhcy1mb2N1c1wiKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaXRlbVNlbGVjdC5uYXRpdmVFbGVtZW50LCBcIml0ZW0taW50ZXJhY3RpdmUtZGlzYWJsZWRcIik7XHJcbiAgICAgICAgLy9jb25zb2xlLmxvZygnc2VsZWN0IGZvY3VzZWQnLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIml0ZW0tc2VsZWN0XCIpKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VsZWN0Q2hhbmdlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RDaGFuZ2UgIT0gbnVsbCkge1xyXG4gICAgICAvL2NvbnNvbGUubG9nKCdlbWl0JywgdmFsdWUpO1xyXG4gICAgICB0aGlzLnNlbGVjdENoYW5nZS5lbWl0KHZhbHVlKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdENoYW5nZUVudGl0eSAhPSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGV4aXN0ZSA9IHRoaXMuaXRlbnMuZmluZChpID0+IGlbdGhpcy5pdGVtSWRdID09IHZhbHVlKTtcclxuICAgICAgdGhpcy5zZWxlY3RDaGFuZ2VFbnRpdHkuZW1pdChleGlzdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25CbHVyKCkge1xyXG4gICAgLy9jb25zb2xlLmxvZygnaW5wdXQgc2VsZWN0IGJsdXInKVxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5pdGVtU2VsZWN0Lm5hdGl2ZUVsZW1lbnQsIFwiaXRlbS1oYXMtZm9jdXNcIik7XHJcbiAgICB9LCAyMDApO1xyXG5cclxuICAgIGlmICh0aGlzLmZvcm0pIHtcclxuICAgICAgdGhpcy5mb3JtLmdldCh0aGlzLmZvcm1Db250cm9sTmFtZSk/Lm1hcmtBc1RvdWNoZWQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uRW50ZXIoKSB7XHJcbiAgICAvL2FkaWNpb25hciBjbGFzc2UgYW8gaW9uLWl0ZW1cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaXRlbVNlbGVjdC5uYXRpdmVFbGVtZW50LCBcIml0ZW0taGFzLWZvY3VzXCIpO1xyXG4gICAgICAvL2NvbnNvbGUubG9nKCdzZWxlY3QgZm9jdXNlZCcsIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiaXRlbS1zZWxlY3RcIikpO1xyXG4gICAgfSwgMjAwKTsgICAgXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8IS0tXHJcbjxkaXYgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbi0tPlxyXG48ZGl2PlxyXG4gICAgPGlvbi1pdGVtIGxpbmVzPVwibm9uZVwiIHN0eWxlPVwiLS1iYWNrZ3JvdW5kOiBpbmhlcml0ZWQ7IC0tYmFja2dyb3VuZC1mb2N1c2VkOiB0cmFuc3BhcmVudDtcIiBbY2xhc3NdPVwiaXRlbUNsYXNzXCIgI2l0ZW1TZWxlY3RcclxuICAgIFtuZ0NsYXNzXT1cImZvcm0/LmdldChmb3JtQ29udHJvbE5hbWUpPy5lcnJvcnMgJiYgKGZvcm0/LmdldChmb3JtQ29udHJvbE5hbWUpPy5kaXJ0eSB8fCBmb3JtPy5nZXQoZm9ybUNvbnRyb2xOYW1lKT8udG91Y2hlZCkgPyAnZXJyb3Itc2hha2UnIDogJycgXCJcclxuICAgID5cclxuICAgICAgPGlvbi1sYWJlbCAqbmdJZj1cImxhYmVsXCIgW3Bvc2l0aW9uXT1cImxhYmVsUG9zaXRpb25cIiBjbGFzcz1cImZvY3VzLWxhYmVsXCI+e3sgbGFiZWwgfX08L2lvbi1sYWJlbD5cclxuICAgICAgPCEtLSBmb3JtQ29udHJvbE5hbWU9XCJ7eyBmb3JtQ29udHJvbE5hbWUgfX1cIiAgLS0+XHJcbiAgICAgIDxzZWxlY3QgI2lucHV0U2VsZWN0XHJcbiAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTtcIiAoY2hhbmdlKT1cIm9uU2VsZWN0Q2hhbmdlKGlucHV0U2VsZWN0LnZhbHVlKVwiXHJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKClcIiAoZm9jdXMpPVwib25FbnRlcigpXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCI+XHJcbiAgICAgICAgPG9wdGlvbiAqbmdJZj1cIml0ZW1OdWxsXCIgW3ZhbHVlXT1cIicnXCIgc2VsZWN0ZWQ+e3sgb3BjYW9EZWZhdWx0IH19PC9vcHRpb24+XHJcbiAgICAgICAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVuc1wiIFt2YWx1ZV09XCJpdGVtW2l0ZW1JZF1cIiBbc2VsZWN0ZWRdPVwiaXRlbVtpdGVtSWRdID09IGRhdGFcIj57eyBpdGVtW2l0ZW1Ob21lXSB9fVxyXG4gICAgICAgIDwvb3B0aW9uPlxyXG4gICAgICA8L3NlbGVjdD4gICAgXHJcbiAgICA8L2lvbi1pdGVtPlxyXG4gIFxyXG4gICAgXHJcbiAgICA8ZGl2IGNsYXNzPVwidmFsaWRhdGlvbi1lcnJvcnNcIiAqbmdJZj1cImZvcm1cIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdmFsaWRhdGlvbiBvZiB2YWxpZGF0aW9uX21lc3NhZ2VzXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIlxyXG4gICAgICAgICAgKm5nSWY9XCJmb3JtICYmIGZvcm0uZ2V0KGZvcm1Db250cm9sTmFtZSk/Lmhhc0Vycm9yKHZhbGlkYXRpb24udHlwZSkgJiYgKGZvcm0uZ2V0KGZvcm1Db250cm9sTmFtZSk/LnRvdWNoZWQpXCI+XHJcbiAgICAgICAgICAmIzgyMjY7IHt7IHZhbGlkYXRpb24ubWVzc2FnZSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgPC9kaXY+Il19
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FwcHByb2plY3QtY29tcG9uZW50cy9zcmMvbGliL2lucHV0LXNlbGVjdC9pbnB1dC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXBwcHJvamVjdC1jb21wb25lbnRzL3NyYy9saWIvaW5wdXQtc2VsZWN0L2lucHV0LXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBYSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQVkzRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBb0IxRCxVQUFVLENBQUMsS0FBbUI7UUFDNUIsMkNBQTJDO1FBQzNDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELGdCQUFnQixDQUFDLEVBQU87UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUNELGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBRUQsWUFBb0IsUUFBbUI7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFEVSxhQUFR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QVcsc0JBQXNCOzRCQUNqQyxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDOzhFQUdRLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNFLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFHdUMsVUFBVTtzQkFBdEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCYXNlSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlSW5wdXRDb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdrYi1pbnB1dC1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXNlbGVjdC5jb21wb25lbnQuc2NzcycsICcuLy4uL2Jhc2VDb21wb25lbnQuc2NzcyddLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IElucHV0U2VsZWN0Q29tcG9uZW50LFxyXG4gICAgbXVsdGk6IHRydWVcclxuICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHsgIFxyXG4gIEBPdXRwdXQoKSBzZWxlY3RDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdENoYW5nZUVudGl0eSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBASW5wdXQoKSBpdGVuczogYW55W10gPSBbXTtcclxuICBASW5wdXQoKSBpdGVtSWQ6IHN0cmluZyA9IFwiSWRcIjtcclxuICBASW5wdXQoKSBpdGVtTm9tZTogc3RyaW5nID0gXCJOb21lXCI7XHJcbiAgQElucHV0KCkgc2hvd05vdm86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpdGVtTnVsbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgb3BjYW9EZWZhdWx0OiBzdHJpbmcgPSAnU2VsZWNpb25hcic7XHJcblxyXG4gIC8vcGFyYSAnaW5qZcOnw6NvJyBkZSBlc3RpbG8gbm8gZm9jb1xyXG4gIEBWaWV3Q2hpbGQoXCJpdGVtU2VsZWN0XCIsIHtyZWFkOiBFbGVtZW50UmVmfSkgaXRlbVNlbGVjdDogYW55O1xyXG5cclxuICAvL2NvbnRyb2wgdmFsdWUgYWNlc3NvclxyXG4gIHB1YmxpYyBkYXRhOiBzdHJpbmcgfCBhbnk7XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogRnVuY3Rpb24gPSAoZGF0YTogc3RyaW5nKSA9PiB7fTtcclxuICBwcml2YXRlIG9uVG91Y2g6IEZ1bmN0aW9uID0gKCkgPT4ge307XHJcbiAgcHJpdmF0ZSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBjb25zb2xlID0gY29uc29sZTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nIHwgYW55KTogdm9pZCB7XHJcbiAgICAvL2NvbnNvbGUubG9nKCd3cml0ZSB2YWx1ZSBzZWxlY3QnLCB2YWx1ZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgIHRoaXMuZGF0YSA9IHZhbHVlO1xyXG4gIH1cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoID0gZm47XHJcbiAgfVxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyKSB7IFxyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMucmVhZG9ubHkgPT09IHRydWUpIHtcclxuICAgICAgLy9jb25zb2xlLmxvZyhcImRpc2FibGVkXCIpO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAvL3RoaXMucmVuZGVyZXIuYWRkQ2xhc3MoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpdGVtLXNlbGVjdFwiKSwgXCJpdGVtLWhhcy1mb2N1c1wiKTtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuaXRlbVNlbGVjdC5uYXRpdmVFbGVtZW50LCBcIml0ZW0taW50ZXJhY3RpdmUtZGlzYWJsZWRcIik7XHJcbiAgICAgICAgLy9jb25zb2xlLmxvZygnc2VsZWN0IGZvY3VzZWQnLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIml0ZW0tc2VsZWN0XCIpKTtcclxuICAgICAgfSwgMTAwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VsZWN0Q2hhbmdlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSA9PSAnJyA/IG51bGwgOiB2YWx1ZSk7ICAgIFxyXG4gICAgaWYgKHRoaXMuc2VsZWN0Q2hhbmdlICE9IG51bGwpIHtcclxuICAgICAgLy9jb25zb2xlLmxvZygnZW1pdCcsIHZhbHVlKTtcclxuICAgICAgdGhpcy5zZWxlY3RDaGFuZ2UuZW1pdCh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zZWxlY3RDaGFuZ2VFbnRpdHkgIT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBleGlzdGUgPSB0aGlzLml0ZW5zLmZpbmQoaSA9PiBpW3RoaXMuaXRlbUlkXSA9PSB2YWx1ZSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0Q2hhbmdlRW50aXR5LmVtaXQoZXhpc3RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQmx1cigpIHtcclxuICAgIC8vY29uc29sZS5sb2coJ2lucHV0IHNlbGVjdCBibHVyJylcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMuaXRlbVNlbGVjdC5uYXRpdmVFbGVtZW50LCBcIml0ZW0taGFzLWZvY3VzXCIpO1xyXG4gICAgfSwgMjAwKTtcclxuXHJcbiAgICBpZiAodGhpcy5mb3JtKSB7XHJcbiAgICAgIHRoaXMuZm9ybS5nZXQodGhpcy5mb3JtQ29udHJvbE5hbWUpPy5tYXJrQXNUb3VjaGVkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkVudGVyKCkge1xyXG4gICAgLy9hZGljaW9uYXIgY2xhc3NlIGFvIGlvbi1pdGVtXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLml0ZW1TZWxlY3QubmF0aXZlRWxlbWVudCwgXCJpdGVtLWhhcy1mb2N1c1wiKTtcclxuICAgICAgLy9jb25zb2xlLmxvZygnc2VsZWN0IGZvY3VzZWQnLCBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIml0ZW0tc2VsZWN0XCIpKTtcclxuICAgIH0sIDIwMCk7ICAgIFxyXG4gIH1cclxuXHJcbn1cclxuIiwiPCEtLVxyXG48ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4tLT5cclxuPGRpdj5cclxuICAgIDxpb24taXRlbSBsaW5lcz1cIm5vbmVcIiBzdHlsZT1cIi0tYmFja2dyb3VuZDogaW5oZXJpdGVkOyAtLWJhY2tncm91bmQtZm9jdXNlZDogdHJhbnNwYXJlbnQ7XCIgW2NsYXNzXT1cIml0ZW1DbGFzc1wiICNpdGVtU2VsZWN0XHJcbiAgICBbbmdDbGFzc109XCJmb3JtPy5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uZXJyb3JzICYmIChmb3JtPy5nZXQoZm9ybUNvbnRyb2xOYW1lKT8uZGlydHkgfHwgZm9ybT8uZ2V0KGZvcm1Db250cm9sTmFtZSk/LnRvdWNoZWQpID8gJ2Vycm9yLXNoYWtlJyA6ICcnIFwiXHJcbiAgICA+XHJcbiAgICAgIDxpb24tbGFiZWwgKm5nSWY9XCJsYWJlbFwiIFtwb3NpdGlvbl09XCJsYWJlbFBvc2l0aW9uXCIgY2xhc3M9XCJmb2N1cy1sYWJlbFwiPnt7IGxhYmVsIH19PC9pb24tbGFiZWw+XHJcbiAgICAgIDwhLS0gZm9ybUNvbnRyb2xOYW1lPVwie3sgZm9ybUNvbnRyb2xOYW1lIH19XCIgIC0tPlxyXG4gICAgICA8c2VsZWN0ICNpbnB1dFNlbGVjdFxyXG4gICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMCU7XCIgKGNoYW5nZSk9XCJvblNlbGVjdENoYW5nZShpbnB1dFNlbGVjdC52YWx1ZSlcIlxyXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCIgKGZvY3VzKT1cIm9uRW50ZXIoKVwiIFtkaXNhYmxlZF09XCJyZWFkb25seVwiPlxyXG4gICAgICAgIDxvcHRpb24gKm5nSWY9XCJpdGVtTnVsbFwiIFt2YWx1ZV09XCInJ1wiIHNlbGVjdGVkPnt7IG9wY2FvRGVmYXVsdCB9fTwvb3B0aW9uPlxyXG4gICAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbnNcIiBbdmFsdWVdPVwiaXRlbVtpdGVtSWRdXCIgW3NlbGVjdGVkXT1cIml0ZW1baXRlbUlkXSA9PSBkYXRhXCI+e3sgaXRlbVtpdGVtTm9tZV0gfX1cclxuICAgICAgICA8L29wdGlvbj5cclxuICAgICAgPC9zZWxlY3Q+ICAgIFxyXG4gICAgPC9pb24taXRlbT5cclxuICBcclxuICAgIFxyXG4gICAgPGRpdiBjbGFzcz1cInZhbGlkYXRpb24tZXJyb3JzXCIgKm5nSWY9XCJmb3JtXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHZhbGlkYXRpb24gb2YgdmFsaWRhdGlvbl9tZXNzYWdlc1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJlcnJvci1tZXNzYWdlXCJcclxuICAgICAgICAgICpuZ0lmPVwiZm9ybSAmJiBmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy5oYXNFcnJvcih2YWxpZGF0aW9uLnR5cGUpICYmIChmb3JtLmdldChmb3JtQ29udHJvbE5hbWUpPy50b3VjaGVkKVwiPlxyXG4gICAgICAgICAgJiM4MjI2OyB7eyB2YWxpZGF0aW9uLm1lc3NhZ2UgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIFxyXG4gIDwvZGl2PiJdfQ==
@@ -363,7 +363,7 @@ class InputSelectComponent extends BaseInputComponent {
363
363
  }
364
364
  }
365
365
  onSelectChange(value) {
366
- this.writeValue(value);
366
+ this.writeValue(value == '' ? null : value);
367
367
  if (this.selectChange != null) {
368
368
  //console.log('emit', value);
369
369
  this.selectChange.emit(value);
@@ -1226,7 +1226,7 @@ class InputCepComponent extends BaseInputComponent {
1226
1226
  ngOnInit() {
1227
1227
  }
1228
1228
  digitarFormatado(event) {
1229
- console.log(event);
1229
+ //console.log(event);
1230
1230
  if ((event.keyCode >= 48 && event.keyCode <= 57)
1231
1231
  || (event.keyCode >= 96 && event.keyCode <= 105)
1232
1232
  || (event.keyCode == 8)
@@ -1271,7 +1271,7 @@ class InputCepComponent extends BaseInputComponent {
1271
1271
  }
1272
1272
  }
1273
1273
  formataCampoValor(valor, Mascara, evento) {
1274
- console.log(valor);
1274
+ //console.log(valor);
1275
1275
  if (!valor)
1276
1276
  return null;
1277
1277
  //console.log(evento);
@@ -1314,7 +1314,7 @@ class InputCepComponent extends BaseInputComponent {
1314
1314
  }
1315
1315
  this.getEnderecoPeloCep(cep).subscribe({
1316
1316
  next: (result) => {
1317
- console.log('result CEP', result);
1317
+ //console.log('result CEP', result);
1318
1318
  let cidadePesquisa = result.localidade;
1319
1319
  cidadePesquisa = this.converteCaracteresEspeciais(cidadePesquisa.toUpperCase());
1320
1320
  if (this.getResultados) {
@@ -1 +1 @@
1
- {"version":3,"file":"appproject-components.mjs","sources":["../../../projects/appproject-components/src/lib/appproject-components.service.ts","../../../projects/appproject-components/src/lib/appproject-components.component.ts","../../../projects/appproject-components/src/lib/baseInputComponent.ts","../../../projects/appproject-components/src/lib/input-text/input-text.component.ts","../../../projects/appproject-components/src/lib/input-text/input-text.component.html","../../../projects/appproject-components/src/lib/input-format/input-format.component.ts","../../../projects/appproject-components/src/lib/input-format/input-format.component.html","../../../projects/appproject-components/src/lib/input-select/input-select.component.ts","../../../projects/appproject-components/src/lib/input-select/input-select.component.html","../../../projects/appproject-components/src/lib/model-treeview/model-treeview.component.ts","../../../projects/appproject-components/src/lib/model-treeview/model-treeview.component.html","../../../projects/appproject-components/src/lib/input-pesquisa/input-pesquisa.component.ts","../../../projects/appproject-components/src/lib/input-pesquisa/input-pesquisa.component.html","../../../projects/appproject-components/src/lib/input-valor/input-valor.component.ts","../../../projects/appproject-components/src/lib/input-valor/input-valor.component.html","../../../projects/appproject-components/src/lib/input-area/input-area.component.ts","../../../projects/appproject-components/src/lib/input-area/input-area.component.html","../../../projects/appproject-components/src/lib/input-cep/input-cep.component.ts","../../../projects/appproject-components/src/lib/input-cep/input-cep.component.html","../../../projects/appproject-components/src/lib/input-arquivo/input-arquivo.component.ts","../../../projects/appproject-components/src/lib/input-arquivo/input-arquivo.component.html","../../../projects/appproject-components/src/lib/buttons/baseBtnComponent.ts","../../../projects/appproject-components/src/lib/buttons/btn-action/btn-action.component.ts","../../../projects/appproject-components/src/lib/buttons/btn-action/btn-action.component.html","../../../projects/appproject-components/src/lib/buttons/btn-cancelar/btn-cancelar.component.ts","../../../projects/appproject-components/src/lib/buttons/btn-cancelar/btn-cancelar.component.html","../../../projects/appproject-components/src/lib/buttons/btn-excluir/btn-excluir.component.ts","../../../projects/appproject-components/src/lib/buttons/btn-excluir/btn-excluir.component.html","../../../projects/appproject-components/src/lib/buttons/btn-novo/btn-novo.component.ts","../../../projects/appproject-components/src/lib/buttons/btn-novo/btn-novo.component.html","../../../projects/appproject-components/src/lib/buttons/btn-salvar/btn-salvar.component.ts","../../../projects/appproject-components/src/lib/buttons/btn-salvar/btn-salvar.component.html","../../../projects/appproject-components/src/lib/input-checkbox/input-checkbox.component.ts","../../../projects/appproject-components/src/lib/input-checkbox/input-checkbox.component.html","../../../projects/appproject-components/src/lib/input-radio/input-radio.component.ts","../../../projects/appproject-components/src/lib/input-radio/input-radio.component.html","../../../projects/appproject-components/src/lib/entity-edit/entity-edit.component.ts","../../../projects/appproject-components/src/lib/entity-edit/entity-edit.component.html","../../../projects/appproject-components/src/lib/appproject-components.module.ts","../../../projects/appproject-components/src/public-api.ts","../../../projects/appproject-components/src/appproject-components.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppprojectComponentsService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'kb-appproject-components',\n template: `\n <p>\n appproject-components works!\n </p>\n `,\n styles: [\n ]\n})\nexport class AppprojectComponentsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseInputComponent implements OnInit {\r\n @Input() label!: string;\r\n @Input() labelPosition: string = 'stacked';\r\n @Input() nome!: string;\r\n @Input() placeholder: string = '';\r\n @Input() form!: FormGroup;\r\n @Input() campo!: string;\r\n @Input('formControlName') formControlName!: string; \r\n @Input() max: string = '10';\r\n @Input() validation_messages!: any[];\r\n @Input() type: string = \"text\";\r\n @Input() readonly: boolean = false;\r\n @Input() leitura: boolean = false;\r\n @Input() itemClass: string = \"padding\";\r\n @Output() blur = new EventEmitter();\r\n @Input() botaoLimpar: boolean = false;\r\n @Input() labelColor: string = 'dark';\r\n @Input() inputBackgroungColor: string = 'auto';\r\n \r\n @Input() blurArgs!: any[];\r\n\r\n constructor() {\r\n\r\n }\r\n ngOnInit(): void {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n}","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { BaseInputComponent } from '../baseInputComponent';\r\n\r\n@Component({\r\n selector: 'kb-input-text',\r\n templateUrl: './input-text.component.html',\r\n styleUrls: ['./input-text.component.scss', './../baseComponent.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InputTextComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class InputTextComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\r\n @Input() iconInput?: string;\r\n @Input() inputSpanAfter: string = null;\r\n @ViewChild('inputText', { read: ElementRef, static: true}) inputTextEdit;\r\n @Input() campoFoco: string;\r\n showSeePassword!: boolean;\r\n @Input() showCustomAction: boolean = false;\r\n @Input() customActionIcon: string = \"search-outline\";\r\n @Output() customActionClick = new EventEmitter();\r\n //control value acessor\r\n public data!: string | undefined;\r\n private onChange: Function = (data: string) => {};\r\n private onTouch: Function = () => {};\r\n private disabled: boolean = false;\r\n public console = console;\r\n\r\n writeValue(value?: any): void {\r\n //console.log('write value', value);\r\n this.onChange(value);\r\n this.data = value;\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disabled;\r\n }\r\n constructor() { \r\n super();\r\n }\r\n\r\n override ngOnInit(): void {\r\n }\r\n\r\n onBlur() {\r\n console.log('control name', this.formControlName);\r\n if (this.form) {\r\n this.form.get(this.formControlName)?.markAsTouched();\r\n }\r\n }\r\n\r\n limparClick() {\r\n this.writeValue(undefined);\r\n }\r\n\r\n isReadonly() {\r\n return this.leitura;\r\n }\r\n changeTypeOfInput() {\r\n this.type = \r\n this.type == 'password' ?\r\n 'text' : 'password';\r\n }\r\n setFocus() {\r\n this.inputTextEdit.nativeElement.setFocus();\r\n }\r\n\r\n customClick() {\r\n this.customActionClick.emit();\r\n }\r\n}\r\n","<!--\r\n<div [formGroup]=\"form\">\r\n [style.opacity]=\"readonly ? '0.8' : '1'\"\r\n-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px;\" [class]=\"itemClass\" \r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\r\n >\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}&nbsp;</ion-label>\r\n <!-- formControlName=\"{{ campo }}\" -->\r\n <ion-input #inputText\r\n type=\"{{type}}\" \r\n [placeholder]=\"placeholder\" \r\n maxlength=\"{{ max }}\"\r\n (ionBlur)=\"onBlur()\"\r\n [value]=\"data\"\r\n (input)=\"writeValue(inputText.value)\" \r\n autocomplete=\"new-password\"\r\n [style.--background]=\"inputBackgroungColor\"\r\n [disabled]=\"readonly\"\r\n [clearInput]=\"botaoLimpar\">\r\n <ion-icon *ngIf=\"iconInput\" name=\"{{ iconInput }}\"></ion-icon>\r\n </ion-input>\r\n \r\n <ion-button size=\"small\" slot=\"end\" *ngIf=\"showSeePassword\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\" color=\"dark\" (click)=\"changeTypeOfInput()\">\r\n <!-- (click)=\"limparClick()\" -->\r\n <ion-icon [name]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\r\n </ion-button>\r\n\r\n <ion-button size=\"small\" slot=\"end\" *ngIf=\"showCustomAction\" style=\"margin-top: var(--input-text-custom-btn-margin-top, 27px); margin-inline-start: 4px !important;\" fill=\"clear\" color=\"dark\" (click)=\"customClick()\">\r\n <!-- (click)=\"limparClick()\" -->\r\n <ion-icon slot=\"icon-only\" [name]=\"customActionIcon\"></ion-icon>\r\n </ion-button>\r\n\r\n <span *ngIf=\"inputSpanAfter\" slot=\"end\" class=\"inputSpanAfter-item\">&nbsp;{{ inputSpanAfter }}</span>\r\n </ion-item>\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n \r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n </div>","import { Component, ElementRef, EventEmitter, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { BaseInputComponent } from '../baseInputComponent';\r\n\r\n@Component({\r\n selector: 'kb-input-format',\r\n templateUrl: './input-format.component.html',\r\n styleUrls: ['./input-format.component.scss', './../baseComponent.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InputFormatComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class InputFormatComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() formato: string | null = null;\r\n @Input() keyEnter = new EventEmitter();\r\n @ViewChild('inputFormat', { read: ElementRef, static: true}) inputFormatEdit;\r\n \r\n //control value acessor\r\n public data: string | any = null;\r\n private onChange: Function = (data: string) => {};\r\n private onTouch: Function = () => {};\r\n private disabled: boolean = false;\r\n public console = console;\r\n\r\n writeValue(value: string | any): void {\r\n //console.log('write value', value);\r\n this.onChange(value);\r\n this.data = value;\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disabled;\r\n }\r\n\r\n constructor() { \r\n super();\r\n }\r\n\r\n override ngOnInit() { }\r\n\r\n digitarFormatado(event: any) {\r\n //console.log(event);\r\n const index = event.target.selectionStart >= 1 ? (event.target.selectionStart - 1) : 0;\r\n const keyAt = event.target.value.charCodeAt(index);\r\n if ((event.keyCode >= 48 && event.keyCode <= 57)\r\n || (keyAt >= 48 && keyAt <= 57)\r\n || (event.keyCode >= 96 && event.keyCode <= 105)\r\n || (event.keyCode == 8)\r\n || (event.keyCode == 9)\r\n || (event.keyCode == 39)\r\n || (event.keyCode == 37) \r\n || (event.keyCode == 46)) {\r\n\r\n //console.log(this.formControlName, this.form.get(this.formControlName).value);\r\n\r\n setTimeout(() => {\r\n if (this.form) {\r\n this.form.patchValue({\r\n [this.formControlName]: this.formataCampoValor(this.form.get(this.formControlName)?.value, this.formato ?? '', event)\r\n });\r\n } else {\r\n this.data = this.formataCampoValor(this.data ?? '', this.formato ?? '', event);\r\n this.writeValue(this.data);\r\n }\r\n }, 100);\r\n\r\n return true;\r\n }\r\n else {\r\n return false;\r\n } \r\n }\r\n\r\n onKeyEnter() {\r\n if (this.keyEnter != null) {\r\n this.keyEnter.emit();\r\n }\r\n }\r\n\r\n onBlur() {\r\n if (this.form) {\r\n this.form.get(this.formControlName)?.markAsTouched();\r\n }\r\n if (this.blur) {\r\n this.blur.emit(this.blurArgs);\r\n }\r\n }\r\n\r\n setFocus() {\r\n this.inputFormatEdit.nativeElement.setFocus();\r\n }\r\n\r\n formataCampoValor(valor: string, Mascara: string, evento: any) {\r\n console.log(valor);\r\n if (!valor)\r\n return null;\r\n //console.log(evento);\r\n\r\n //if (!this.keypressInteiro(evento))\r\n // return;\r\n\r\n var boleanoMascara;\r\n\r\n var Digitato = evento != null ? evento.keyCode : 0;\r\n let exp = /\\-|\\.|\\/|\\(|\\)| /g\r\n let campoSoNumeros = valor.replace(exp, \"\");\r\n\r\n var posicaoCampo = 0;\r\n var NovoValorCampo = \"\";\r\n var TamanhoMascara = campoSoNumeros.length;;\r\n\r\n if (Digitato != 8) { // backspace \r\n for (let i = 0; i <= TamanhoMascara; i++) {\r\n boleanoMascara = ((Mascara.charAt(i) == \"-\") || (Mascara.charAt(i) == \".\")\r\n || (Mascara.charAt(i) == \"/\"))\r\n boleanoMascara = boleanoMascara || ((Mascara.charAt(i) == \"(\")\r\n || (Mascara.charAt(i) == \")\") || (Mascara.charAt(i) == \" \"))\r\n if (boleanoMascara) {\r\n NovoValorCampo += Mascara.charAt(i);\r\n TamanhoMascara++;\r\n } else {\r\n NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);\r\n posicaoCampo++;\r\n }\r\n }\r\n return NovoValorCampo;\r\n } else {\r\n return valor;\r\n }\r\n }\r\n}\r\n","<!--\r\n<div [formGroup]=\"form\">\r\n-->\r\n<!--comando --inner-padding-end: utilizado pra remover padding desnecessários-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\" [class]=\"itemClass\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\r\n >\r\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\r\n <!-- formControlName={{formControlName}} -->\r\n <ion-input #inputFormat\r\n type=\"tel\" \r\n [placeholder]=\"placeholder\"\r\n maxlength=\"{{ max }}\" \r\n (keydown)=\"digitarFormatado($event)\" \r\n (keyup.enter)=\"onKeyEnter()\"\r\n (ionBlur)=\"onBlur()\"\r\n [value]=\"data\"\r\n (input)=\"writeValue(inputFormat.value)\"\r\n [disabled]=\"readonly\"></ion-input>\r\n \r\n </ion-item>\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { BaseInputComponent } from '../baseInputComponent';\r\n\r\n@Component({\r\n selector: 'kb-input-select',\r\n templateUrl: './input-select.component.html',\r\n styleUrls: ['./input-select.component.scss', './../baseComponent.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InputSelectComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class InputSelectComponent extends BaseInputComponent implements OnInit, ControlValueAccessor { \r\n @Output() selectChange = new EventEmitter();\r\n @Output() selectChangeEntity = new EventEmitter();\r\n @Input() itens: any[] = [];\r\n @Input() itemId: string = \"Id\";\r\n @Input() itemNome: string = \"Nome\";\r\n @Input() showNovo: boolean = false;\r\n @Input() itemNull: boolean = true;\r\n @Input() opcaoDefault: string = 'Selecionar';\r\n\r\n //para 'injeção' de estilo no foco\r\n @ViewChild(\"itemSelect\", {read: ElementRef}) itemSelect: any;\r\n\r\n //control value acessor\r\n public data: string | any;\r\n private onChange: Function = (data: string) => {};\r\n private onTouch: Function = () => {};\r\n private disabled: boolean = false;\r\n public console = console;\r\n\r\n writeValue(value: string): void {\r\n //console.log('write value select', value);\r\n this.onChange(value);\r\n this.data = value;\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disabled;\r\n }\r\n\r\n constructor(private renderer: Renderer2) { \r\n super();\r\n }\r\n\r\n override ngOnInit() {\r\n if (this.readonly === true) {\r\n //console.log(\"disabled\");\r\n setTimeout(() => {\r\n //this.renderer.addClass(document.getElementById(\"item-select\"), \"item-has-focus\");\r\n this.renderer.addClass(this.itemSelect.nativeElement, \"item-interactive-disabled\");\r\n //console.log('select focused', document.getElementById(\"item-select\"));\r\n }, 100);\r\n }\r\n }\r\n\r\n onSelectChange(value: any) {\r\n this.writeValue(value);\r\n if (this.selectChange != null) {\r\n //console.log('emit', value);\r\n this.selectChange.emit(value);\r\n }\r\n if (this.selectChangeEntity != null) {\r\n const existe = this.itens.find(i => i[this.itemId] == value);\r\n this.selectChangeEntity.emit(existe);\r\n }\r\n }\r\n\r\n onBlur() {\r\n //console.log('input select blur')\r\n setTimeout(() => {\r\n this.renderer.removeClass(this.itemSelect.nativeElement, \"item-has-focus\");\r\n }, 200);\r\n\r\n if (this.form) {\r\n this.form.get(this.formControlName)?.markAsTouched();\r\n }\r\n }\r\n\r\n onEnter() {\r\n //adicionar classe ao ion-item\r\n setTimeout(() => {\r\n this.renderer.addClass(this.itemSelect.nativeElement, \"item-has-focus\");\r\n //console.log('select focused', document.getElementById(\"item-select\"));\r\n }, 200); \r\n }\r\n\r\n}\r\n","<!--\r\n<div [formGroup]=\"form\">\r\n-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent;\" [class]=\"itemClass\" #itemSelect\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\r\n >\r\n <ion-label *ngIf=\"label\" [position]=\"labelPosition\" class=\"focus-label\">{{ label }}</ion-label>\r\n <!-- formControlName=\"{{ formControlName }}\" -->\r\n <select #inputSelect\r\n style=\"width: 100%;\" (change)=\"onSelectChange(inputSelect.value)\"\r\n (blur)=\"onBlur()\" (focus)=\"onEnter()\" [disabled]=\"readonly\">\r\n <option *ngIf=\"itemNull\" [value]=\"''\" selected>{{ opcaoDefault }}</option>\r\n <option *ngFor=\"let item of itens\" [value]=\"item[itemId]\" [selected]=\"item[itemId] == data\">{{ item[itemNome] }}\r\n </option>\r\n </select> \r\n </ion-item>\r\n \r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n \r\n </div>","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'kb-model-treeview',\n templateUrl: './model-treeview.component.html',\n styleUrls: ['./model-treeview.component.css']\n})\nexport class ModelTreeviewComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<p>model-treeview works!</p>\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Inject, Input, OnInit, Predicate, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { IonSelect, ModalController } from '@ionic/angular';\r\nimport { Subject, Subscription, of } from 'rxjs';\r\nimport { BaseInputComponent } from '../baseInputComponent';\r\nimport { debounceTime, switchMap } from 'rxjs/operators'\r\nimport { ModelTreeviewComponent } from '../model-treeview/model-treeview.component';\r\nimport { LibConfig } from '../lib-config';\r\n//import { LibConfig, LibConfigService } from '../appproject-components.module';\r\n\r\n@Component({\r\n selector: 'kb-input-pesquisa',\r\n templateUrl: './input-pesquisa.component.html',\r\n styleUrls: ['./input-pesquisa.component.scss', './../baseComponent.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InputPesquisaComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class InputPesquisaComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\r\n\r\n podePesquisar: boolean = true;\r\n @Input() textoPesquisa: string = '';\r\n selectElementVisivel: boolean = false;\r\n listaPesquisa: any[] = [];\r\n selectedItem: any;\r\n @Input() override max: string = '30';\r\n private pesquisaSubject: Subject<string> = new Subject();\r\n\r\n @Input() filterFunction: Predicate<any> | null = null;\r\n @Input() selectId: string = 'selectElement';\r\n @Input() campoId: string = 'Id';\r\n @Input() campoPaiId: string = 'PaiId';\r\n @Input() campoDisplay: string = 'Descricao';\r\n @Input() tipo: string = '';\r\n //@ViewChild('selectElement', { read: ElementRef, static: true }) selectElement;\r\n @ViewChild('selectElement', { static: false }) selectElement: IonSelect | null = null;\r\n\r\n @Input() pesquisaChange = new EventEmitter();\r\n @Input() pesquisaAction?: Function;\r\n @Input() limpar?: Function;\r\n //parametros para chamada API\r\n //endpoint para pesquisa por digitação\r\n @Input() url: string = '';\r\n @Input() urlItem: string = '';\r\n //endpoint para montar a arvore, se estiver vazia será usado o campo 'url'\r\n @Input() urlTree: string = '';\r\n @Input() empresa: number = 0;\r\n @Input() loadInit: boolean = false;\r\n\r\n //planoContas: number;\r\n\r\n //control value acessor\r\n public data: number | any;\r\n private onChange: Function = (data: number) => { };\r\n private onTouch: Function = () => { };\r\n private disabled: boolean = false;\r\n public console = console;\r\n\r\n modelChanged: Subject<any> = new Subject<any>();\r\n modelChangeSubscription?: Subscription;\r\n\r\n writeValue(value: number | any): void {\r\n //console.log('write value', value);\r\n this.onChange(value);\r\n this.data = value;\r\n if (value == null || value == 0) {\r\n this.writePesquisa('');\r\n this.selectedItem = null;\r\n } else {\r\n if (this.loadInit == true) {\r\n this.loadInit = false;\r\n this.modelChanged.next(value);\r\n //this.carregaItemIdParaLista(value);\r\n } else {\r\n //console.log(this.selectedItem);\r\n if (!this.selectedItem || (this.selectedItem && this.selectedItem[this.campoId] != value)) {\r\n console.log('Id diferente');\r\n this.modelChanged.next(value);\r\n //this.carregaItemIdParaLista(value);\r\n }\r\n }\r\n }\r\n\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disabled;\r\n }\r\n\r\n BASE_API = this.config.apiUrl;\r\n\r\n constructor(@Inject('LibConfigService') private config: LibConfig,\r\n private httpClient: HttpClient,\r\n private modalCtrl: ModalController) {\r\n super();\r\n\r\n this.modelChangeSubscription = this.modelChanged\r\n .pipe(debounceTime(500)\r\n )\r\n .subscribe(data => {\r\n this.carregaItemIdParaLista(data);\r\n });\r\n }\r\n\r\n onBlur(event: any) {\r\n console.log('blur', event);\r\n //console.log(event.detail.relatedTarget);\r\n if (event.detail.relatedTarget == null || event.detail.relatedTarget.id.indexOf(this.selectId + 'IonItem') == -1) {\r\n //console.log(\"true\", event.detail.relatedTarget.id);\r\n //pesquisar item na lista\r\n if (!this.existeNaListaTexto(this.textoPesquisa, true)) {\r\n this.limparClick();\r\n }\r\n\r\n this.dropDownPesquisa(0);\r\n if (this.form) {\r\n this.form.get(this.formControlName)?.markAsTouched();\r\n }\r\n }\r\n }\r\n\r\n override ngOnInit() {\r\n //tratar urls\r\n this.url = this.url.startsWith('http') ? this.url : `${this.BASE_API}/${this.url}`;\r\n this.urlItem = this.urlItem.startsWith('http') ? this.urlItem : `${this.BASE_API}/${this.urlItem}`;\r\n\r\n this.pesquisaSubject.pipe(switchMap((url) => {\r\n //this.console.log('subject url:', url); \r\n if (!this.isEmpty(url)) {\r\n return this.httpClient.get(url);\r\n //return of(url);\r\n }\r\n else\r\n return of([]);\r\n }))\r\n .subscribe({\r\n next: (result: any) => {\r\n //this.listaPesquisa = result;\r\n this.console.log('subject subscribe result:', result);\r\n this.listaPesquisa = [];\r\n\r\n if (result && result.length > 0) {\r\n if (this.filterFunction) {\r\n result = result.filter(this.filterFunction);\r\n }\r\n\r\n result.forEach((ent: any, index: any) => {\r\n this.listaPesquisa.push({ ...ent, Index: index, Selected: false });\r\n });\r\n }\r\n\r\n this.podePesquisar = true;\r\n if (this.listaPesquisa.length > 0) {\r\n this.dropDownPesquisa(this.listaPesquisa.length);\r\n }\r\n }\r\n , error: (error) => {\r\n this.podePesquisar = true;\r\n console.log('erro pesquisa', error);\r\n }\r\n });\r\n }\r\n\r\n writePesquisa(value: string | any): void {\r\n //console.log('write pesquisa', value);\r\n this.textoPesquisa = value;\r\n }\r\n\r\n showPesquisa(e: any): void {\r\n //console.log('show pesquisa', e.keyCode);\r\n var self = this;\r\n const index = e.target.selectionStart >= 1 ? (e.target.selectionStart - 1) : 0;\r\n //console.log(index, 'valor ', event.target.value, 'char ', event.target.value.charCodeAt(index));\r\n const keyAt = e.target.value.charCodeAt(index);\r\n /*\r\n if ((e.keyCode >= 48 && e.keyCode <= 57) ||\r\n (keyAt >= 48 && keyAt <= 57) ||\r\n (e.keyCode >= 65 && e.keyCode <= 90) ||\r\n (e.keyCode >= 96 && e.keyCode <= 105) ||\r\n (e.keyCode == 8)) {\r\n */\r\n if (e.keyCode != 40 && e.keyCode != 38) {\r\n if (!self.podePesquisar) {\r\n return;\r\n }\r\n let filtro = self.textoPesquisa;\r\n if (filtro != null && filtro != '' && filtro.length >= 2) {\r\n self.pesquisarEntidade(filtro);\r\n\r\n }\r\n else {\r\n if (e.keyCode == 8 && !filtro) {\r\n this.limparClick();\r\n }\r\n }\r\n }\r\n\r\n else {\r\n if (e.keyCode == 40 || e.keyCode == 38) {\r\n self.dropDownPesquisa(self.listaPesquisa.length);\r\n if (self.selectElementVisivel == true) {\r\n //let select = self.selectElement; //document.getElementById(self.TemplateSelect1Id());\r\n\r\n //ion-list\r\n //selecionado\r\n //console.log(self.listaPesquisa);\r\n let inc = e.keyCode == 40 ? 1 : -1;\r\n let selected = self.listaPesquisa.find(s => s['Selected'] === true);\r\n let cur = 0;\r\n if (selected != null) {\r\n cur = selected['Index'];\r\n //desmarcar o atual\r\n selected['Selected'] = false;\r\n cur = cur + inc;\r\n } else {\r\n cur = 0;\r\n }\r\n\r\n if (cur < 0) {\r\n cur = self.listaPesquisa.length - 1;\r\n } else if (cur >= self.listaPesquisa.length) {\r\n cur = 0;\r\n }\r\n\r\n let novoSelected = self.listaPesquisa.find(n => n['Index'] === cur);\r\n if (novoSelected != null) {\r\n novoSelected['Selected'] = true;\r\n self.selectedItem = novoSelected;\r\n self.textoPesquisa = novoSelected[self.campoDisplay];\r\n }\r\n /*\r\n let select = document.getElementById(this.selectId) as any;\r\n console.log('select Element', select)\r\n if (select != null) {\r\n let inc = e.keyCode == 40 ? 1 : -1;\r\n let cur = select.selectedIndex;\r\n if (cur == NaN) cur = -1;\r\n select.selectedIndex = cur + inc;\r\n if (select.selectedIndex >= 0 && select.selectedIndex < self.listaPesquisa.length) {\r\n self.selectedItem = self.listaPesquisa[select.selectedIndex];\r\n if (self.selectedItem != null) {\r\n self.textoPesquisa = self.selectedItem[self.campoDisplay];\r\n }\r\n }\r\n }\r\n */\r\n }\r\n\r\n } else\r\n if (e.keyCode == 13) {\r\n console.log('enter key', e)\r\n //self.selecionarComboClick(e);\r\n self.selecionarComboClick(null);\r\n //return false;\r\n } else if (e.keyCode == 27) {\r\n //ESC\r\n self.dropDownPesquisa(0);\r\n }\r\n }\r\n\r\n }\r\n\r\n highlight(texto: string): string {\r\n let index = texto.toLowerCase().indexOf(this.textoPesquisa.toLowerCase());\r\n //console.log(index);\r\n if (index >= 0) {\r\n return texto.substring(0, index) + '<strong>' + texto.substring(index, index + this.textoPesquisa.length) + '</strong>' + texto.substring(index + this.textoPesquisa.length); //texto.replace(this.textoPesquisa, `<strong>${this.textoPesquisa}</strong>`);\r\n } else {\r\n return texto;\r\n }\r\n }\r\n\r\n selecionarComboClick(item: any) {\r\n // console.log(item);\r\n var self = this;\r\n // console.log('combo click', self);\r\n\r\n /*\r\n let select = document.getElementById(this.selectId) as any;\r\n if (select.selectedIndex >= 0) {\r\n self.selectedItem = self.listaPesquisa[select.selectedIndex];\r\n }\r\n console.log('selected', this.selectedItem);\r\n //self.selectedItem = this.listaPesquisa.find(i => i[this.campoId] == e);\r\n if (self.selectedItem != null) {\r\n self.textoPesquisa = self.selectedItem[self.campoDisplay];\r\n self.writeValue(self.selectedItem[self.campoId]);\r\n if (e != null) {\r\n self.selectElementVisivel = false;\r\n if (self.action != null) {\r\n self.action(self.selectedItem(), e);\r\n }\r\n }\r\n }\r\n else {\r\n self.selectElementVisivel = false;\r\n }\r\n */\r\n // pesquisar selecionado\r\n // console.log(this.listaPesquisa);\r\n let selected = this.listaPesquisa.find(s => s['Selected'] === true);\r\n\r\n // if (!selected) {\r\n // console.log(this.campoId, item);\r\n // selected = this.listaPesquisa.filter( s => s[this.campoId] == item[this.campoId]);\r\n // }\r\n\r\n //se o item form passado como parametro (click no ion-item)\r\n if (item != null) {\r\n if (selected != null) {\r\n selected['Selected'] = false;\r\n }\r\n item['Selected'] = true;\r\n selected = item;\r\n }\r\n if (selected != null) {\r\n self.selectedItem = selected;\r\n self.textoPesquisa = selected[self.campoDisplay];\r\n self.writeValue(selected[self.campoId]);\r\n self.selectElementVisivel = false;\r\n //console.log('action', self.change);\r\n if (self.pesquisaChange != null) {\r\n self.pesquisaChange.emit(self.selectedItem);\r\n }\r\n } else {\r\n self.selectElementVisivel = false;\r\n }\r\n // this.listaPesquisa.forEach( pesquisa => {\r\n // console.log(pesquisa, self.data);\r\n // } );\r\n // console.log(this.textoPesquisa);\r\n }\r\n\r\n selecionarComboChange(e: any) {\r\n var self = this;\r\n console.log('combo change', e);\r\n self.selectedItem = this.listaPesquisa.find(i => i[this.campoId] == e);\r\n if (self.selectedItem != null) {\r\n self.writeValue(e);\r\n self.textoPesquisa = self.selectedItem[self.campoDisplay];\r\n if (e != null) {\r\n self.selectElementVisivel = false;\r\n if (self.pesquisaChange != null) {\r\n self.pesquisaChange.emit(self.selectedItem);\r\n }\r\n }\r\n }\r\n else {\r\n self.selectElementVisivel = false;\r\n }\r\n }\r\n\r\n dropDownPesquisa(length: number) {\r\n var self = this;\r\n if (self.listaPesquisa != null && self.listaPesquisa.length > 0) {\r\n if (length == -1) {\r\n length = self.listaPesquisa.length;\r\n }\r\n self.selectElementVisivel = length == 0 ? false : true;\r\n\r\n //console.log(this.selectElement);\r\n //this.selectElement.open();\r\n\r\n /*\r\n //let element = this.selectElement;\r\n let element = document.getElementById(this.selectId);\r\n console.log('dropDown', element);\r\n (element as any).size = length + 1;\r\n if (length == 0) {\r\n self.selectElementVisivel = false;\r\n } else {\r\n self.selectElementVisivel = true;\r\n }\r\n */\r\n }\r\n }\r\n\r\n pesquisarEntidade(filtro: string) {\r\n let url = this.url.replace('<<FILTRO>>', filtro).replace('<<EMPRESA>>', this.empresa.toString());\r\n console.log('pesquisarEntidade url', url);\r\n this.podePesquisar = false;\r\n this.pesquisaSubject.next(url);\r\n }\r\n\r\n pesquisarEntidadeOld(filtro: string) {\r\n let url = this.url.replace('<<FILTRO>>', filtro).replace('<<EMPRESA>>', this.empresa.toString());\r\n console.log('pesquisarEntidade url', url);\r\n this.podePesquisar = false;\r\n this.httpClient.get<any>(url)\r\n .subscribe({ next: (result: any) => {\r\n //this.listaPesquisa = result;\r\n if (this.filterFunction) {\r\n result = result.filter(this.filterFunction);\r\n }\r\n this.listaPesquisa = [];\r\n result.forEach((ent: any, index: number) => {\r\n this.listaPesquisa.push({ ...ent, Index: index, Selected: false });\r\n });\r\n\r\n this.podePesquisar = true;\r\n if (this.listaPesquisa.length > 0) {\r\n this.dropDownPesquisa(this.listaPesquisa.length);\r\n }\r\n }, error: error => {\r\n console.log('erro pesquisa', error);\r\n this.podePesquisar = true;\r\n }});\r\n }\r\n\r\n existeNaLista(id: number, setRegistro: boolean = false): boolean {\r\n if (this.listaPesquisa && this.listaPesquisa.length > 0) {\r\n let existe = this.listaPesquisa.find(l => l[this.campoId] === id);\r\n if (existe) {\r\n if (setRegistro) {\r\n this.selectedItem = existe;\r\n this.selecionarComboClick(this.selectedItem);\r\n }\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n existeNaListaTexto(texto: string, setRegistro: boolean = false): boolean {\r\n console.log(\"existe texto:\", texto, this.campoDisplay, this.listaPesquisa);\r\n if (this.listaPesquisa && this.listaPesquisa.length > 0) {\r\n let existe = this.listaPesquisa.find(l => l[this.campoDisplay].toUpperCase() === texto.toUpperCase());\r\n if (existe) {\r\n if (setRegistro) {\r\n this.selectedItem = existe;\r\n this.selecionarComboClick(this.selectedItem);\r\n }\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n validarItemSelecionado(setarRegistro: boolean = false): boolean {\r\n console.log('validar selecionado');\r\n //passar pela função de filtro\r\n let valido = false;\r\n if (this.selectedItem) {\r\n if (this.filterFunction) {\r\n let existe = [{ ...this.selectedItem }].filter(this.filterFunction);\r\n if (existe != null && existe.length > 0) {\r\n valido = true;\r\n }\r\n } else {\r\n valido = true;\r\n }\r\n if (valido && setarRegistro) {\r\n this.selecionarComboClick(this.selectedItem);\r\n }\r\n\r\n return valido;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n carregaItemIdParaLista(id: number) {\r\n let url = this.urlItem.replace('<<ID>>', id.toString());\r\n console.log(this.urlItem);\r\n console.log('pesquisar ID url', url);\r\n this.podePesquisar = false;\r\n this.httpClient.get<any>(url)\r\n .subscribe({ next: (result: any) => {\r\n this.listaPesquisa = [];\r\n this.listaPesquisa.push({ ...result, Index: 0, Selected: true });\r\n this.podePesquisar = true;\r\n if (this.listaPesquisa.length > 0) {\r\n this.selectedItem = this.listaPesquisa[0];\r\n this.selecionarComboClick(this.selectedItem);\r\n }\r\n }, error: error => {\r\n console.log('erro pesquisa', error);\r\n this.podePesquisar = true;\r\n }});\r\n }\r\n\r\n limparClick() {\r\n this.writeValue(null);\r\n this.writePesquisa(null);\r\n this.listaPesquisa = [];\r\n this.dropDownPesquisa(0);\r\n //this.podePesquisar = true;\r\n this.pesquisaSubject.next('');\r\n if (this.limpar) {\r\n this.limpar();\r\n }\r\n }\r\n\r\n verificarPesquisa() {\r\n //TODO: verificar se o texto corresponde com um item da lista\r\n this.selecionarComboClick(null);\r\n }\r\n\r\n async pesquisarClick() {\r\n /*\r\n if (this.pesquisaAction != null) {\r\n this.pesquisaAction();\r\n }\r\n */\r\n //pesquisaCategoria\r\n console.log(this.filterFunction, this.url, this.urlTree);\r\n\r\n const modal = await this.modalCtrl.create({\r\n component: ModelTreeviewComponent,\r\n componentProps: {\r\n //campoId: this.campoId,\r\n //campoPai: this.campoPaiId,\r\n //campoLabel: this.campoDisplay,\r\n filterFunction: this.filterFunction,\r\n empresaSelecionadaId: this.empresa,\r\n tipo: this.tipo,\r\n //especifico\r\n //planoContas: this.planoContas,\r\n url: this.isEmpty(this.urlTree) ? this.url : this.urlTree\r\n },\r\n cssClass: 'my-custom-modal-pesquisa'\r\n });\r\n\r\n modal.onDidDismiss().then(data => {\r\n let result = data['data'];\r\n console.log(result);\r\n if (result != null && result.Id > 0) {\r\n this.carregaItemIdParaLista(result.Id);\r\n }\r\n });\r\n modal.present();\r\n\r\n }\r\n\r\n isEmpty(valor: string | any) {\r\n return valor == null || valor == undefined || valor == ''\r\n }\r\n}\r\n","<div style=\"padding-inline-end: 0px;\">\r\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; margin-top: 2px;\" [class]=\"itemClass\">\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}</ion-label>\r\n <!-- formControlName=\"{{ campo }}\" -->\r\n <ion-spinner *ngIf=\"!podePesquisar\"\r\n style=\"--min-height: 0px !important; margin-inline-end: 5px !important; margin-top: 16px;\" \r\n slot=\"start\" name=\"lines\"></ion-spinner>\r\n <!-- (ionBlur)=\"verificarPesquisa()\" -->\r\n <!-- conflito com click da lista -->\r\n <ion-input #inputPesquisa\r\n type=\"{{type}}\" \r\n [placeholder]=\"placeholder\" \r\n maxlength=\"{{ max }}\" \r\n (ionBlur)=\"onBlur($event)\"\r\n [value]=\"textoPesquisa\" (input)=\"writePesquisa(inputPesquisa.value)\" \r\n (keyup)=\"showPesquisa($event)\"\r\n autocomplete=\"off\" [style.--background]=\"inputBackgroungColor\"\r\n (click)=\"dropDownPesquisa(-1)\"\r\n [disabled]=\"readonly\" debounce=\"500\"></ion-input>\r\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\"\r\n style=\"margin-top: 25px; margin-inline-start: 4px !important; --padding-start:2px; --padding-end: 2px;\" fill=\"clear\" color=\"medium\"\r\n (click)=\"limparClick()\">\r\n <ion-icon name=\"close-outline\"></ion-icon>\r\n </ion-button>\r\n \r\n <!--\r\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\"\r\n style=\"margin-top: 25px; margin-inline-start: 4px !important; --padding-start:2px; --padding-end: 2px;\" fill=\"clear\" color=\"medium\"\r\n (click)=\"pesquisarClick()\">\r\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\r\n </ion-button>\r\n -->\r\n \r\n </ion-item>\r\n \r\n <ion-list tabindex=\"-1\" [hidden]=\"!selectElementVisivel || !listaPesquisa || listaPesquisa.length == 0\" class=\"pesquisa-list\" style=\"max-height: 250px; overflow-y: auto;\">\r\n \r\n <ion-item tabindex=\"-1\" button *ngFor=\"let item of listaPesquisa\" \r\n (click)=\"selecionarComboClick(item)\" [id]=\"selectId + 'IonItem' + item['Index']\"\r\n class=\"pesquisa-item\">\r\n <!-- {{ item | json}} -->\r\n <span [class]=\"{'selected-item': item['Selected'] === true}\" [innerHTML]=\"highlight(item[campoDisplay])\"></span>\r\n </ion-item>\r\n \r\n </ion-list>\r\n \r\n <!--\r\n <ion-select interface=\"popover\" #selectElement tabindex=\"-1\" [hidden]=\"!selectElementVisivel\"\r\n (ionChange)=\"selecionarComboChange($event.target.value)\">\r\n <ion-select-option *ngFor=\"let item of listaPesquisa\" [value]=\"item[campoId]\" (click)=\"selecionarComboClick(item[campoId])\">\r\n {{ item[campoDisplay] }}\r\n </ion-select-option>\r\n </ion-select>\r\n -->\r\n \r\n <!--\r\n <select [id]=\"selectId\" #selectElement tabindex=\"-1\" [hidden]=\"!selectElementVisivel\"\r\n (change)=\"selecionarComboChange($event.target.value)\" class=\"pesquisa-select\">\r\n <option *ngFor=\"let item of listaPesquisa\" [value]=\"item[campoId]\" (click)=\"selecionarComboClick(item[campoId])\">\r\n {{ item[campoDisplay] }}\r\n </option>\r\n \r\n </select>\r\n -->\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n \r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n </div>","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { BaseInputComponent } from '../baseInputComponent';\r\n\r\n@Component({\r\n selector: 'kb-input-valor',\r\n templateUrl: './input-valor.component.html',\r\n styleUrls: ['./input-valor.component.scss', './../baseComponent.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InputValorComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class InputValorComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\r\n @Input() maxValor: number = null;\r\n @ViewChild('inputValor', { read: ElementRef, static: true}) inputValorEdit;\r\n //control value acessor\r\n public data: string | any;\r\n private onChange: Function = (data: string) => { };\r\n private onTouch: Function = () => { };\r\n private disabled: boolean = false;\r\n public console = console;\r\n\r\n writeValue(value: string | any): void {\r\n //console.log('write value', value);\r\n this.onChange(value);\r\n this.data = value;\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disabled;\r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n override ngOnInit() { }\r\n\r\n onBlur() {\r\n if (this.form) {\r\n this.form.get(this.formControlName)?.markAsTouched();\r\n }\r\n //verificar o valor\r\n if (this.maxValor) {\r\n if (this.form) {\r\n //console.log(this.form.get(this.formControlName).value);\r\n let valor = this.strToFloatZero(this.form.get(this.formControlName).value);\r\n if (valor > this.maxValor) {\r\n this.form.patchValue({\r\n [this.formControlName]: this.converterValorDecimalMil((this.maxValor * 100).toString())\r\n });\r\n }\r\n } else {\r\n let valor = this.strToFloatZero(this.data);\r\n if (valor > this.maxValor) {\r\n this.data = this.converterValorDecimalMil((this.maxValor * 100).toString());\r\n this.writeValue(this.data);\r\n }\r\n }\r\n }\r\n if (this.blur) {\r\n this.blur.emit(this.blurArgs);\r\n }\r\n }\r\n\r\n digitarValor(event: any) {\r\n //this.item.vendaunitario = this.utils.converterValorDecimal(this.item.vendaunitario);\r\n setTimeout(() => {\r\n if (this.form) {\r\n this.form.patchValue({\r\n [this.formControlName]: this.converterValorDecimalMil(this.form.get(this.formControlName)?.value) \r\n });\r\n } else {\r\n this.data = this.converterValorDecimalMil(this.data);\r\n this.writeValue(this.data);\r\n }\r\n }, 100);\r\n\r\n return true;\r\n }\r\n\r\n isEmpty(str: string | any): boolean {\r\n return str == null || str == undefined || str == '';\r\n }\r\n\r\n converterValorDecimalMil(campo: string, casas: number = 2): string {\r\n if (!this.isEmpty(campo)) {\r\n //console.log('converterValorDecimal');\r\n //console.log('campo:', campo, ' replaced: ', campo.replace(',', '').replace('.', '')); \r\n if (campo == '-') {\r\n return campo;\r\n }\r\n\r\n let valor = parseFloat(campo.replace(',', '').replace('.', '').replace('.', '').replace('.', ''));\r\n\r\n if (isNaN(valor)) {\r\n return '';\r\n }\r\n\r\n let valordiv = parseInt(\"1\" + this.stringOfChar(\"0\", casas));\r\n //valor /= 100; \r\n console.log(valor, '/', valordiv);\r\n valor /= valordiv;\r\n console.log('=', valor);\r\n return this.decimalToStringMil(valor);\r\n /*\r\n var str = valor.toString().replace('.', ',');\r\n var aStr = str.split(',');\r\n if (aStr.length == 1) {\r\n //str += ',00';\r\n str += ',' + this.stringOfChar('0', casas);\r\n }\r\n else {\r\n //str += this.stringOfChar('0', 2 - aStr[1].length);\r\n str += this.stringOfChar('0', casas - aStr[1].length);\r\n }\r\n return str;\r\n */\r\n }\r\n else\r\n return campo;\r\n }\r\n\r\n decimalToStringMil(number?: any) {\r\n if (number != null) {\r\n if (number == 0 || number == '0') {\r\n return '0,00';\r\n }\r\n //console.log(number);\r\n let numero = number.toFixed(2).split('.');\r\n numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.');\r\n return numero.join(',').replace('-.', '-');\r\n } else\r\n return '';\r\n }\r\n\r\n stringOfChar(str: string, tam: number): string {\r\n var res = '';\r\n for (var i = 0; i < tam; i++) {\r\n res += str;\r\n }\r\n return res;\r\n }\r\n\r\n strToFloatZero(str): number {\r\n if (Number.isFinite(str))\r\n return str;\r\n if (this.isEmpty(str))\r\n return 0;\r\n else\r\n return parseFloat(str.replace('.', '').replace(',', '.'));\r\n }\r\n\r\n setFocus() {\r\n this.inputValorEdit.nativeElement.setFocus();\r\n }\r\n}\r\n","<!--\r\n<div [formGroup]=\"form\">\r\n-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\r\n >\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}</ion-label>\r\n <!-- formControlName=\"{{ formControlName }}\" -->\r\n <ion-input #inputValor\r\n type=\"text\" \r\n [placeholder]=\"placeholder\" \r\n maxlength=\"{{ max }}\"\r\n (ionBlur)=\"onBlur()\"\r\n [value]=\"data\"\r\n (input)=\"writeValue(inputValor.value)\" \r\n (keypress)=\"digitarValor($event)\"\r\n [clearInput]=\"botaoLimpar\"\r\n [disabled]=\"readonly\"></ion-input>\r\n </ion-item>\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n \r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n </div>","import { Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BaseInputComponent } from '../baseInputComponent';\n\n@Component({\n selector: 'kb-input-area',\n templateUrl: './input-area.component.html',\n styleUrls: ['./input-area.component.scss', './../baseComponent.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: InputAreaComponent,\n multi: true\n }]\n})\nexport class InputAreaComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\n @Input() linhas: number = 5;\n \n @ViewChild(\"itemArea\", {read: ElementRef}) itemArea: any;\n //control value acessor\n public data: string | any;\n private onChange: Function = (data: string) => {};\n private onTouch: Function = () => {};\n private disabled: boolean = false;\n public console = console;\n\n writeValue(value: string | any): void {\n //console.log('write value', value);\n this.onChange(value);\n this.data = value;\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = this.disabled;\n }\n constructor(private renderer: Renderer2) { \n super();\n }\n\n override ngOnInit() {}\n\n onBlur() {\n //remover classe do ion-item\n setTimeout(() => {\n //this.renderer.addClass(document.getElementById(\"item-select\"), \"item-has-focus\");\n this.renderer.removeClass(this.itemArea.nativeElement, \"item-has-focus\");\n //console.log('select focused', document.getElementById(\"item-select\"));\n }, 200);\n \n if (this.form) {\n this.form.get(this.formControlName)?.markAsTouched();\n }\n }\n\n entered() {\n //adicionar classe ao ion-item\n // console.log('select focused');\n setTimeout(() => {\n //this.renderer.addClass(document.getElementById(\"item-select\"), \"item-has-focus\");\n this.renderer.addClass(this.itemArea.nativeElement, \"item-has-focus\");\n //console.log('select focused', document.getElementById(\"item-select\"));\n }, 200);\n \n }\n}\n","<!-- \r\n maxlength=\"{{ max }}\"\r\n-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\" #itemArea>\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}</ion-label>\r\n <!-- formControlName=\"{{ formControlName }}\" -->\r\n <textarea #inputArea \r\n [placeholder]=\"placeholder\" \r\n [maxLength]=\"max\"\r\n (ionBlur)=\"onBlur()\"\r\n [value]=\"data\"\r\n [rows]=\"linhas\" \r\n (input)=\"writeValue(inputArea.value)\"\r\n [disabled]=\"readonly\"\r\n (focus)=\"entered()\"\r\n ></textarea>\r\n </ion-item>\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n \r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n </div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { BaseInputComponent } from '../baseInputComponent';\n\n@Component({\n selector: 'kb-input-cep',\n templateUrl: './input-cep.component.html',\n styleUrls: ['./input-cep.component.scss', './../baseComponent.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: InputCepComponent,\n multi: true\n }]\n})\nexport class InputCepComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\n\n @Input() formato: string | null = '00000-000';\n @Input() keyEnter: Function | null = null;\n @Output() getResultados = new EventEmitter();\n\n //control value acessor\n public data: string | any = null;\n private onChange: Function = (data: string) => { };\n private onTouch: Function = () => { };\n private disabled: boolean = false;\n constructor() {\n super();\n }\n\n writeValue(value: string | any): void {\n //console.log('write value', value);\n this.onChange(value);\n this.data = value;\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = this.disabled;\n }\n\n override ngOnInit(): void {\n }\n\n digitarFormatado(event: any) {\n console.log(event);\n if ((event.keyCode >= 48 && event.keyCode <= 57)\n || (event.keyCode >= 96 && event.keyCode <= 105)\n || (event.keyCode == 8)\n || (event.keyCode == 9)\n || (event.keyCode == 39)\n || (event.keyCode == 37)\n || (event.keyCode == 46)) {\n\n //console.log(this.formControlName, this.form.get(this.formControlName).value);\n\n setTimeout(() => {\n if (this.form) {\n this.form.patchValue({\n [this.formControlName]: this.formataCampoValor(this.form.get(this.formControlName)?.value, this.formato ?? '', event)\n });\n } else {\n this.data = this.formataCampoValor(this.data ?? '', this.formato ?? '', event);\n this.writeValue(this.data);\n }\n }, 100);\n\n return true;\n }\n else {\n return false;\n }\n }\n\n onKeyEnter() {\n if (this.keyEnter != null) {\n this.keyEnter();\n } else {\n if (this.getResultados != null) {\n this.pesquisarClick();\n }\n }\n }\n\n onBlur() {\n if (this.form) {\n this.form.get(this.formControlName)?.markAsTouched();\n }\n if (this.blur) {\n this.blur.emit(this.blurArgs);\n }\n }\n\n formataCampoValor(valor: string, Mascara: string, evento: any) {\n console.log(valor);\n if (!valor)\n return null;\n //console.log(evento);\n\n //if (!this.keypressInteiro(evento))\n // return;\n\n var boleanoMascara;\n\n var Digitato = evento != null ? evento.keyCode : 0;\n let exp = /\\-|\\.|\\/|\\(|\\)| /g\n let campoSoNumeros = valor.replace(exp, \"\");\n\n var posicaoCampo = 0;\n var NovoValorCampo = \"\";\n var TamanhoMascara = campoSoNumeros.length;;\n\n if (Digitato != 8) { // backspace \n for (let i = 0; i <= TamanhoMascara; i++) {\n boleanoMascara = ((Mascara.charAt(i) == \"-\") || (Mascara.charAt(i) == \".\")\n || (Mascara.charAt(i) == \"/\"))\n boleanoMascara = boleanoMascara || ((Mascara.charAt(i) == \"(\")\n || (Mascara.charAt(i) == \")\") || (Mascara.charAt(i) == \" \"))\n if (boleanoMascara) {\n NovoValorCampo += Mascara.charAt(i);\n TamanhoMascara++;\n } else {\n NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);\n posicaoCampo++;\n }\n }\n return NovoValorCampo;\n } else {\n return valor;\n }\n }\n\n pesquisarClick() {\n const cep = this.data;\n //se não estiver informado o cep, não fazer a pesquisa\n if (cep == null || cep == \"\") {\n return;\n }\n\n this.getEnderecoPeloCep(cep).subscribe({\n next: (result) => {\n console.log('result CEP', result);\n\n let cidadePesquisa: string = result.localidade;\n cidadePesquisa = this.converteCaracteresEspeciais(cidadePesquisa.toUpperCase());\n\n if (this.getResultados) {\n this.getResultados.emit(result);\n }\n\n }, error: (error) => {\n\n }\n });\n }\n\n //substituição de caracteres\n converteCaracteresEspeciais(nome: string): string {\n var res = nome.replace(/Ã/g, \"A\");\n res = res.replace(/Á/g, \"A\");\n res = res.replace(/Ç/g, \"C\");\n res = res.replace(/É/g, \"E\");\n res = res.replace(/Â/g, \"A\");\n res = res.replace(/Ô/g, \"O\");\n res = res.replace(/Ó/g, \"O\");\n res = res.replace(/Ú/g, \"U\");\n res = res.replace(/Í/g, \"I\");\n return res;\n }\n\n getEnderecoPeloCep(cep: any): Observable<any> {\n return new Observable((x) => {\n var request = new XMLHttpRequest();\n request.open('get', `https://viacep.com.br/ws/${cep}/json/`, true);\n request.send();\n request.onload = function () {\n var data = JSON.parse(this.response);\n x.next(data)\n }\n })\n }\n}\n","<!--\r\n<div [formGroup]=\"form\">\r\n-->\r\n<!--comando --inner-padding-end: utilizado pra remover padding desnecessários-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\" [class]=\"itemClass\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\r\n >\r\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\r\n <!-- formControlName={{formControlName}} -->\r\n <ion-input #inputCep\r\n type=\"tel\" \r\n [placeholder]=\"placeholder\"\r\n maxlength=\"{{ max }}\" \r\n (keydown)=\"digitarFormatado($event)\" \r\n (keyup.enter)=\"onKeyEnter()\"\r\n (ionBlur)=\"onBlur()\"\r\n [value]=\"data\"\r\n (input)=\"writeValue(inputCep.value)\"\r\n [disabled]=\"readonly\"></ion-input>\r\n\r\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\"\r\n style=\"margin-top: 25px; margin-inline-start: 4px !important; --padding-start:2px; --padding-end: 2px;\" fill=\"clear\" color=\"medium\"\r\n (click)=\"pesquisarClick()\">\r\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\r\n </ion-button>\r\n \r\n </ion-item>\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>","import { Component, Input, OnInit, ViewChild, ElementRef, EventEmitter, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'kb-input-arquivo',\r\n templateUrl: './input-arquivo.component.html',\r\n styleUrls: ['./input-arquivo.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InputArquivoComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class InputArquivoComponent implements OnInit, ControlValueAccessor {\r\n @Input() nomeArquivo: string;\r\n\r\n //@Input() disabled: boolean = false;\r\n\r\n @Input() caption: string;\r\n @Input() pasta: string;\r\n @Input() subir: boolean = false;\r\n @Input() callback = new EventEmitter();\r\n @Input() tipoArquivo: string = \"image/*\";\r\n @Output() fileSelected = new EventEmitter();\r\n @Input() form: boolean = false;\r\n @Input() showIcon: boolean = false;\r\n @Input() icon: string;\r\n @Input() iconSrc: string; ///assets/icon/image_primary_24dp.svg\r\n @Input() btnExpand: string = \"block\";\r\n @Input() btnColor: string = \"primary\";\r\n @Input() btnFill: string = \"outline\";\r\n @Input() iconSlot: string = \"start\";\r\n @Input() arquivoTipos: string = \"image/*\";\r\n @Input() readOnly: boolean = false;\r\n\r\n //imagem\r\n @ViewChild('inputNome', { read: ElementRef, static: true }) myInput;\r\n captureDataUrl: string;\r\n public formFile: any;\r\n public sucessoEvent: Subject<boolean> = new Subject();\r\n\r\n data: string;\r\n filename: string;\r\n\r\n private onChange: Function = (selectedColor: string) => { };\r\n private onTouch: Function = () => { };\r\n private disabled: boolean = false;\r\n\r\n showImageBrowser() {\r\n this.myInput.nativeElement.click();\r\n }\r\n\r\n writeValue(value: string): void {\r\n this.onChange(value);\r\n this.data = value;\r\n if (this.callback)\r\n this.callback.emit(this.filename);\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disabled;\r\n }\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n loadImagem() {\r\n //console.log(this.myInput);\r\n this.formFile = this.myInput.nativeElement.files[0];\r\n \r\n if (this.fileSelected) {\r\n this.fileSelected.emit({ content: this.formFile, name: this.myInput.nativeElement.files[0].name });\r\n }\r\n\r\n if (this.form) {\r\n //this.formFile = this.myInput.nativeElement.files[0];\r\n this.sucessoEvent.next(true);\r\n\r\n } else {\r\n //this.formFile = this.myInput.nativeElement.files[0];\r\n this.getBase64FromFile(this.myInput.nativeElement.files[0])\r\n .then(result => {\r\n //console.log('file: ', result.toString());\r\n //console.log('nome do arquivo: ', this.nomeArquivo.toLowerCase());\r\n let searchstr = result.toString().substring(0, result.toString().indexOf('base64,')) + 'base64,';\r\n console.log('searchstring', searchstr);\r\n if (this.subir) {\r\n this.captureDataUrl = result.toString().replace(searchstr, '');\r\n } else {\r\n this.captureDataUrl = result.toString();\r\n }\r\n //this.utils.showToast('Imagem carregada em memória.');\r\n this.sucessoEvent.next(true);\r\n console.log('file', this.myInput.nativeElement.files[0]);\r\n this.filename = this.myInput.nativeElement.files[0].name;\r\n this.writeValue(this.captureDataUrl);\r\n\r\n\r\n\r\n // if (this.nomeArquivo && this.subir) {\r\n // this.arquivoService.setImagem({ Nome: this.nomeArquivo, Conteudo: this.captureDataUrl, Status: 0, Pasta: this.pasta })\r\n // .subscribe(result => {\r\n // console.log('result set imagem', result);\r\n // if (result.Status == 200) {\r\n // this.utils.showToast('Sucesso!');\r\n // } else {\r\n // this.utils.showAlert('Erro. Tente mais tarde.' + result.Conteudo);\r\n // }\r\n // }, error => {\r\n // this.utils.showAlert('Erro. Tente mais tarde.');\r\n // })\r\n // }\r\n\r\n }).catch(error => {\r\n this.sucessoEvent.next(false);\r\n })\r\n }\r\n }\r\n\r\n //util\r\n getBase64FromFile(file: File) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n }\r\n}\r\n","<!-- style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\" -->\r\n<div style=\"text-align:center;\">\r\n <ion-button [fill]=\"btnFill\" size=\"normal\" [color]=\"btnColor\" \r\n (click)=\"showImageBrowser()\" [expand]=\"btnExpand\" [disabled]=\"readOnly\">\r\n <ion-icon *ngIf=\"showIcon\" class=\"ion-padding-end\" [slot]=\"iconSlot\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\r\n {{ caption }}\r\n </ion-button>\r\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome [accept]=\"arquivoTipos\" (change)=\"loadImagem()\"\r\n style=\"display: none;\" />\r\n </div>\r\n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseBtnComponent implements OnInit {\r\n @Input() disabled: boolean = false;\r\n @Input() type: string = 'submit';\r\n @Input() icon: string = 'checkmark-outline';\r\n @Input() iconSrc: string = '';\r\n @Input() title: string = 'Salvar';\r\n @Input() fill: string = 'outline';\r\n @Input() expand: string = 'block';\r\n @Output() btnClick = new EventEmitter();\r\n @Input() size: string = 'default';\r\n @Input() iconSlot: string = 'start';\r\n\r\n ngOnInit(): void {\r\n return;\r\n }\r\n\r\n onClick() {\r\n if (this.btnClick)\r\n this.btnClick.emit();\r\n }\r\n\r\n resolveTheme(theme: string) {\r\n //console.log('resolve theme', theme);\r\n // if (theme == 'default') {\r\n // this.fill = 'outline';\r\n // } else {\r\n // this.fill = 'solid';\r\n // }\r\n if (theme == 'windows-theme') {\r\n this.fill = 'solid';\r\n }\r\n }\r\n}","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseBtnComponent } from '../baseBtnComponent';\r\n\r\n@Component({\r\n selector: 'kb-btn-action',\r\n templateUrl: './btn-action.component.html',\r\n styleUrls: ['./btn-action.component.scss'],\r\n})\r\nexport class BtnActionComponent extends BaseBtnComponent implements OnInit {\r\n @Input() override title: string = 'Abrir';\r\n @Input() color: string = 'primary';\r\n @Input() hidden: boolean = false;\r\n @Input() override icon: string = '';\r\n @Input() override iconSrc: string = '';\r\n @Input() imgSrc: string = '';\r\n @Input() boxColor: string = '#4c8dff';\r\n @Input() btnMargin: string = '4px';\r\n @Input() override expand: string = 'block';\r\n @Input() iconStyle: string = '';\r\n @Input() titleStyle: string = '';\r\n buttonStyle: string = ''; \r\n constructor() {\r\n super();\r\n this.type = 'button';\r\n }\r\n\r\n override ngOnInit() {\r\n this.buttonStyle = ''; \r\n } \r\n\r\n}\r\n","<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\"\r\n [size]=\"size\"\r\n [hidden]=\"hidden\" \r\n (click)=\"onClick()\"\r\n > \r\n <ion-icon *ngIf=\"icon || iconSrc\" [slot]=\"title ? iconSlot : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\" [style]=\"iconStyle\"></ion-icon>\r\n <span [style]=\"titleStyle\">{{ title }}</span>\r\n <img *ngIf=\"imgSrc\" [src]=\"imgSrc\" [slot]=\"title ? iconSlot : 'icon-only'\"/>\r\n</ion-button>\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseBtnComponent } from '../baseBtnComponent';\r\n\r\n@Component({\r\n selector: 'kb-btn-cancelar',\r\n templateUrl: './btn-cancelar.component.html',\r\n styleUrls: ['./btn-cancelar.component.scss'],\r\n})\r\nexport class BtnCancelarComponent extends BaseBtnComponent implements OnInit {\r\n //@Input() override iconSrc = \"/assets/icon/limpar_purple_24dp.svg\";\r\n @Input() override icon = \"close-outline\";\r\n @Input() override title: string = 'Cancelar';\r\n //@Input() override icon: string = '';\r\n constructor() { \r\n super();\r\n this.type = 'button';\r\n } \r\n\r\n}\r\n","<ion-button color=\"tertiary\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" \r\n [size]=\"size\"\r\n (click)=\"onClick()\"\r\n > \r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\r\n {{ title }}\r\n</ion-button> \r\n<!-- \r\n<ion-button color=\"tertiary\" fill=\"outline\" (click)=\"cancelarContato()\" style=\"box-shadow: #6370ff 0px 3px 3px 0.05px\"\r\n [disabled]=\"!selectedContato\">\r\n <ion-icon src=\"/assets/icon/limpar_purple_24dp.svg\"></ion-icon>\r\n Cancelar\r\n</ion-button>\r\n-->","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseBtnComponent } from '../baseBtnComponent';\r\n\r\n@Component({\r\n selector: 'kb-btn-excluir',\r\n templateUrl: './btn-excluir.component.html',\r\n styleUrls: ['./btn-excluir.component.scss'],\r\n})\r\nexport class BtnExcluirComponent extends BaseBtnComponent implements OnInit {\r\n @Input() override type: string = 'button';\r\n @Input() override expand: string = 'inline';\r\n @Input() override icon: string = 'trash'; \r\n @Input() override title: string = 'Excluir'; \r\n constructor() { \r\n super();\r\n }\r\n \r\n}\r\n","<ion-button color=\"danger\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\r\n (click)=\"onClick()\"\r\n > \r\n <ion-icon *ngIf=\"icon\" [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\r\n {{ title }}\r\n</ion-button> \r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseBtnComponent } from '../baseBtnComponent';\r\n\r\n@Component({\r\n selector: 'kb-btn-novo',\r\n templateUrl: './btn-novo.component.html',\r\n styleUrls: ['./btn-novo.component.scss'],\r\n})\r\nexport class BtnNovoComponent extends BaseBtnComponent implements OnInit {\r\n @Input() override title: string = 'Novo';\r\n @Input() override icon: string = 'person-add'; \r\n @Input() override iconSrc: string = '';\r\n @Input() override expand: string = 'block';\r\n @Input() imgSrc: string = '';\r\n constructor() {\r\n super();\r\n this.type = 'button'; \r\n }\r\n \r\n}\r\n","<ion-button color=\"primary\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" \r\n [size]=\"size\"\r\n (click)=\"onClick()\"\r\n > \r\n <ion-icon *ngIf=\"icon || iconSrc\" [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\r\n {{ title }}\r\n <img *ngIf=\"imgSrc\" [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\"/>\r\n</ion-button> \r\n<!-- \r\n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\r\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\r\n Novo\r\n</ion-button>\r\n-->","import { Component, Input, OnInit, Output } from '@angular/core';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { BaseBtnComponent } from '../baseBtnComponent';\r\n\r\n@Component({\r\n selector: 'kb-btn-salvar',\r\n templateUrl: './btn-salvar.component.html',\r\n styleUrls: ['./btn-salvar.component.scss'],\r\n})\r\nexport class BtnSalvarComponent extends BaseBtnComponent implements OnInit {\r\n @Input() btnMargin: string = '4px';\r\n constructor() { \r\n super();\r\n } \r\n \r\n}\r\n","<ion-button color=\"success\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" \r\n [size]=\"size\"\r\n (click)=\"onClick()\"\r\n [style.margin]=\"btnMargin\"\r\n > \r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\r\n {{ title }}\r\n</ion-button>","import { Component, Input, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BaseInputComponent } from '../baseInputComponent';\n\n@Component({\n selector: 'kb-input-checkbox',\n templateUrl: './input-checkbox.component.html',\n styleUrls: ['./input-checkbox.component.scss', './../baseComponent.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: InputCheckboxComponent,\n multi: true\n }]\n})\nexport class InputCheckboxComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\n\n @Input() justify: string = \"start\";\n @Input() labelPlacement: string = \"end\";\n //control value acessor\n public data!: boolean | undefined;\n private onChange: Function = (data: string) => { };\n private onTouch: Function = () => { };\n private disabled: boolean = false;\n public console = console;\n\n writeValue(value?: any): void {\n console.log('write value', value);\n this.onChange(value);\n this.data = value;\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = this.disabled;\n }\n constructor() {\n super();\n }\n\n \n\n override ngOnInit(): void {\n }\n}\n","<div>\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px;\" [class]=\"itemClass\">\n <ion-checkbox #inputCheck\n [labelPlacement]=\"labelPlacement\" [justify]=\"justify\" \n [disabled]=\"readonly\"\n [checked]=\"data\"\n (ionChange)=\"writeValue(inputCheck.checked)\">\n {{ label }}\n </ion-checkbox>\n </ion-item>\n</div>","import { Component, Input, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BaseInputComponent } from '../baseInputComponent';\n\n@Component({\n selector: 'kb-input-radio',\n templateUrl: './input-radio.component.html',\n styleUrls: ['./input-radio.component.scss', './../baseComponent.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: InputRadioComponent,\n multi: true\n }]\n})\nexport class InputRadioComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\n @Input() itens: any[] = [];\n @Input() itemId: string = \"Id\";\n @Input() itemNome: string = \"Nome\";\n @Input() color: string = \"primary\";\n //control value acessor\n public data!: string | undefined;\n private onChange: Function = (data: string) => { };\n private onTouch: Function = () => { };\n private disabled: boolean = false;\n public console = console;\n\n writeValue(value?: any): void {\n //console.log('write value', value);\n this.onChange(value);\n this.data = value;\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = this.disabled;\n }\n constructor() {\n super();\n }\n\n override ngOnInit(): void {\n }\n\n\n}\n","<div>\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px;\" [class]=\"itemClass\"\n [style.opacity]=\"readonly ? '0.5' : '1'\">\n <ion-radio-group [disabled]=\"readonly\" #inputRadio \n [value]=\"data\"\n (ionChange)=\"writeValue(inputRadio.value)\">\n <span style=\"font-size: 13px\">\n {{ label }}\n </span>\n <ion-row>\n <ion-col *ngFor=\"let item of itens\">\n <ion-radio style=\"margin-right: 12px;\" [color]=\"color\" \n labelPlacement=\"end\" \n justify=\"start\"\n [value]=\"item[itemId]\">\n {{ item[itemNome] }}</ion-radio><br />\n </ion-col>\n </ion-row>\n </ion-radio-group>\n </ion-item>\n</div>","import { Component, Input, NgZone, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { BaseModel, HtmlRow } from 'appproject-lib';\n\n@Component({\n selector: 'kb-entity-edit',\n //standalone: true,\n templateUrl: './entity-edit.component.html',\n styleUrl: './entity-edit.component.scss'\n})\nexport class EntityEditComponent<T extends BaseModel> implements OnInit {\n @Input() entidade: T | null;\n //entidade: any;\n /**\n * Vai receber montado do base cadastro\n */\n @Input() campos: HtmlRow[];\n @Input() entidadeForm: FormGroup;\n @Input() validation_messages: any;\n @Input() itemClass: string = \"\";\n @Input() rowClass: string = \"\";\n constructor(private ngZone: NgZone) {\n\n }\n\n ngOnInit() {\n //this.getEntidadeCampos();\n }\n\n getEntidadeCampos() {\n //this.entidade = new this.entidadeTipo();\n\n // console.log(this.entidade);\n // this.ngZone.run(() => \n // this.campos = this.entidade.getHtmlForm()\n // );\n // console.log(this.campos);\n }\n\n emptyHandler() {\n\n }\n}\n","<form *ngIf=\"campos && campos.length\" [formGroup]=\"entidadeForm\" style=\"width: 100%;\">\n\n\n <ion-row *ngFor=\"let linha of campos\" [class]=\"rowClass\">\n <ng-container *ngFor=\"let campo of linha.Linha\">\n <!-- {{ campo.Nome }} {{ campo.Tipo }} -->\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-text'\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\" [placeholder]=\"campo.PlaceHolderVisivel ? (campo.Label ?? campo.Nome + '...') : ''\"\n [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco\" [readonly]=\"campo.ReadOnly\" \n [type]=\"campo.TipoInput ?? 'text'\" \n [showSeePassword]=\"campo.TipoInput == 'password'\"\n [showCustomAction]=\"campo.InputAction\"\n [customActionIcon]=\"campo.InputActionIcon ?? 'search-outline'\"\n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\"\n\n [itemClass]=\"itemClass\">\n </kb-input-text>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-area'\">\n <kb-input-area label=\"{{campo.Label ?? campo.Nome}}\" placeholder=\"{{campo.Label ?? campo.Nome}}...\"\n [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n </kb-input-area>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-cep'\">\n <kb-input-cep label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\"\n (getResultados)=\"campo.change ? campo.change($event) : emptyHandler()\"\n >\n </kb-input-cep>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-valor'\">\n <kb-input-valor label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n </kb-input-valor>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-format'\">\n <kb-input-format label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco\" [readonly]=\"campo.ReadOnly\" [formato]=\"campo.Formato ?? ''\"\n [itemClass]=\"itemClass\">\n </kb-input-format>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-checkbox'\">\n <kb-input-checkbox label=\"{{ campo.Label }}\" [form]=\"entidadeForm\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n\n </kb-input-checkbox>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-select'\">\n <kb-input-select [label]=\"campo.Label ?? campo.Nome\" [placeholder]=\"'Selecionar...'\"\n [formControlName]=\"campo.Nome\" [form]=\"entidadeForm\" [itens]=\"campo.Itens\" [itemId]=\"campo.ItemId ?? 'Id'\"\n [itemNome]=\"campo.ItemNome ?? 'Nome'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n (selectChangeEntity)=\"campo.change ? campo.change($event) : emptyHandler()\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n </kb-input-select>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-radio'\">\n <kb-input-radio [label]=\"campo.Label ?? campo.Nome\" [formControlName]=\"campo.Nome\" [form]=\"entidadeForm\"\n [itens]=\"campo.Itens\" [itemId]=\"campo.ItemId\" [itemNome]=\"campo.ItemNome\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n </kb-input-radio>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-pesquisa'\">\n <kb-input-pesquisa #pesquisaCentroCustoPai [label]=\"campo.Label ?? campo.Nome\" [campoId]=\"campo.ItemId\"\n [formControlName]=\"campo.Nome\" placeholder=\"Pesquisar...\" [campoDisplay]=\"'Nome'\" [form]=\"entidadeForm\"\n tipo=\"Empresa\" urlItem=\"Empresa/<<ID>>\" max=\"50\" [url]=\"campo.UrlPesquisa\" [readonly]=\"campo.ReadOnly\"\n (pesquisaChange)=\"campo.change ? campo.change($event) : emptyHandler()\"\n [itemClass]=\"itemClass\">\n </kb-input-pesquisa>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-button'\">\n <!-- \n <kb-btn-action [title]=\"campo.Label\" [icon]=\"campo.Icon\" [iconSrc]=\"campo.IconSrc\" [color]=\"campo.BtnColor ?? 'light'\" \n [expand]=\"campo.BtnExpand ?? 'block'\" style=\"margin-top: var(--btn-action-margin-top, auto);\">\n </kb-btn-action>\n -->\n <ion-button [expand]=\"campo.BtnExpand ?? 'block'\" [color]=\"campo.BtnColor ?? 'light'\"\n (click)=\"campo.click ? campo.click($event) : emptyHandler()\" [size]=\"campo.BtnSize ?? 'default'\"\n [disabled]=\"campo.ReadOnly\">\n <ion-icon *ngIf=\"campo.Icon || campo.IconSrc\" [name]=\"campo.Icon\" [src]=\"campo.IconSrc\"></ion-icon>\n {{ campo.Label }}\n </ion-button>\n </ion-col>\n\n <ion-col *ngIf=\"campo.Tipo == 'col'\" size-md=\"1\" size-xs=\"0\">\n\n </ion-col>\n\n <ion-col *ngIf=\"campo.Tipo == 'sub-titulo'\" size=\"12\">\n <ion-list lines=\"none\" class=\"ion-no-padding\">\n <ion-list-header color=\"primary\">\n <ion-label>{{ campo.Label }}</ion-label>\n </ion-list-header>\n </ion-list>\n </ion-col>\n </ng-container>\n </ion-row>\n\n <!--\n <ion-col class=\"select ion-no-margin ion-no-padding\">\n <ion-item lines=\"none\">\n <ion-label>Totalizador</ion-label>\n <ion-checkbox slot=\"start\" formControlName=\"Totalizador\"></ion-checkbox>\n </ion-item>\n </ion-col>\n <ion-col class=\"select ion-no-margin ion-no-padding\">\n <ion-item lines=\"none\">\n <ion-label>Inativo</ion-label>\n <ion-checkbox slot=\"start\" formControlName=\"Inativo\"></ion-checkbox>\n </ion-item>\n </ion-col>\n -->\n</form>","import { CUSTOM_ELEMENTS_SCHEMA, InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { AppprojectComponentsComponent } from './appproject-components.component';\r\nimport { InputTextComponent } from './input-text/input-text.component';\r\nimport { InputFormatComponent } from './input-format/input-format.component';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AppprojectComponentsService } from './appproject-components.service';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { InputSelectComponent } from './input-select/input-select.component';\r\nimport { InputPesquisaComponent } from './input-pesquisa/input-pesquisa.component';\r\nimport { ModelTreeviewComponent } from './model-treeview/model-treeview.component';\r\nimport { InputValorComponent } from './input-valor/input-valor.component';\r\nimport { InputAreaComponent } from './input-area/input-area.component';\r\nimport { InputCepComponent } from './input-cep/input-cep.component';\r\nimport { InputArquivoComponent } from './input-arquivo/input-arquivo.component';\r\nimport { BtnActionComponent } from './buttons/btn-action/btn-action.component';\r\nimport { BtnCancelarComponent } from './buttons/btn-cancelar/btn-cancelar.component';\r\nimport { BtnExcluirComponent } from './buttons/btn-excluir/btn-excluir.component';\r\nimport { BtnNovoComponent } from './buttons/btn-novo/btn-novo.component';\r\nimport { BtnSalvarComponent } from './buttons/btn-salvar/btn-salvar.component';\r\nimport { EntityEditComponent } from './entity-edit/entity-edit.component';\r\nimport { LibConfig } from './lib-config';\r\nimport { InputCheckboxComponent } from './input-checkbox/input-checkbox.component';\r\nimport { InputRadioComponent } from './input-radio/input-radio.component';\r\n\r\n\r\nexport const LibConfigService = new InjectionToken<LibConfig>('LibConfig');\r\n\r\n@NgModule({\r\n declarations: [\r\n AppprojectComponentsComponent,\r\n InputTextComponent,\r\n InputFormatComponent,\r\n InputSelectComponent,\r\n InputPesquisaComponent,\r\n ModelTreeviewComponent,\r\n InputValorComponent,\r\n InputAreaComponent,\r\n InputCepComponent,\r\n InputArquivoComponent,\r\n BtnActionComponent,\r\n BtnCancelarComponent,\r\n BtnExcluirComponent,\r\n BtnNovoComponent,\r\n BtnSalvarComponent,\r\n EntityEditComponent,\r\n InputCheckboxComponent,\r\n InputRadioComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n IonicModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n AppprojectComponentsComponent,\r\n InputTextComponent,\r\n InputFormatComponent,\r\n InputSelectComponent,\r\n InputPesquisaComponent,\r\n ModelTreeviewComponent,\r\n InputValorComponent,\r\n InputAreaComponent,\r\n InputCepComponent,\r\n InputArquivoComponent,\r\n BtnActionComponent,\r\n BtnCancelarComponent,\r\n BtnExcluirComponent,\r\n BtnNovoComponent,\r\n BtnSalvarComponent,\r\n EntityEditComponent,\r\n InputCheckboxComponent,\r\n InputRadioComponent\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class AppprojectComponentsModule {\r\n static forRoot(config: LibConfig): ModuleWithProviders<AppprojectComponentsModule> {\r\n return {\r\n ngModule: AppprojectComponentsModule,\r\n providers: [\r\n AppprojectComponentsService,\r\n {\r\n provide: 'LibConfigService',\r\n useValue: config\r\n }\r\n ]\r\n }\r\n }\r\n}\r\n","/*\r\n * Public API Surface of appproject-components\r\n */\r\n\r\nexport * from './lib/appproject-components.service';\r\nexport * from './lib/appproject-components.component';\r\nexport * from './lib/appproject-components.module';\r\n//export manual dos componentes criados\r\nexport * from './lib/baseInputComponent';\r\nexport * from './lib/input-text/input-text.component';\r\nexport * from './lib/input-format/input-format.component';\r\nexport * from './lib/input-select/input-select.component';\r\nexport * from './lib/input-pesquisa/input-pesquisa.component';\r\nexport * from './lib/input-valor/input-valor.component';\r\nexport * from './lib/model-treeview/model-treeview.component';\r\nexport * from './lib/input-area/input-area.component';\r\nexport * from './lib/input-cep/input-cep.component';\r\nexport * from './lib/input-arquivo/input-arquivo.component';\r\nexport * from './lib/entity-edit/entity-edit.component';\r\nexport * from './lib/input-checkbox/input-checkbox.component';\r\nexport * from './lib/input-radio/input-radio.component';\r\n//buttons\r\nexport * from './lib/buttons/btn-action/btn-action.component';\r\nexport * from './lib/buttons/btn-cancelar/btn-cancelar.component';\r\nexport * from './lib/buttons/btn-excluir/btn-excluir.component';\r\nexport * from './lib/buttons/btn-novo/btn-novo.component';\r\nexport * from './lib/buttons/btn-salvar/btn-salvar.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3","i4.InputTextComponent","i5.InputFormatComponent","i6.InputSelectComponent","i7.InputPesquisaComponent","i8.InputValorComponent","i9.InputAreaComponent","i10.InputCepComponent","i11.InputCheckboxComponent","i12.InputRadioComponent"],"mappings":";;;;;;;;;;;;;MAKa,2BAA2B,CAAA;AAEtC,IAAA,WAAA,GAAA,GAAiB;8GAFN,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,cAF1B,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAHvC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCQY,6BAA6B,CAAA;AAExC,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;8GALU,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,EAR9B,QAAA,EAAA,0BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAIU,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAVzC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,EAC1B,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,CAAA;;;MCFmB,kBAAkB,CAAA;AAqBpC,IAAA,WAAA,GAAA;QAnBS,IAAa,CAAA,aAAA,GAAW,SAAS,CAAC;QAElC,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;QAIzB,IAAG,CAAA,GAAA,GAAW,IAAI,CAAC;QAEnB,IAAI,CAAA,IAAA,GAAW,MAAM,CAAC;QACtB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC1B,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;QACzB,IAAS,CAAA,SAAA,GAAW,SAAS,CAAC;AAC7B,QAAA,IAAA,CAAA,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;QAC3B,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;QAC7B,IAAU,CAAA,UAAA,GAAW,MAAM,CAAC;QAC5B,IAAoB,CAAA,oBAAA,GAAW,MAAM,CAAC;KAM9C;IACD,QAAQ,GAAA;AACJ,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC9C;8GA1BiB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,yfAF1B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEM,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAHvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,EAAE;AACf,iBAAA,CAAA;wDAEY,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACoB,eAAe,EAAA,CAAA;sBAAxC,KAAK;uBAAC,iBAAiB,CAAA;gBACf,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACI,IAAI,EAAA,CAAA;sBAAb,MAAM;gBACE,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,oBAAoB,EAAA,CAAA;sBAA5B,KAAK;gBAEG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;ACXJ,MAAO,kBAAmB,SAAQ,kBAAkB,CAAA;AAgBxD,IAAA,UAAU,CAAC,KAAW,EAAA;;AAEpB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC/B;AACD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;QA7BD,IAAc,CAAA,cAAA,GAAW,IAAI,CAAC;QAI9B,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;QAClC,IAAgB,CAAA,gBAAA,GAAW,gBAAgB,CAAC;AAC3C,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAE,CAAC;AAGzC,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,IAAY,KAAI,GAAG,CAAC;AAC1C,QAAA,IAAA,CAAA,OAAO,GAAa,MAAK,GAAG,CAAC;QAC7B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC3B,IAAO,CAAA,OAAA,GAAG,OAAO,CAAC;KAkBxB;IAEQ,QAAQ,GAAA;KAChB;IAED,MAAM,GAAA;QACJ,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;AACtD,SAAA;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KAC5B;IAED,UAAU,GAAA;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;IACD,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,IAAI;AACP,YAAA,IAAI,CAAC,IAAI,IAAI,UAAU;AACvB,gBAAA,MAAM,GAAG,UAAU,CAAC;KACvB;IACD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;KAC7C;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;KAC/B;8GA9DU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,uQANlB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,kBAAkB;AAC/B,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAK8B,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB5C,y5EA+CQ,EAAA,MAAA,EAAA,CAAA,wHAAA,EAAA,6oEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDjCK,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAV9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,aAGd,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAoB,kBAAA;AAC/B,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,y5EAAA,EAAA,MAAA,EAAA,CAAA,wHAAA,EAAA,6oEAAA,CAAA,EAAA,CAAA;wDAGO,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACqD,aAAa,EAAA,CAAA;sBAAvE,SAAS;uBAAC,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC,CAAA;gBAChD,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBACI,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;;;AERH,MAAO,oBAAqB,SAAQ,kBAAkB,CAAA;AAa1D,IAAA,UAAU,CAAC,KAAmB,EAAA;;AAE5B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC/B;AAED,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;QA3BD,IAAO,CAAA,OAAA,GAAkB,IAAI,CAAC;AAC9B,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;;QAIhC,IAAI,CAAA,IAAA,GAAiB,IAAI,CAAC;AACzB,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,IAAY,KAAI,GAAG,CAAC;AAC1C,QAAA,IAAA,CAAA,OAAO,GAAa,MAAK,GAAG,CAAC;QAC7B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC3B,IAAO,CAAA,OAAA,GAAG,OAAO,CAAC;KAmBxB;AAEQ,IAAA,QAAQ,MAAM;AAEvB,IAAA,gBAAgB,CAAC,KAAU,EAAA;;QAEzB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC;AACvF,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACnD,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;AAC3C,gBAAC,KAAK,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC;gBAC3B,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC;AAC7C,gBAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACpB,gBAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACpB,gBAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;AACrB,gBAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;AACrB,gBAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;;YAIzB,UAAU,CAAC,MAAK;gBACd,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,oBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACnB,wBAAA,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC;AACtH,qBAAA,CAAC,CAAC;AACJ,iBAAA;AAAM,qBAAA;oBACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;AAC/E,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,iBAAA;aACF,EAAE,GAAG,CAAC,CAAC;AAER,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACI,aAAA;AACH,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;IAED,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;AACzB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACtB,SAAA;KACF;IAED,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;AACtD,SAAA;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/B,SAAA;KACF;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;KAC/C;AAED,IAAA,iBAAiB,CAAC,KAAa,EAAE,OAAe,EAAE,MAAW,EAAA;AAC3D,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,KAAK;AACR,YAAA,OAAO,IAAI,CAAC;;;;AAMd,QAAA,IAAI,cAAc,CAAC;AAEnB,QAAA,IAAI,QAAQ,GAAG,MAAM,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnD,IAAI,GAAG,GAAG,mBAAmB,CAAA;QAC7B,IAAI,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAE5C,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,cAAc,GAAG,EAAE,CAAC;AACxB,QAAA,IAAI,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC;QAAA,CAAC;AAE5C,QAAA,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE;gBACxC,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;wBACpE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;AAChC,gBAAA,cAAc,GAAG,cAAc,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG;wBACvD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;AAC9D,gBAAA,IAAI,cAAc,EAAE;AAClB,oBAAA,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpC,oBAAA,cAAc,EAAE,CAAC;AAClB,iBAAA;AAAM,qBAAA;AACL,oBAAA,cAAc,IAAI,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACtD,oBAAA,YAAY,EAAE,CAAC;AAChB,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,cAAc,CAAC;AACvB,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;8GA3HU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,gGANpB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,oBAAoB;AACjC,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAMgC,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClB9C,s5CA+BQ,EAAA,MAAA,EAAA,CAAA,0CAAA,EAAA,6oEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDjBK,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,aAGhB,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAsB,oBAAA;AACjC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,s5CAAA,EAAA,MAAA,EAAA,CAAA,0CAAA,EAAA,6oEAAA,CAAA,EAAA,CAAA;wDAIO,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACuD,eAAe,EAAA,CAAA;sBAA3E,SAAS;uBAAC,aAAa,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC,CAAA;;;AEJvD,MAAO,oBAAqB,SAAQ,kBAAkB,CAAA;AAoB1D,IAAA,UAAU,CAAC,KAAa,EAAA;;AAEtB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC/B;AAED,IAAA,WAAA,CAAoB,QAAmB,EAAA;AACrC,QAAA,KAAK,EAAE,CAAC;QADU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAlC7B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;AAClC,QAAA,IAAA,CAAA,kBAAkB,GAAG,IAAI,YAAY,EAAE,CAAC;QACzC,IAAK,CAAA,KAAA,GAAU,EAAE,CAAC;QAClB,IAAM,CAAA,MAAA,GAAW,IAAI,CAAC;QACtB,IAAQ,CAAA,QAAA,GAAW,MAAM,CAAC;QAC1B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC1B,IAAQ,CAAA,QAAA,GAAY,IAAI,CAAC;QACzB,IAAY,CAAA,YAAA,GAAW,YAAY,CAAC;AAOrC,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,IAAY,KAAI,GAAG,CAAC;AAC1C,QAAA,IAAA,CAAA,OAAO,GAAa,MAAK,GAAG,CAAC;QAC7B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC3B,IAAO,CAAA,OAAA,GAAG,OAAO,CAAC;KAmBxB;IAEQ,QAAQ,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;;YAE1B,UAAU,CAAC,MAAK;;AAEd,gBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC;;aAEpF,EAAE,GAAG,CAAC,CAAC;AACT,SAAA;KACF;AAED,IAAA,cAAc,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACvB,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;;AAE7B,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/B,SAAA;AACD,QAAA,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,EAAE;YACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;AAC7D,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACtC,SAAA;KACF;IAED,MAAM,GAAA;;QAEJ,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;SAC5E,EAAE,GAAG,CAAC,CAAC;QAER,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;AACtD,SAAA;KACF;IAED,OAAO,GAAA;;QAEL,UAAU,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;;SAEzE,EAAE,GAAG,CAAC,CAAC;KACT;8GA/EU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,6QANpB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,oBAAoB;AACjC,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAa8B,UAAU,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzB5C,o5CA4BQ,EAAA,MAAA,EAAA,CAAA,wjBAAA,EAAA,6oEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDdK,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,aAGhB,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAsB,oBAAA;AACjC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,o5CAAA,EAAA,MAAA,EAAA,CAAA,wjBAAA,EAAA,6oEAAA,CAAA,EAAA,CAAA;8EAGQ,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACG,kBAAkB,EAAA,CAAA;sBAA3B,MAAM;gBACE,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAGuC,UAAU,EAAA,CAAA;sBAAtD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,YAAY,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAA;;;MElBhC,sBAAsB,CAAA;AAEjC,IAAA,WAAA,GAAA,GAAiB;IAEjB,QAAQ,GAAA;KACP;8GALU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,yDCPnC,gCACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDMa,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,SAAS;+BACE,mBAAmB,EAAA,QAAA,EAAA,gCAAA,EAAA,CAAA;;;AEM/B;AAYM,MAAO,sBAAuB,SAAQ,kBAAkB,CAAA;AA2C5D,IAAA,UAAU,CAAC,KAAmB,EAAA;;AAE5B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;AAClB,QAAA,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE;AAC/B,YAAA,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AACvB,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAC1B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;AACzB,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;AAE/B,aAAA;AAAM,iBAAA;;gBAEL,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE;AACzF,oBAAA,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC5B,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;AAE/B,iBAAA;AACF,aAAA;AACF,SAAA;KAEF;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC/B;AAID,IAAA,WAAA,CAAgD,MAAiB,EACvD,UAAsB,EACtB,SAA0B,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;QAHsC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAW;QACvD,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAS,CAAA,SAAA,GAAT,SAAS,CAAiB;QA9EpC,IAAa,CAAA,aAAA,GAAY,IAAI,CAAC;QACrB,IAAa,CAAA,aAAA,GAAW,EAAE,CAAC;QACpC,IAAoB,CAAA,oBAAA,GAAY,KAAK,CAAC;QACtC,IAAa,CAAA,aAAA,GAAU,EAAE,CAAC;QAER,IAAG,CAAA,GAAA,GAAW,IAAI,CAAC;AAC7B,QAAA,IAAA,CAAA,eAAe,GAAoB,IAAI,OAAO,EAAE,CAAC;QAEhD,IAAc,CAAA,cAAA,GAA0B,IAAI,CAAC;QAC7C,IAAQ,CAAA,QAAA,GAAW,eAAe,CAAC;QACnC,IAAO,CAAA,OAAA,GAAW,IAAI,CAAC;QACvB,IAAU,CAAA,UAAA,GAAW,OAAO,CAAC;QAC7B,IAAY,CAAA,YAAA,GAAW,WAAW,CAAC;QACnC,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;;QAEoB,IAAa,CAAA,aAAA,GAAqB,IAAI,CAAC;AAE7E,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAE,CAAC;;;QAKpC,IAAG,CAAA,GAAA,GAAW,EAAE,CAAC;QACjB,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;;QAErB,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;QACrB,IAAO,CAAA,OAAA,GAAW,CAAC,CAAC;QACpB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAM3B,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,IAAY,KAAI,GAAI,CAAC;AAC3C,QAAA,IAAA,CAAA,OAAO,GAAa,MAAK,GAAI,CAAC;QAC9B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC3B,IAAO,CAAA,OAAA,GAAG,OAAO,CAAC;AAEzB,QAAA,IAAA,CAAA,YAAY,GAAiB,IAAI,OAAO,EAAO,CAAC;AAoChD,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AAO5B,QAAA,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,YAAY;AAC7C,aAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CACtB;aACA,SAAS,CAAC,IAAI,IAAG;AAChB,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;KACN;AAED,IAAA,MAAM,CAAC,KAAU,EAAA;AACf,QAAA,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;;QAE3B,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE;;;YAGhH,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE;gBACtD,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,aAAA;AAED,YAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YACzB,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,gBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;AACtD,aAAA;AACF,SAAA;KACF;IAEQ,QAAQ,GAAA;;AAEf,QAAA,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAI,CAAA,EAAA,IAAI,CAAC,GAAG,EAAE,CAAC;AACnF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAI,CAAA,EAAA,IAAI,CAAC,OAAO,EAAE,CAAC;QAEnG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;;AAE1C,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;AAEjC,aAAA;;AAEC,gBAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AAClB,SAAC,CAAC,CAAC;AACA,aAAA,SAAS,CAAC;AACT,YAAA,IAAI,EAAE,CAAC,MAAW,KAAI;;gBAEpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,CAAC;AACtD,gBAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AAExB,gBAAA,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC/B,IAAI,IAAI,CAAC,cAAc,EAAE;wBACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC7C,qBAAA;oBAED,MAAM,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,KAAU,KAAI;AACtC,wBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACrE,qBAAC,CAAC,CAAC;AACJ,iBAAA;AAED,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,gBAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAClD,iBAAA;aACF;AACC,YAAA,KAAK,EAAE,CAAC,KAAK,KAAI;AACjB,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,gBAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;aACrC;AACF,SAAA,CAAC,CAAC;KACN;AAED,IAAA,aAAa,CAAC,KAAmB,EAAA;;AAE/B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;KAC5B;AAED,IAAA,YAAY,CAAC,CAAM,EAAA;;QAEjB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC;;AAE/E,QAAA,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AAC/C;;;;;;AAMM;QACN,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE;AACtC,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACvB,OAAO;AACR,aAAA;AACD,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;AAChC,YAAA,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;AACxD,gBAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAEhC,aAAA;AACI,iBAAA;gBACH,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;oBAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;AACpB,iBAAA;AACF,aAAA;AACF,SAAA;AAEI,aAAA;YACH,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE;gBACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AACjD,gBAAA,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;;;;;AAMrC,oBAAA,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACnC,oBAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC;oBACpE,IAAI,GAAG,GAAG,CAAC,CAAC;oBACZ,IAAI,QAAQ,IAAI,IAAI,EAAE;AACpB,wBAAA,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;;AAExB,wBAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;AAC7B,wBAAA,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AACjB,qBAAA;AAAM,yBAAA;wBACL,GAAG,GAAG,CAAC,CAAC;AACT,qBAAA;oBAED,IAAI,GAAG,GAAG,CAAC,EAAE;wBACX,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;AACrC,qBAAA;AAAM,yBAAA,IAAI,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;wBAC3C,GAAG,GAAG,CAAC,CAAC;AACT,qBAAA;AAED,oBAAA,IAAI,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;oBACpE,IAAI,YAAY,IAAI,IAAI,EAAE;AACxB,wBAAA,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;AAChC,wBAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;wBACjC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACtD,qBAAA;AACD;;;;;;;;;;;;;;;AAeE;AACH,iBAAA;AAEF,aAAA;AACC,iBAAA,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE;AACnB,gBAAA,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;;AAE3B,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;;AAEjC,aAAA;AAAM,iBAAA,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE;;AAE1B,gBAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAC1B,aAAA;AACJ,SAAA;KAEF;AAED,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;;QAE1E,IAAI,KAAK,IAAI,CAAC,EAAE;AACd,YAAA,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC9K,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;AAED,IAAA,oBAAoB,CAAC,IAAS,EAAA;;QAE5B,IAAI,IAAI,GAAG,IAAI,CAAC;;AAGhB;;;;;;;;;;;;;;;;;;;;AAoBE;;;AAGF,QAAA,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC;;;;;;QAQpE,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,QAAQ,IAAI,IAAI,EAAE;AACpB,gBAAA,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;AAC9B,aAAA;AACD,YAAA,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;YACxB,QAAQ,GAAG,IAAI,CAAC;AACjB,SAAA;QACD,IAAI,QAAQ,IAAI,IAAI,EAAE;AACpB,YAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AACxC,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;;AAElC,YAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;gBAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC7C,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;AACnC,SAAA;;;;;KAKF;AAED,IAAA,qBAAqB,CAAC,CAAM,EAAA;QAC1B,IAAI,IAAI,GAAG,IAAI,CAAC;AAChB,QAAA,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACvE,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;AAC7B,YAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1D,IAAI,CAAC,IAAI,IAAI,EAAE;AACb,gBAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;AAClC,gBAAA,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE;oBAC/B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC7C,iBAAA;AACF,aAAA;AACF,SAAA;AACI,aAAA;AACH,YAAA,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;AACnC,SAAA;KACF;AAED,IAAA,gBAAgB,CAAC,MAAc,EAAA;QAC7B,IAAI,IAAI,GAAG,IAAI,CAAC;AAChB,QAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/D,YAAA,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE;AAChB,gBAAA,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AACpC,aAAA;AACD,YAAA,IAAI,CAAC,oBAAoB,GAAG,MAAM,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;;;AAKvD;;;;;;;;;;AAUE;AACH,SAAA;KACF;AAED,IAAA,iBAAiB,CAAC,MAAc,EAAA;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjG,QAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAChC;AAED,IAAA,oBAAoB,CAAC,MAAc,EAAA;QACjC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjG,QAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAM,GAAG,CAAC;AAC1B,aAAA,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,MAAW,KAAI;;gBAEjC,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC7C,iBAAA;AACD,gBAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,MAAM,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,KAAa,KAAI;AACzC,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;AACrE,iBAAC,CAAC,CAAC;AAEH,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,gBAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAClD,iBAAA;AACH,aAAC,EAAE,KAAK,EAAE,KAAK,IAAG;AAChB,gBAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AACpC,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B,EAAC,CAAC,CAAC;KACP;AAED,IAAA,aAAa,CAAC,EAAU,EAAE,WAAA,GAAuB,KAAK,EAAA;QACpD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACvD,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAClE,YAAA,IAAI,MAAM,EAAE;AACV,gBAAA,IAAI,WAAW,EAAE;AACf,oBAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;AAC3B,oBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9C,iBAAA;AACD,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;AAED,IAAA,kBAAkB,CAAC,KAAa,EAAE,WAAA,GAAuB,KAAK,EAAA;AAC5D,QAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;YACvD,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACtG,YAAA,IAAI,MAAM,EAAE;AACV,gBAAA,IAAI,WAAW,EAAE;AACf,oBAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;AAC3B,oBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9C,iBAAA;AACD,gBAAA,OAAO,IAAI,CAAC;AACb,aAAA;AAAM,iBAAA;AACL,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;IAED,sBAAsB,CAAC,gBAAyB,KAAK,EAAA;AACnD,QAAA,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;;QAEnC,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,IAAI,CAAC,cAAc,EAAE;AACvB,gBAAA,IAAI,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACpE,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,IAAI,CAAC;AACf,iBAAA;AACF,aAAA;AAAM,iBAAA;gBACL,MAAM,GAAG,IAAI,CAAC;AACf,aAAA;YACD,IAAI,MAAM,IAAI,aAAa,EAAE;AAC3B,gBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9C,aAAA;AAED,YAAA,OAAO,MAAM,CAAC;AACf,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;AAED,IAAA,sBAAsB,CAAC,EAAU,EAAA;AAC/B,QAAA,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1B,QAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AACrC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAM,GAAG,CAAC;AAC1B,aAAA,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,MAAW,KAAI;AACjC,gBAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACxB,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACjE,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;AAC1B,gBAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;AAC1C,oBAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC9C,iBAAA;AACH,aAAC,EAAE,KAAK,EAAG,KAAK,IAAG;AACjB,gBAAA,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;AACpC,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B,EAAC,CAAC,CAAC;KACP;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACtB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;;AAEzB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,EAAE,CAAC;AACf,SAAA;KACF;IAED,iBAAiB,GAAA;;AAEf,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;KACjC;AAED,IAAA,MAAM,cAAc,GAAA;AAClB;;;;AAIE;;AAEF,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;AACxC,YAAA,SAAS,EAAE,sBAAsB;AACjC,YAAA,cAAc,EAAE;;;;gBAId,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,oBAAoB,EAAE,IAAI,CAAC,OAAO;gBAClC,IAAI,EAAE,IAAI,CAAC,IAAI;;;gBAGf,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO;AAC1D,aAAA;AACD,YAAA,QAAQ,EAAE,0BAA0B;AACrC,SAAA,CAAC,CAAC;QAEH,KAAK,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,IAAG;AAC/B,YAAA,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1B,YAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE;AACnC,gBAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACxC,aAAA;AACH,SAAC,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,EAAE,CAAC;KAEjB;AAED,IAAA,OAAO,CAAC,KAAmB,EAAA;QACzB,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,EAAE,CAAA;KAC1D;AAjhBU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBA8Eb,kBAAkB,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AA9E3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,0aANtB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,sBAAsB;AACnC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC,iKCnBJ,itHA2EQ,EAAA,MAAA,EAAA,CAAA,ixBAAA,EAAA,6oEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDtDK,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,aAGlB,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAwB,sBAAA;AACnC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,itHAAA,EAAA,MAAA,EAAA,CAAA,ixBAAA,EAAA,6oEAAA,CAAA,EAAA,CAAA;;0BAgFW,MAAM;2BAAC,kBAAkB,CAAA;kGA3E7B,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAIY,GAAG,EAAA,CAAA;sBAApB,KAAK;gBAGG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEyC,aAAa,EAAA,CAAA;sBAA3D,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;gBAEpC,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAGG,GAAG,EAAA,CAAA;sBAAX,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAEG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;AEpCF,MAAO,mBAAoB,SAAQ,kBAAkB,CAAA;AAUzD,IAAA,UAAU,CAAC,KAAmB,EAAA;;AAE5B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC/B;AAED,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;QAzBD,IAAQ,CAAA,QAAA,GAAW,IAAI,CAAC;AAIzB,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,IAAY,KAAI,GAAI,CAAC;AAC3C,QAAA,IAAA,CAAA,OAAO,GAAa,MAAK,GAAI,CAAC;QAC9B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC3B,IAAO,CAAA,OAAA,GAAG,OAAO,CAAC;KAmBxB;AAEQ,IAAA,QAAQ,MAAM;IAEvB,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;AACtD,SAAA;;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,IAAI,CAAC,IAAI,EAAE;;AAEb,gBAAA,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3E,gBAAA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;AACzB,oBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACnB,wBAAA,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAC;AACxF,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;AAAM,iBAAA;gBACL,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3C,gBAAA,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;AACzB,oBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC5E,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,iBAAA;AACF,aAAA;AACF,SAAA;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/B,SAAA;KACF;AAED,IAAA,YAAY,CAAC,KAAU,EAAA;;QAErB,UAAU,CAAC,MAAK;YACd,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,gBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;oBACnB,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,CAAC;AAClG,iBAAA,CAAC,CAAC;AACJ,aAAA;AAAM,iBAAA;gBACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrD,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,aAAA;SACF,EAAE,GAAG,CAAC,CAAC;AAER,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,OAAO,CAAC,GAAiB,EAAA;QACvB,OAAO,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,EAAE,CAAC;KACrD;AAED,IAAA,wBAAwB,CAAC,KAAa,EAAE,KAAA,GAAgB,CAAC,EAAA;AACvD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;;;YAGxB,IAAI,KAAK,IAAI,GAAG,EAAE;AAChB,gBAAA,OAAO,KAAK,CAAC;AACd,aAAA;AAED,YAAA,IAAI,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;AAElG,YAAA,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;AAChB,gBAAA,OAAO,EAAE,CAAC;AACX,aAAA;AAED,YAAA,IAAI,QAAQ,GAAG,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;;YAE7D,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;YAClC,KAAK,IAAI,QAAQ,CAAC;AAClB,YAAA,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACxB,YAAA,OAAO,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACtC;;;;;;;;;;;;AAYE;AACH,SAAA;;AAEC,YAAA,OAAO,KAAK,CAAC;KAChB;AAED,IAAA,kBAAkB,CAAC,MAAY,EAAA;QAC7B,IAAI,MAAM,IAAI,IAAI,EAAE;AAClB,YAAA,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,GAAG,EAAE;AAChC,gBAAA,OAAO,MAAM,CAAC;AACf,aAAA;;AAED,YAAA,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1C,YAAA,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvD,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC5C,SAAA;;AACC,YAAA,OAAO,EAAE,CAAC;KACb;IAED,YAAY,CAAC,GAAW,EAAE,GAAW,EAAA;QACnC,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YAC5B,GAAG,IAAI,GAAG,CAAC;AACZ,SAAA;AACD,QAAA,OAAO,GAAG,CAAC;KACZ;AAED,IAAA,cAAc,CAAC,GAAG,EAAA;AAChB,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC;AACtB,YAAA,OAAO,GAAG,CAAC;AACb,QAAA,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AACnB,YAAA,OAAO,CAAC,CAAC;;AAET,YAAA,OAAO,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;KAC7D;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;KAC9C;8GApJU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,2EANnB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,mBAAmB;AAChC,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAI+B,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EChB7C,gzCA+BQ,EAAA,MAAA,EAAA,CAAA,oLAAA,EAAA,6oEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDjBK,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,aAGf,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAqB,mBAAA;AAChC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,gzCAAA,EAAA,MAAA,EAAA,CAAA,oLAAA,EAAA,6oEAAA,CAAA,EAAA,CAAA;wDAGO,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACsD,cAAc,EAAA,CAAA;sBAAzE,SAAS;uBAAC,YAAY,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAC,CAAA;;;AEFtD,MAAO,kBAAmB,SAAQ,kBAAkB,CAAA;AAWxD,IAAA,UAAU,CAAC,KAAmB,EAAA;;AAE5B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC/B;AACD,IAAA,WAAA,CAAoB,QAAmB,EAAA;AACrC,QAAA,KAAK,EAAE,CAAC;QADU,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAxB9B,IAAM,CAAA,MAAA,GAAW,CAAC,CAAC;AAKpB,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,IAAY,KAAI,GAAG,CAAC;AAC1C,QAAA,IAAA,CAAA,OAAO,GAAa,MAAK,GAAG,CAAC;QAC7B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC3B,IAAO,CAAA,OAAA,GAAG,OAAO,CAAC;KAkBxB;AAEQ,IAAA,QAAQ,MAAK;IAEtB,MAAM,GAAA;;QAEJ,UAAU,CAAC,MAAK;;AAEd,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;;SAE1E,EAAE,GAAG,CAAC,CAAC;QAER,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;AACtD,SAAA;KACF;IAED,OAAO,GAAA;;;QAGL,UAAU,CAAC,MAAK;;AAEd,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;;SAEvE,EAAE,GAAG,CAAC,CAAC;KAET;8GArDU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,sEANlB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,kBAAkB;AAC/B,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAK4B,UAAU,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjB1C,2mCA6BQ,EAAA,MAAA,EAAA,CAAA,81BAAA,EAAA,6oEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDfK,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAV9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,aAGd,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAoB,kBAAA;AAC/B,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,2mCAAA,EAAA,MAAA,EAAA,CAAA,81BAAA,EAAA,6oEAAA,CAAA,EAAA,CAAA;8EAGO,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEqC,QAAQ,EAAA,CAAA;sBAAlD,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,UAAU,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAA;;;AEFrC,MAAO,iBAAkB,SAAQ,kBAAkB,CAAA;AAWvD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;QAVD,IAAO,CAAA,OAAA,GAAkB,WAAW,CAAC;QACrC,IAAQ,CAAA,QAAA,GAAoB,IAAI,CAAC;AAChC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAE,CAAC;;QAGtC,IAAI,CAAA,IAAA,GAAiB,IAAI,CAAC;AACzB,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,IAAY,KAAI,GAAI,CAAC;AAC3C,QAAA,IAAA,CAAA,OAAO,GAAa,MAAK,GAAI,CAAC;QAC9B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;KAGjC;AAED,IAAA,UAAU,CAAC,KAAmB,EAAA;;AAE5B,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC/B;IAEQ,QAAQ,GAAA;KAChB;AAED,IAAA,gBAAgB,CAAC,KAAU,EAAA;AACzB,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;gBACzC,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC;AAC7C,gBAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACpB,gBAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AACpB,gBAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;AACrB,gBAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;AACrB,gBAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;;YAI1B,UAAU,CAAC,MAAK;gBACd,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,oBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACnB,wBAAA,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC;AACtH,qBAAA,CAAC,CAAC;AACJ,iBAAA;AAAM,qBAAA;oBACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;AAC/E,oBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5B,iBAAA;aACF,EAAE,GAAG,CAAC,CAAC;AAER,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AACI,aAAA;AACH,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;IAED,UAAU,GAAA;AACR,QAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;YACzB,IAAI,CAAC,QAAQ,EAAE,CAAC;AACjB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;gBAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;AACvB,aAAA;AACF,SAAA;KACF;IAED,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,aAAa,EAAE,CAAC;AACtD,SAAA;QACD,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/B,SAAA;KACF;AAED,IAAA,iBAAiB,CAAC,KAAa,EAAE,OAAe,EAAE,MAAW,EAAA;AAC3D,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,KAAK;AACR,YAAA,OAAO,IAAI,CAAC;;;;AAMd,QAAA,IAAI,cAAc,CAAC;AAEnB,QAAA,IAAI,QAAQ,GAAG,MAAM,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnD,IAAI,GAAG,GAAG,mBAAmB,CAAA;QAC7B,IAAI,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAE5C,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,cAAc,GAAG,EAAE,CAAC;AACxB,QAAA,IAAI,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC;QAAA,CAAC;AAE5C,QAAA,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,EAAE,EAAE;gBACxC,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;wBACpE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;AAChC,gBAAA,cAAc,GAAG,cAAc,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG;wBACvD,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;AAC9D,gBAAA,IAAI,cAAc,EAAE;AAClB,oBAAA,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpC,oBAAA,cAAc,EAAE,CAAC;AAClB,iBAAA;AAAM,qBAAA;AACL,oBAAA,cAAc,IAAI,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AACtD,oBAAA,YAAY,EAAE,CAAC;AAChB,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,cAAc,CAAC;AACvB,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;IAED,cAAc,GAAA;AACZ,QAAA,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;;AAEtB,QAAA,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,EAAE;YAC5B,OAAO;AACR,SAAA;AAED,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;AACrC,YAAA,IAAI,EAAE,CAAC,MAAM,KAAI;AACf,gBAAA,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAElC,gBAAA,IAAI,cAAc,GAAW,MAAM,CAAC,UAAU,CAAC;gBAC/C,cAAc,GAAG,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;gBAEhF,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,oBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjC,iBAAA;AAEH,aAAC,EAAE,KAAK,EAAE,CAAC,KAAK,KAAI;aAEnB;AACF,SAAA,CAAC,CAAC;KACJ;;AAGD,IAAA,2BAA2B,CAAC,IAAY,EAAA;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAClC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC7B,QAAA,OAAO,GAAG,CAAC;KACZ;AAED,IAAA,kBAAkB,CAAC,GAAQ,EAAA;AACzB,QAAA,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,KAAI;AAC1B,YAAA,IAAI,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAA4B,yBAAA,EAAA,GAAG,CAAQ,MAAA,CAAA,EAAE,IAAI,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,GAAG,YAAA;gBACf,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,gBAAA,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACd,aAAC,CAAA;AACH,SAAC,CAAC,CAAA;KACH;8GAzKU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,0IANjB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,iBAAiB;AAC9B,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC,iDCbJ,6uDAqCQ,EAAA,MAAA,EAAA,CAAA,EAAA,EAAA,6oEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,aAAA,EAAA,WAAA,EAAA,YAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,EAAA,WAAA,EAAA,MAAA,EAAA,YAAA,EAAA,WAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,WAAA,EAAA,KAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,aAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,yDAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDtBK,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,aAGb,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAmB,iBAAA;AAC9B,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,6uDAAA,EAAA,MAAA,EAAA,CAAA,6oEAAA,CAAA,EAAA,CAAA;wDAIO,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;MELI,qBAAqB,CAAA;IAmChC,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KACpC;AAED,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,IAAI,CAAC,QAAQ;YACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACrC;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC/B;AAED,IAAA,WAAA,GAAA;QAhDS,IAAK,CAAA,KAAA,GAAY,KAAK,CAAC;AACvB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAC9B,IAAW,CAAA,WAAA,GAAW,SAAS,CAAC;AAC/B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,CAAA,IAAA,GAAY,KAAK,CAAC;QACtB,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAG1B,IAAS,CAAA,SAAA,GAAW,OAAO,CAAC;QAC5B,IAAQ,CAAA,QAAA,GAAW,SAAS,CAAC;QAC7B,IAAO,CAAA,OAAA,GAAW,SAAS,CAAC;QAC5B,IAAQ,CAAA,QAAA,GAAW,OAAO,CAAC;QAC3B,IAAY,CAAA,YAAA,GAAW,SAAS,CAAC;QACjC,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAM5B,QAAA,IAAA,CAAA,YAAY,GAAqB,IAAI,OAAO,EAAE,CAAC;AAK9C,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,aAAqB,KAAI,GAAI,CAAC;AACpD,QAAA,IAAA,CAAA,OAAO,GAAa,MAAK,GAAI,CAAC;QAC9B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;KAwBjC;IAED,QAAQ,GAAA;KAEP;IAED,UAAU,GAAA;;AAER,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEpD,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AACpG,SAAA;QAED,IAAI,IAAI,CAAC,IAAI,EAAE;;AAEb,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE9B,SAAA;AAAM,aAAA;;AAEL,YAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACxD,IAAI,CAAC,MAAM,IAAG;;;gBAGb,IAAI,SAAS,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;AACjG,gBAAA,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;gBACvC,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,oBAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;AAChE,iBAAA;AAAM,qBAAA;AACL,oBAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;AACzC,iBAAA;;AAED,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7B,gBAAA,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,gBAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;;;;;;;;;;;;;;AAkBvC,aAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAG;AACf,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,aAAC,CAAC,CAAA;AACL,SAAA;KACF;;AAGD,IAAA,iBAAiB,CAAC,IAAU,EAAA;QAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,YAAA,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AAChC,YAAA,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC3B,YAAA,MAAM,CAAC,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC7C,MAAM,CAAC,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1C,SAAC,CAAC,CAAC;KACJ;8GA5HU,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,sbANrB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,qBAAqB;AAClC,gBAAA,KAAK,EAAE,IAAI;aACZ,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAyB8B,UAAU,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrC5C,0mBAUE,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDIW,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAVjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,aAGjB,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAuB,qBAAA;AAClC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,0mBAAA,EAAA,CAAA;wDAGO,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAIG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACI,YAAY,EAAA,CAAA;sBAArB,MAAM;gBACE,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAGsD,OAAO,EAAA,CAAA;sBAAlE,SAAS;uBAAC,WAAW,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;;;MEhCtC,gBAAgB,CAAA;AAHtC,IAAA,WAAA,GAAA;QAIa,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC1B,IAAI,CAAA,IAAA,GAAW,QAAQ,CAAC;QACxB,IAAI,CAAA,IAAA,GAAW,mBAAmB,CAAC;QACnC,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;QACrB,IAAK,CAAA,KAAA,GAAW,QAAQ,CAAC;QACzB,IAAI,CAAA,IAAA,GAAW,SAAS,CAAC;QACzB,IAAM,CAAA,MAAA,GAAW,OAAO,CAAC;AACxB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAA,IAAA,GAAW,SAAS,CAAC;QACzB,IAAQ,CAAA,QAAA,GAAW,OAAO,CAAC;AAsBvC,KAAA;IApBG,QAAQ,GAAA;QACJ,OAAO;KACV;IAED,OAAO,GAAA;QACH,IAAI,IAAI,CAAC,QAAQ;AACb,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;KAC5B;AAED,IAAA,YAAY,CAAC,KAAa,EAAA;;;;;;;QAOtB,IAAI,KAAK,IAAI,eAAe,EAAE;AAC1B,YAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;AACvB,SAAA;KACJ;8GA/BiB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,6PAFxB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAEM,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAHrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,EAAE;AACf,iBAAA,CAAA;8BAEY,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACI,QAAQ,EAAA,CAAA;sBAAjB,MAAM;gBACE,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;ACPJ,MAAO,kBAAmB,SAAQ,gBAAgB,CAAA;AAatD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;QAbQ,IAAK,CAAA,KAAA,GAAW,OAAO,CAAC;QACjC,IAAK,CAAA,KAAA,GAAW,SAAS,CAAC;QAC1B,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;QACf,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAClB,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;QAC9B,IAAM,CAAA,MAAA,GAAW,EAAE,CAAC;QACpB,IAAQ,CAAA,QAAA,GAAW,SAAS,CAAC;QAC7B,IAAS,CAAA,SAAA,GAAW,KAAK,CAAC;QACjB,IAAM,CAAA,MAAA,GAAW,OAAO,CAAC;QAClC,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;QACvB,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;QACjC,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;AAGvB,QAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;KACrB;IAEO,QAAQ,GAAA;AACf,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;KACvB;8GApBU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,gTCR/B,kgBAWA,EAAA,MAAA,EAAA,CAAA,oCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDHa,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,kgBAAA,EAAA,MAAA,EAAA,CAAA,oCAAA,CAAA,EAAA,CAAA;wDAKP,KAAK,EAAA,CAAA;sBAAtB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACY,IAAI,EAAA,CAAA;sBAArB,KAAK;gBACY,OAAO,EAAA,CAAA;sBAAxB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACY,MAAM,EAAA,CAAA;sBAAvB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;;;AEXF,MAAO,oBAAqB,SAAQ,gBAAgB,CAAA;;AAKxD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;;QAJQ,IAAI,CAAA,IAAA,GAAG,eAAe,CAAC;QACvB,IAAK,CAAA,KAAA,GAAW,UAAU,CAAC;AAI3C,QAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;KACtB;8GARU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,wHCRjC,+kBAaG,EAAA,MAAA,EAAA,CAAA,6DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDLU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,+kBAAA,EAAA,MAAA,EAAA,CAAA,6DAAA,CAAA,EAAA,CAAA;wDAMT,IAAI,EAAA,CAAA;sBAArB,KAAK;gBACY,KAAK,EAAA,CAAA;sBAAtB,KAAK;;;AEHF,MAAO,mBAAoB,SAAQ,gBAAgB,CAAA;AAKvD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;QALQ,IAAI,CAAA,IAAA,GAAW,QAAQ,CAAC;QACxB,IAAM,CAAA,MAAA,GAAW,QAAQ,CAAC;QAC1B,IAAI,CAAA,IAAA,GAAW,OAAO,CAAC;QACvB,IAAK,CAAA,KAAA,GAAW,SAAS,CAAC;KAG3C;8GAPU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,uJCRhC,0SAMA,EAAA,MAAA,EAAA,CAAA,6DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDEa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,0SAAA,EAAA,MAAA,EAAA,CAAA,6DAAA,CAAA,EAAA,CAAA;wDAKR,IAAI,EAAA,CAAA;sBAArB,KAAK;gBACY,MAAM,EAAA,CAAA;sBAAvB,KAAK;gBACY,IAAI,EAAA,CAAA;sBAArB,KAAK;gBACY,KAAK,EAAA,CAAA;sBAAtB,KAAK;;;AEJF,MAAO,gBAAiB,SAAQ,gBAAgB,CAAA;AAMpD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;QANQ,IAAK,CAAA,KAAA,GAAW,MAAM,CAAC;QACvB,IAAI,CAAA,IAAA,GAAW,YAAY,CAAC;QAC5B,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;QACrB,IAAM,CAAA,MAAA,GAAW,OAAO,CAAC;QAClC,IAAM,CAAA,MAAA,GAAW,EAAE,CAAC;AAG3B,QAAA,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;KACrB;8GATS,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,4KCR7B,snBAaG,EAAA,MAAA,EAAA,CAAA,kFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDLU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAL5B,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,snBAAA,EAAA,MAAA,EAAA,CAAA,kFAAA,CAAA,EAAA,CAAA;wDAKL,KAAK,EAAA,CAAA;sBAAtB,KAAK;gBACY,IAAI,EAAA,CAAA;sBAArB,KAAK;gBACY,OAAO,EAAA,CAAA;sBAAxB,KAAK;gBACY,MAAM,EAAA,CAAA;sBAAvB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;;;AEJF,MAAO,kBAAmB,SAAQ,gBAAgB,CAAA;AAEtD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;QAFD,IAAS,CAAA,SAAA,GAAW,KAAK,CAAC;KAGlC;8GAJU,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,gHCT/B,gUAOa,EAAA,MAAA,EAAA,CAAA,kDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDEA,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,gUAAA,EAAA,MAAA,EAAA,CAAA,kDAAA,CAAA,EAAA,CAAA;wDAKhB,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;AEIF,MAAO,sBAAuB,SAAQ,kBAAkB,CAAA;AAW5D,IAAA,UAAU,CAAC,KAAW,EAAA;AACpB,QAAA,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC/B;AACD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;QAxBD,IAAO,CAAA,OAAA,GAAW,OAAO,CAAC;QAC1B,IAAc,CAAA,cAAA,GAAW,KAAK,CAAC;AAGhC,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,IAAY,KAAI,GAAI,CAAC;AAC3C,QAAA,IAAA,CAAA,OAAO,GAAa,MAAK,GAAI,CAAC;QAC9B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC3B,IAAO,CAAA,OAAA,GAAG,OAAO,CAAC;KAkBxB;IAIQ,QAAQ,GAAA;KAChB;8GAhCU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,8GANtB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,sBAAsB;AACnC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC,iDCZJ,8cAUM,EAAA,MAAA,EAAA,CAAA,uEAAA,EAAA,6oEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,UAAA,EAAA,eAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDIO,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,aAGlB,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAwB,sBAAA;AACnC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,8cAAA,EAAA,MAAA,EAAA,CAAA,uEAAA,EAAA,6oEAAA,CAAA,EAAA,CAAA;wDAIO,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,cAAc,EAAA,CAAA;sBAAtB,KAAK;;;AEHF,MAAO,mBAAoB,SAAQ,kBAAkB,CAAA;AAYzD,IAAA,UAAU,CAAC,KAAW,EAAA;;AAEpB,QAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrB,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;KACnB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC/B;AACD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE,CAAC;QA1BD,IAAK,CAAA,KAAA,GAAU,EAAE,CAAC;QAClB,IAAM,CAAA,MAAA,GAAW,IAAI,CAAC;QACtB,IAAQ,CAAA,QAAA,GAAW,MAAM,CAAC;QAC1B,IAAK,CAAA,KAAA,GAAW,SAAS,CAAC;AAG3B,QAAA,IAAA,CAAA,QAAQ,GAAa,CAAC,IAAY,KAAI,GAAI,CAAC;AAC3C,QAAA,IAAA,CAAA,OAAO,GAAa,MAAK,GAAI,CAAC;QAC9B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;QAC3B,IAAO,CAAA,OAAA,GAAG,OAAO,CAAC;KAkBxB;IAEQ,QAAQ,GAAA;KAChB;8GA/BU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,6HANnB,CAAC;AACV,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,mBAAmB;AAChC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA,CAAC,iDCZJ,05BAoBM,EAAA,MAAA,EAAA,CAAA,uEAAA,EAAA,6oEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,qBAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,mEAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDNO,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,aAGf,CAAC;AACV,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAqB,mBAAA;AAChC,4BAAA,KAAK,EAAE,IAAI;yBACZ,CAAC,EAAA,QAAA,EAAA,05BAAA,EAAA,MAAA,EAAA,CAAA,uEAAA,EAAA,6oEAAA,CAAA,EAAA,CAAA;wDAGO,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MERK,mBAAmB,CAAA;AAW9B,IAAA,WAAA,CAAoB,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QAFzB,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;QACvB,IAAQ,CAAA,QAAA,GAAW,EAAE,CAAC;KAG9B;IAED,QAAQ,GAAA;;KAEP;IAED,iBAAiB,GAAA;;;;;;;KAQhB;IAED,YAAY,GAAA;KAEX;8GA/BU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,kOCVhC,60NAmIO,EAAA,MAAA,EAAA,CAAA,sDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,KAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,OAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,kBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,EAAA,oBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,SAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,iBAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,mBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDzHM,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAN/B,SAAS;+BACE,gBAAgB,EAAA,QAAA,EAAA,60NAAA,EAAA,MAAA,EAAA,CAAA,sDAAA,CAAA,EAAA,CAAA;2EAMjB,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAKG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,mBAAmB,EAAA,CAAA;sBAA3B,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;MEQK,gBAAgB,GAAG,IAAI,cAAc,CAAY,WAAW,EAAE;MAmD9D,0BAA0B,CAAA;IACrC,OAAO,OAAO,CAAC,MAAiB,EAAA;QAC9B,OAAO;AACL,YAAA,QAAQ,EAAE,0BAA0B;AACpC,YAAA,SAAS,EAAE;gBACT,2BAA2B;AAC3B,gBAAA;AACE,oBAAA,OAAO,EAAE,kBAAkB;AAC3B,oBAAA,QAAQ,EAAE,MAAM;AACjB,iBAAA;AACF,aAAA;SACF,CAAA;KACF;8GAZU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,iBA/CnC,6BAA6B;YAC7B,kBAAkB;YAClB,oBAAoB;YACpB,oBAAoB;YACpB,sBAAsB;YACtB,sBAAsB;YACtB,mBAAmB;YACnB,kBAAkB;YAClB,iBAAiB;YACjB,qBAAqB;YACrB,kBAAkB;YAClB,oBAAoB;YACpB,mBAAmB;YACnB,gBAAgB;YAChB,kBAAkB;YAClB,mBAAmB;YACnB,sBAAsB;AACtB,YAAA,mBAAmB,aAGnB,YAAY;YACZ,gBAAgB;YAChB,WAAW;AACX,YAAA,mBAAmB,aAGnB,6BAA6B;YAC7B,kBAAkB;YAClB,oBAAoB;YACpB,oBAAoB;YACpB,sBAAsB;YACtB,sBAAsB;YACtB,mBAAmB;YACnB,kBAAkB;YAClB,iBAAiB;YACjB,qBAAqB;YACrB,kBAAkB;YAClB,oBAAoB;YACpB,mBAAmB;YACnB,gBAAgB;YAChB,kBAAkB;YAClB,mBAAmB;YACnB,sBAAsB;YACtB,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAIV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,YA3BnC,YAAY;YACZ,gBAAgB;YAChB,WAAW;YACX,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAwBV,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAjDtC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,6BAA6B;wBAC7B,kBAAkB;wBAClB,oBAAoB;wBACpB,oBAAoB;wBACpB,sBAAsB;wBACtB,sBAAsB;wBACtB,mBAAmB;wBACnB,kBAAkB;wBAClB,iBAAiB;wBACjB,qBAAqB;wBACrB,kBAAkB;wBAClB,oBAAoB;wBACpB,mBAAmB;wBACnB,gBAAgB;wBAChB,kBAAkB;wBAClB,mBAAmB;wBACnB,sBAAsB;wBACtB,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,gBAAgB;wBAChB,WAAW;wBACX,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,6BAA6B;wBAC7B,kBAAkB;wBAClB,oBAAoB;wBACpB,oBAAoB;wBACpB,sBAAsB;wBACtB,sBAAsB;wBACtB,mBAAmB;wBACnB,kBAAkB;wBAClB,iBAAiB;wBACjB,qBAAqB;wBACrB,kBAAkB;wBAClB,oBAAoB;wBACpB,mBAAmB;wBACnB,gBAAgB;wBAChB,kBAAkB;wBAClB,mBAAmB;wBACnB,sBAAsB;wBACtB,mBAAmB;AACpB,qBAAA;oBACD,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA,CAAA;;;AC9ED;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"appproject-components.mjs","sources":["../../../projects/appproject-components/src/lib/appproject-components.service.ts","../../../projects/appproject-components/src/lib/appproject-components.component.ts","../../../projects/appproject-components/src/lib/baseInputComponent.ts","../../../projects/appproject-components/src/lib/input-text/input-text.component.ts","../../../projects/appproject-components/src/lib/input-text/input-text.component.html","../../../projects/appproject-components/src/lib/input-format/input-format.component.ts","../../../projects/appproject-components/src/lib/input-format/input-format.component.html","../../../projects/appproject-components/src/lib/input-select/input-select.component.ts","../../../projects/appproject-components/src/lib/input-select/input-select.component.html","../../../projects/appproject-components/src/lib/model-treeview/model-treeview.component.ts","../../../projects/appproject-components/src/lib/model-treeview/model-treeview.component.html","../../../projects/appproject-components/src/lib/input-pesquisa/input-pesquisa.component.ts","../../../projects/appproject-components/src/lib/input-pesquisa/input-pesquisa.component.html","../../../projects/appproject-components/src/lib/input-valor/input-valor.component.ts","../../../projects/appproject-components/src/lib/input-valor/input-valor.component.html","../../../projects/appproject-components/src/lib/input-area/input-area.component.ts","../../../projects/appproject-components/src/lib/input-area/input-area.component.html","../../../projects/appproject-components/src/lib/input-cep/input-cep.component.ts","../../../projects/appproject-components/src/lib/input-cep/input-cep.component.html","../../../projects/appproject-components/src/lib/input-arquivo/input-arquivo.component.ts","../../../projects/appproject-components/src/lib/input-arquivo/input-arquivo.component.html","../../../projects/appproject-components/src/lib/buttons/baseBtnComponent.ts","../../../projects/appproject-components/src/lib/buttons/btn-action/btn-action.component.ts","../../../projects/appproject-components/src/lib/buttons/btn-action/btn-action.component.html","../../../projects/appproject-components/src/lib/buttons/btn-cancelar/btn-cancelar.component.ts","../../../projects/appproject-components/src/lib/buttons/btn-cancelar/btn-cancelar.component.html","../../../projects/appproject-components/src/lib/buttons/btn-excluir/btn-excluir.component.ts","../../../projects/appproject-components/src/lib/buttons/btn-excluir/btn-excluir.component.html","../../../projects/appproject-components/src/lib/buttons/btn-novo/btn-novo.component.ts","../../../projects/appproject-components/src/lib/buttons/btn-novo/btn-novo.component.html","../../../projects/appproject-components/src/lib/buttons/btn-salvar/btn-salvar.component.ts","../../../projects/appproject-components/src/lib/buttons/btn-salvar/btn-salvar.component.html","../../../projects/appproject-components/src/lib/input-checkbox/input-checkbox.component.ts","../../../projects/appproject-components/src/lib/input-checkbox/input-checkbox.component.html","../../../projects/appproject-components/src/lib/input-radio/input-radio.component.ts","../../../projects/appproject-components/src/lib/input-radio/input-radio.component.html","../../../projects/appproject-components/src/lib/entity-edit/entity-edit.component.ts","../../../projects/appproject-components/src/lib/entity-edit/entity-edit.component.html","../../../projects/appproject-components/src/lib/appproject-components.module.ts","../../../projects/appproject-components/src/public-api.ts","../../../projects/appproject-components/src/appproject-components.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppprojectComponentsService {\n\n constructor() { }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'kb-appproject-components',\n template: `\n <p>\n appproject-components works!\n </p>\n `,\n styles: [\n ]\n})\nexport class AppprojectComponentsComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseInputComponent implements OnInit {\r\n @Input() label!: string;\r\n @Input() labelPosition: string = 'stacked';\r\n @Input() nome!: string;\r\n @Input() placeholder: string = '';\r\n @Input() form!: FormGroup;\r\n @Input() campo!: string;\r\n @Input('formControlName') formControlName!: string; \r\n @Input() max: string = '10';\r\n @Input() validation_messages!: any[];\r\n @Input() type: string = \"text\";\r\n @Input() readonly: boolean = false;\r\n @Input() leitura: boolean = false;\r\n @Input() itemClass: string = \"padding\";\r\n @Output() blur = new EventEmitter();\r\n @Input() botaoLimpar: boolean = false;\r\n @Input() labelColor: string = 'dark';\r\n @Input() inputBackgroungColor: string = 'auto';\r\n \r\n @Input() blurArgs!: any[];\r\n\r\n constructor() {\r\n\r\n }\r\n ngOnInit(): void {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n}","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { BaseInputComponent } from '../baseInputComponent';\r\n\r\n@Component({\r\n selector: 'kb-input-text',\r\n templateUrl: './input-text.component.html',\r\n styleUrls: ['./input-text.component.scss', './../baseComponent.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InputTextComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class InputTextComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\r\n @Input() iconInput?: string;\r\n @Input() inputSpanAfter: string = null;\r\n @ViewChild('inputText', { read: ElementRef, static: true}) inputTextEdit;\r\n @Input() campoFoco: string;\r\n showSeePassword!: boolean;\r\n @Input() showCustomAction: boolean = false;\r\n @Input() customActionIcon: string = \"search-outline\";\r\n @Output() customActionClick = new EventEmitter();\r\n //control value acessor\r\n public data!: string | undefined;\r\n private onChange: Function = (data: string) => {};\r\n private onTouch: Function = () => {};\r\n private disabled: boolean = false;\r\n public console = console;\r\n\r\n writeValue(value?: any): void {\r\n //console.log('write value', value);\r\n this.onChange(value);\r\n this.data = value;\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disabled;\r\n }\r\n constructor() { \r\n super();\r\n }\r\n\r\n override ngOnInit(): void {\r\n }\r\n\r\n onBlur() {\r\n console.log('control name', this.formControlName);\r\n if (this.form) {\r\n this.form.get(this.formControlName)?.markAsTouched();\r\n }\r\n }\r\n\r\n limparClick() {\r\n this.writeValue(undefined);\r\n }\r\n\r\n isReadonly() {\r\n return this.leitura;\r\n }\r\n changeTypeOfInput() {\r\n this.type = \r\n this.type == 'password' ?\r\n 'text' : 'password';\r\n }\r\n setFocus() {\r\n this.inputTextEdit.nativeElement.setFocus();\r\n }\r\n\r\n customClick() {\r\n this.customActionClick.emit();\r\n }\r\n}\r\n","<!--\r\n<div [formGroup]=\"form\">\r\n [style.opacity]=\"readonly ? '0.8' : '1'\"\r\n-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px;\" [class]=\"itemClass\" \r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\r\n >\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}&nbsp;</ion-label>\r\n <!-- formControlName=\"{{ campo }}\" -->\r\n <ion-input #inputText\r\n type=\"{{type}}\" \r\n [placeholder]=\"placeholder\" \r\n maxlength=\"{{ max }}\"\r\n (ionBlur)=\"onBlur()\"\r\n [value]=\"data\"\r\n (input)=\"writeValue(inputText.value)\" \r\n autocomplete=\"new-password\"\r\n [style.--background]=\"inputBackgroungColor\"\r\n [disabled]=\"readonly\"\r\n [clearInput]=\"botaoLimpar\">\r\n <ion-icon *ngIf=\"iconInput\" name=\"{{ iconInput }}\"></ion-icon>\r\n </ion-input>\r\n \r\n <ion-button size=\"small\" slot=\"end\" *ngIf=\"showSeePassword\" style=\"margin-top: 27px; margin-inline-start: 4px !important;\" fill=\"clear\" color=\"dark\" (click)=\"changeTypeOfInput()\">\r\n <!-- (click)=\"limparClick()\" -->\r\n <ion-icon [name]=\"type == 'password' ? 'eye-outline' : 'eye-off-outline' \"></ion-icon>\r\n </ion-button>\r\n\r\n <ion-button size=\"small\" slot=\"end\" *ngIf=\"showCustomAction\" style=\"margin-top: var(--input-text-custom-btn-margin-top, 27px); margin-inline-start: 4px !important;\" fill=\"clear\" color=\"dark\" (click)=\"customClick()\">\r\n <!-- (click)=\"limparClick()\" -->\r\n <ion-icon slot=\"icon-only\" [name]=\"customActionIcon\"></ion-icon>\r\n </ion-button>\r\n\r\n <span *ngIf=\"inputSpanAfter\" slot=\"end\" class=\"inputSpanAfter-item\">&nbsp;{{ inputSpanAfter }}</span>\r\n </ion-item>\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n \r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n </div>","import { Component, ElementRef, EventEmitter, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { BaseInputComponent } from '../baseInputComponent';\r\n\r\n@Component({\r\n selector: 'kb-input-format',\r\n templateUrl: './input-format.component.html',\r\n styleUrls: ['./input-format.component.scss', './../baseComponent.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InputFormatComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class InputFormatComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() formato: string | null = null;\r\n @Input() keyEnter = new EventEmitter();\r\n @ViewChild('inputFormat', { read: ElementRef, static: true}) inputFormatEdit;\r\n \r\n //control value acessor\r\n public data: string | any = null;\r\n private onChange: Function = (data: string) => {};\r\n private onTouch: Function = () => {};\r\n private disabled: boolean = false;\r\n public console = console;\r\n\r\n writeValue(value: string | any): void {\r\n //console.log('write value', value);\r\n this.onChange(value);\r\n this.data = value;\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disabled;\r\n }\r\n\r\n constructor() { \r\n super();\r\n }\r\n\r\n override ngOnInit() { }\r\n\r\n digitarFormatado(event: any) {\r\n //console.log(event);\r\n const index = event.target.selectionStart >= 1 ? (event.target.selectionStart - 1) : 0;\r\n const keyAt = event.target.value.charCodeAt(index);\r\n if ((event.keyCode >= 48 && event.keyCode <= 57)\r\n || (keyAt >= 48 && keyAt <= 57)\r\n || (event.keyCode >= 96 && event.keyCode <= 105)\r\n || (event.keyCode == 8)\r\n || (event.keyCode == 9)\r\n || (event.keyCode == 39)\r\n || (event.keyCode == 37) \r\n || (event.keyCode == 46)) {\r\n\r\n //console.log(this.formControlName, this.form.get(this.formControlName).value);\r\n\r\n setTimeout(() => {\r\n if (this.form) {\r\n this.form.patchValue({\r\n [this.formControlName]: this.formataCampoValor(this.form.get(this.formControlName)?.value, this.formato ?? '', event)\r\n });\r\n } else {\r\n this.data = this.formataCampoValor(this.data ?? '', this.formato ?? '', event);\r\n this.writeValue(this.data);\r\n }\r\n }, 100);\r\n\r\n return true;\r\n }\r\n else {\r\n return false;\r\n } \r\n }\r\n\r\n onKeyEnter() {\r\n if (this.keyEnter != null) {\r\n this.keyEnter.emit();\r\n }\r\n }\r\n\r\n onBlur() {\r\n if (this.form) {\r\n this.form.get(this.formControlName)?.markAsTouched();\r\n }\r\n if (this.blur) {\r\n this.blur.emit(this.blurArgs);\r\n }\r\n }\r\n\r\n setFocus() {\r\n this.inputFormatEdit.nativeElement.setFocus();\r\n }\r\n\r\n formataCampoValor(valor: string, Mascara: string, evento: any) {\r\n console.log(valor);\r\n if (!valor)\r\n return null;\r\n //console.log(evento);\r\n\r\n //if (!this.keypressInteiro(evento))\r\n // return;\r\n\r\n var boleanoMascara;\r\n\r\n var Digitato = evento != null ? evento.keyCode : 0;\r\n let exp = /\\-|\\.|\\/|\\(|\\)| /g\r\n let campoSoNumeros = valor.replace(exp, \"\");\r\n\r\n var posicaoCampo = 0;\r\n var NovoValorCampo = \"\";\r\n var TamanhoMascara = campoSoNumeros.length;;\r\n\r\n if (Digitato != 8) { // backspace \r\n for (let i = 0; i <= TamanhoMascara; i++) {\r\n boleanoMascara = ((Mascara.charAt(i) == \"-\") || (Mascara.charAt(i) == \".\")\r\n || (Mascara.charAt(i) == \"/\"))\r\n boleanoMascara = boleanoMascara || ((Mascara.charAt(i) == \"(\")\r\n || (Mascara.charAt(i) == \")\") || (Mascara.charAt(i) == \" \"))\r\n if (boleanoMascara) {\r\n NovoValorCampo += Mascara.charAt(i);\r\n TamanhoMascara++;\r\n } else {\r\n NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);\r\n posicaoCampo++;\r\n }\r\n }\r\n return NovoValorCampo;\r\n } else {\r\n return valor;\r\n }\r\n }\r\n}\r\n","<!--\r\n<div [formGroup]=\"form\">\r\n-->\r\n<!--comando --inner-padding-end: utilizado pra remover padding desnecessários-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\" [class]=\"itemClass\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\r\n >\r\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\r\n <!-- formControlName={{formControlName}} -->\r\n <ion-input #inputFormat\r\n type=\"tel\" \r\n [placeholder]=\"placeholder\"\r\n maxlength=\"{{ max }}\" \r\n (keydown)=\"digitarFormatado($event)\" \r\n (keyup.enter)=\"onKeyEnter()\"\r\n (ionBlur)=\"onBlur()\"\r\n [value]=\"data\"\r\n (input)=\"writeValue(inputFormat.value)\"\r\n [disabled]=\"readonly\"></ion-input>\r\n \r\n </ion-item>\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { BaseInputComponent } from '../baseInputComponent';\r\n\r\n@Component({\r\n selector: 'kb-input-select',\r\n templateUrl: './input-select.component.html',\r\n styleUrls: ['./input-select.component.scss', './../baseComponent.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InputSelectComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class InputSelectComponent extends BaseInputComponent implements OnInit, ControlValueAccessor { \r\n @Output() selectChange = new EventEmitter();\r\n @Output() selectChangeEntity = new EventEmitter();\r\n @Input() itens: any[] = [];\r\n @Input() itemId: string = \"Id\";\r\n @Input() itemNome: string = \"Nome\";\r\n @Input() showNovo: boolean = false;\r\n @Input() itemNull: boolean = true;\r\n @Input() opcaoDefault: string = 'Selecionar';\r\n\r\n //para 'injeção' de estilo no foco\r\n @ViewChild(\"itemSelect\", {read: ElementRef}) itemSelect: any;\r\n\r\n //control value acessor\r\n public data: string | any;\r\n private onChange: Function = (data: string) => {};\r\n private onTouch: Function = () => {};\r\n private disabled: boolean = false;\r\n public console = console;\r\n\r\n writeValue(value: string | any): void {\r\n //console.log('write value select', value);\r\n this.onChange(value);\r\n this.data = value;\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disabled;\r\n }\r\n\r\n constructor(private renderer: Renderer2) { \r\n super();\r\n }\r\n\r\n override ngOnInit() {\r\n if (this.readonly === true) {\r\n //console.log(\"disabled\");\r\n setTimeout(() => {\r\n //this.renderer.addClass(document.getElementById(\"item-select\"), \"item-has-focus\");\r\n this.renderer.addClass(this.itemSelect.nativeElement, \"item-interactive-disabled\");\r\n //console.log('select focused', document.getElementById(\"item-select\"));\r\n }, 100);\r\n }\r\n }\r\n\r\n onSelectChange(value: any) {\r\n this.writeValue(value == '' ? null : value); \r\n if (this.selectChange != null) {\r\n //console.log('emit', value);\r\n this.selectChange.emit(value);\r\n }\r\n if (this.selectChangeEntity != null) {\r\n const existe = this.itens.find(i => i[this.itemId] == value);\r\n this.selectChangeEntity.emit(existe);\r\n }\r\n }\r\n\r\n onBlur() {\r\n //console.log('input select blur')\r\n setTimeout(() => {\r\n this.renderer.removeClass(this.itemSelect.nativeElement, \"item-has-focus\");\r\n }, 200);\r\n\r\n if (this.form) {\r\n this.form.get(this.formControlName)?.markAsTouched();\r\n }\r\n }\r\n\r\n onEnter() {\r\n //adicionar classe ao ion-item\r\n setTimeout(() => {\r\n this.renderer.addClass(this.itemSelect.nativeElement, \"item-has-focus\");\r\n //console.log('select focused', document.getElementById(\"item-select\"));\r\n }, 200); \r\n }\r\n\r\n}\r\n","<!--\r\n<div [formGroup]=\"form\">\r\n-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent;\" [class]=\"itemClass\" #itemSelect\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\r\n >\r\n <ion-label *ngIf=\"label\" [position]=\"labelPosition\" class=\"focus-label\">{{ label }}</ion-label>\r\n <!-- formControlName=\"{{ formControlName }}\" -->\r\n <select #inputSelect\r\n style=\"width: 100%;\" (change)=\"onSelectChange(inputSelect.value)\"\r\n (blur)=\"onBlur()\" (focus)=\"onEnter()\" [disabled]=\"readonly\">\r\n <option *ngIf=\"itemNull\" [value]=\"''\" selected>{{ opcaoDefault }}</option>\r\n <option *ngFor=\"let item of itens\" [value]=\"item[itemId]\" [selected]=\"item[itemId] == data\">{{ item[itemNome] }}\r\n </option>\r\n </select> \r\n </ion-item>\r\n \r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n \r\n </div>","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'kb-model-treeview',\n templateUrl: './model-treeview.component.html',\n styleUrls: ['./model-treeview.component.css']\n})\nexport class ModelTreeviewComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","<p>model-treeview works!</p>\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, EventEmitter, Inject, Input, OnInit, Predicate, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { IonSelect, ModalController } from '@ionic/angular';\r\nimport { Subject, Subscription, of } from 'rxjs';\r\nimport { BaseInputComponent } from '../baseInputComponent';\r\nimport { debounceTime, switchMap } from 'rxjs/operators'\r\nimport { ModelTreeviewComponent } from '../model-treeview/model-treeview.component';\r\nimport { LibConfig } from '../lib-config';\r\n//import { LibConfig, LibConfigService } from '../appproject-components.module';\r\n\r\n@Component({\r\n selector: 'kb-input-pesquisa',\r\n templateUrl: './input-pesquisa.component.html',\r\n styleUrls: ['./input-pesquisa.component.scss', './../baseComponent.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InputPesquisaComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class InputPesquisaComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\r\n\r\n podePesquisar: boolean = true;\r\n @Input() textoPesquisa: string = '';\r\n selectElementVisivel: boolean = false;\r\n listaPesquisa: any[] = [];\r\n selectedItem: any;\r\n @Input() override max: string = '30';\r\n private pesquisaSubject: Subject<string> = new Subject();\r\n\r\n @Input() filterFunction: Predicate<any> | null = null;\r\n @Input() selectId: string = 'selectElement';\r\n @Input() campoId: string = 'Id';\r\n @Input() campoPaiId: string = 'PaiId';\r\n @Input() campoDisplay: string = 'Descricao';\r\n @Input() tipo: string = '';\r\n //@ViewChild('selectElement', { read: ElementRef, static: true }) selectElement;\r\n @ViewChild('selectElement', { static: false }) selectElement: IonSelect | null = null;\r\n\r\n @Input() pesquisaChange = new EventEmitter();\r\n @Input() pesquisaAction?: Function;\r\n @Input() limpar?: Function;\r\n //parametros para chamada API\r\n //endpoint para pesquisa por digitação\r\n @Input() url: string = '';\r\n @Input() urlItem: string = '';\r\n //endpoint para montar a arvore, se estiver vazia será usado o campo 'url'\r\n @Input() urlTree: string = '';\r\n @Input() empresa: number = 0;\r\n @Input() loadInit: boolean = false;\r\n\r\n //planoContas: number;\r\n\r\n //control value acessor\r\n public data: number | any;\r\n private onChange: Function = (data: number) => { };\r\n private onTouch: Function = () => { };\r\n private disabled: boolean = false;\r\n public console = console;\r\n\r\n modelChanged: Subject<any> = new Subject<any>();\r\n modelChangeSubscription?: Subscription;\r\n\r\n writeValue(value: number | any): void {\r\n //console.log('write value', value);\r\n this.onChange(value);\r\n this.data = value;\r\n if (value == null || value == 0) {\r\n this.writePesquisa('');\r\n this.selectedItem = null;\r\n } else {\r\n if (this.loadInit == true) {\r\n this.loadInit = false;\r\n this.modelChanged.next(value);\r\n //this.carregaItemIdParaLista(value);\r\n } else {\r\n //console.log(this.selectedItem);\r\n if (!this.selectedItem || (this.selectedItem && this.selectedItem[this.campoId] != value)) {\r\n console.log('Id diferente');\r\n this.modelChanged.next(value);\r\n //this.carregaItemIdParaLista(value);\r\n }\r\n }\r\n }\r\n\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disabled;\r\n }\r\n\r\n BASE_API = this.config.apiUrl;\r\n\r\n constructor(@Inject('LibConfigService') private config: LibConfig,\r\n private httpClient: HttpClient,\r\n private modalCtrl: ModalController) {\r\n super();\r\n\r\n this.modelChangeSubscription = this.modelChanged\r\n .pipe(debounceTime(500)\r\n )\r\n .subscribe(data => {\r\n this.carregaItemIdParaLista(data);\r\n });\r\n }\r\n\r\n onBlur(event: any) {\r\n console.log('blur', event);\r\n //console.log(event.detail.relatedTarget);\r\n if (event.detail.relatedTarget == null || event.detail.relatedTarget.id.indexOf(this.selectId + 'IonItem') == -1) {\r\n //console.log(\"true\", event.detail.relatedTarget.id);\r\n //pesquisar item na lista\r\n if (!this.existeNaListaTexto(this.textoPesquisa, true)) {\r\n this.limparClick();\r\n }\r\n\r\n this.dropDownPesquisa(0);\r\n if (this.form) {\r\n this.form.get(this.formControlName)?.markAsTouched();\r\n }\r\n }\r\n }\r\n\r\n override ngOnInit() {\r\n //tratar urls\r\n this.url = this.url.startsWith('http') ? this.url : `${this.BASE_API}/${this.url}`;\r\n this.urlItem = this.urlItem.startsWith('http') ? this.urlItem : `${this.BASE_API}/${this.urlItem}`;\r\n\r\n this.pesquisaSubject.pipe(switchMap((url) => {\r\n //this.console.log('subject url:', url); \r\n if (!this.isEmpty(url)) {\r\n return this.httpClient.get(url);\r\n //return of(url);\r\n }\r\n else\r\n return of([]);\r\n }))\r\n .subscribe({\r\n next: (result: any) => {\r\n //this.listaPesquisa = result;\r\n this.console.log('subject subscribe result:', result);\r\n this.listaPesquisa = [];\r\n\r\n if (result && result.length > 0) {\r\n if (this.filterFunction) {\r\n result = result.filter(this.filterFunction);\r\n }\r\n\r\n result.forEach((ent: any, index: any) => {\r\n this.listaPesquisa.push({ ...ent, Index: index, Selected: false });\r\n });\r\n }\r\n\r\n this.podePesquisar = true;\r\n if (this.listaPesquisa.length > 0) {\r\n this.dropDownPesquisa(this.listaPesquisa.length);\r\n }\r\n }\r\n , error: (error) => {\r\n this.podePesquisar = true;\r\n console.log('erro pesquisa', error);\r\n }\r\n });\r\n }\r\n\r\n writePesquisa(value: string | any): void {\r\n //console.log('write pesquisa', value);\r\n this.textoPesquisa = value;\r\n }\r\n\r\n showPesquisa(e: any): void {\r\n //console.log('show pesquisa', e.keyCode);\r\n var self = this;\r\n const index = e.target.selectionStart >= 1 ? (e.target.selectionStart - 1) : 0;\r\n //console.log(index, 'valor ', event.target.value, 'char ', event.target.value.charCodeAt(index));\r\n const keyAt = e.target.value.charCodeAt(index);\r\n /*\r\n if ((e.keyCode >= 48 && e.keyCode <= 57) ||\r\n (keyAt >= 48 && keyAt <= 57) ||\r\n (e.keyCode >= 65 && e.keyCode <= 90) ||\r\n (e.keyCode >= 96 && e.keyCode <= 105) ||\r\n (e.keyCode == 8)) {\r\n */\r\n if (e.keyCode != 40 && e.keyCode != 38) {\r\n if (!self.podePesquisar) {\r\n return;\r\n }\r\n let filtro = self.textoPesquisa;\r\n if (filtro != null && filtro != '' && filtro.length >= 2) {\r\n self.pesquisarEntidade(filtro);\r\n\r\n }\r\n else {\r\n if (e.keyCode == 8 && !filtro) {\r\n this.limparClick();\r\n }\r\n }\r\n }\r\n\r\n else {\r\n if (e.keyCode == 40 || e.keyCode == 38) {\r\n self.dropDownPesquisa(self.listaPesquisa.length);\r\n if (self.selectElementVisivel == true) {\r\n //let select = self.selectElement; //document.getElementById(self.TemplateSelect1Id());\r\n\r\n //ion-list\r\n //selecionado\r\n //console.log(self.listaPesquisa);\r\n let inc = e.keyCode == 40 ? 1 : -1;\r\n let selected = self.listaPesquisa.find(s => s['Selected'] === true);\r\n let cur = 0;\r\n if (selected != null) {\r\n cur = selected['Index'];\r\n //desmarcar o atual\r\n selected['Selected'] = false;\r\n cur = cur + inc;\r\n } else {\r\n cur = 0;\r\n }\r\n\r\n if (cur < 0) {\r\n cur = self.listaPesquisa.length - 1;\r\n } else if (cur >= self.listaPesquisa.length) {\r\n cur = 0;\r\n }\r\n\r\n let novoSelected = self.listaPesquisa.find(n => n['Index'] === cur);\r\n if (novoSelected != null) {\r\n novoSelected['Selected'] = true;\r\n self.selectedItem = novoSelected;\r\n self.textoPesquisa = novoSelected[self.campoDisplay];\r\n }\r\n /*\r\n let select = document.getElementById(this.selectId) as any;\r\n console.log('select Element', select)\r\n if (select != null) {\r\n let inc = e.keyCode == 40 ? 1 : -1;\r\n let cur = select.selectedIndex;\r\n if (cur == NaN) cur = -1;\r\n select.selectedIndex = cur + inc;\r\n if (select.selectedIndex >= 0 && select.selectedIndex < self.listaPesquisa.length) {\r\n self.selectedItem = self.listaPesquisa[select.selectedIndex];\r\n if (self.selectedItem != null) {\r\n self.textoPesquisa = self.selectedItem[self.campoDisplay];\r\n }\r\n }\r\n }\r\n */\r\n }\r\n\r\n } else\r\n if (e.keyCode == 13) {\r\n console.log('enter key', e)\r\n //self.selecionarComboClick(e);\r\n self.selecionarComboClick(null);\r\n //return false;\r\n } else if (e.keyCode == 27) {\r\n //ESC\r\n self.dropDownPesquisa(0);\r\n }\r\n }\r\n\r\n }\r\n\r\n highlight(texto: string): string {\r\n let index = texto.toLowerCase().indexOf(this.textoPesquisa.toLowerCase());\r\n //console.log(index);\r\n if (index >= 0) {\r\n return texto.substring(0, index) + '<strong>' + texto.substring(index, index + this.textoPesquisa.length) + '</strong>' + texto.substring(index + this.textoPesquisa.length); //texto.replace(this.textoPesquisa, `<strong>${this.textoPesquisa}</strong>`);\r\n } else {\r\n return texto;\r\n }\r\n }\r\n\r\n selecionarComboClick(item: any) {\r\n // console.log(item);\r\n var self = this;\r\n // console.log('combo click', self);\r\n\r\n /*\r\n let select = document.getElementById(this.selectId) as any;\r\n if (select.selectedIndex >= 0) {\r\n self.selectedItem = self.listaPesquisa[select.selectedIndex];\r\n }\r\n console.log('selected', this.selectedItem);\r\n //self.selectedItem = this.listaPesquisa.find(i => i[this.campoId] == e);\r\n if (self.selectedItem != null) {\r\n self.textoPesquisa = self.selectedItem[self.campoDisplay];\r\n self.writeValue(self.selectedItem[self.campoId]);\r\n if (e != null) {\r\n self.selectElementVisivel = false;\r\n if (self.action != null) {\r\n self.action(self.selectedItem(), e);\r\n }\r\n }\r\n }\r\n else {\r\n self.selectElementVisivel = false;\r\n }\r\n */\r\n // pesquisar selecionado\r\n // console.log(this.listaPesquisa);\r\n let selected = this.listaPesquisa.find(s => s['Selected'] === true);\r\n\r\n // if (!selected) {\r\n // console.log(this.campoId, item);\r\n // selected = this.listaPesquisa.filter( s => s[this.campoId] == item[this.campoId]);\r\n // }\r\n\r\n //se o item form passado como parametro (click no ion-item)\r\n if (item != null) {\r\n if (selected != null) {\r\n selected['Selected'] = false;\r\n }\r\n item['Selected'] = true;\r\n selected = item;\r\n }\r\n if (selected != null) {\r\n self.selectedItem = selected;\r\n self.textoPesquisa = selected[self.campoDisplay];\r\n self.writeValue(selected[self.campoId]);\r\n self.selectElementVisivel = false;\r\n //console.log('action', self.change);\r\n if (self.pesquisaChange != null) {\r\n self.pesquisaChange.emit(self.selectedItem);\r\n }\r\n } else {\r\n self.selectElementVisivel = false;\r\n }\r\n // this.listaPesquisa.forEach( pesquisa => {\r\n // console.log(pesquisa, self.data);\r\n // } );\r\n // console.log(this.textoPesquisa);\r\n }\r\n\r\n selecionarComboChange(e: any) {\r\n var self = this;\r\n console.log('combo change', e);\r\n self.selectedItem = this.listaPesquisa.find(i => i[this.campoId] == e);\r\n if (self.selectedItem != null) {\r\n self.writeValue(e);\r\n self.textoPesquisa = self.selectedItem[self.campoDisplay];\r\n if (e != null) {\r\n self.selectElementVisivel = false;\r\n if (self.pesquisaChange != null) {\r\n self.pesquisaChange.emit(self.selectedItem);\r\n }\r\n }\r\n }\r\n else {\r\n self.selectElementVisivel = false;\r\n }\r\n }\r\n\r\n dropDownPesquisa(length: number) {\r\n var self = this;\r\n if (self.listaPesquisa != null && self.listaPesquisa.length > 0) {\r\n if (length == -1) {\r\n length = self.listaPesquisa.length;\r\n }\r\n self.selectElementVisivel = length == 0 ? false : true;\r\n\r\n //console.log(this.selectElement);\r\n //this.selectElement.open();\r\n\r\n /*\r\n //let element = this.selectElement;\r\n let element = document.getElementById(this.selectId);\r\n console.log('dropDown', element);\r\n (element as any).size = length + 1;\r\n if (length == 0) {\r\n self.selectElementVisivel = false;\r\n } else {\r\n self.selectElementVisivel = true;\r\n }\r\n */\r\n }\r\n }\r\n\r\n pesquisarEntidade(filtro: string) {\r\n let url = this.url.replace('<<FILTRO>>', filtro).replace('<<EMPRESA>>', this.empresa.toString());\r\n console.log('pesquisarEntidade url', url);\r\n this.podePesquisar = false;\r\n this.pesquisaSubject.next(url);\r\n }\r\n\r\n pesquisarEntidadeOld(filtro: string) {\r\n let url = this.url.replace('<<FILTRO>>', filtro).replace('<<EMPRESA>>', this.empresa.toString());\r\n console.log('pesquisarEntidade url', url);\r\n this.podePesquisar = false;\r\n this.httpClient.get<any>(url)\r\n .subscribe({ next: (result: any) => {\r\n //this.listaPesquisa = result;\r\n if (this.filterFunction) {\r\n result = result.filter(this.filterFunction);\r\n }\r\n this.listaPesquisa = [];\r\n result.forEach((ent: any, index: number) => {\r\n this.listaPesquisa.push({ ...ent, Index: index, Selected: false });\r\n });\r\n\r\n this.podePesquisar = true;\r\n if (this.listaPesquisa.length > 0) {\r\n this.dropDownPesquisa(this.listaPesquisa.length);\r\n }\r\n }, error: error => {\r\n console.log('erro pesquisa', error);\r\n this.podePesquisar = true;\r\n }});\r\n }\r\n\r\n existeNaLista(id: number, setRegistro: boolean = false): boolean {\r\n if (this.listaPesquisa && this.listaPesquisa.length > 0) {\r\n let existe = this.listaPesquisa.find(l => l[this.campoId] === id);\r\n if (existe) {\r\n if (setRegistro) {\r\n this.selectedItem = existe;\r\n this.selecionarComboClick(this.selectedItem);\r\n }\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n existeNaListaTexto(texto: string, setRegistro: boolean = false): boolean {\r\n console.log(\"existe texto:\", texto, this.campoDisplay, this.listaPesquisa);\r\n if (this.listaPesquisa && this.listaPesquisa.length > 0) {\r\n let existe = this.listaPesquisa.find(l => l[this.campoDisplay].toUpperCase() === texto.toUpperCase());\r\n if (existe) {\r\n if (setRegistro) {\r\n this.selectedItem = existe;\r\n this.selecionarComboClick(this.selectedItem);\r\n }\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n validarItemSelecionado(setarRegistro: boolean = false): boolean {\r\n console.log('validar selecionado');\r\n //passar pela função de filtro\r\n let valido = false;\r\n if (this.selectedItem) {\r\n if (this.filterFunction) {\r\n let existe = [{ ...this.selectedItem }].filter(this.filterFunction);\r\n if (existe != null && existe.length > 0) {\r\n valido = true;\r\n }\r\n } else {\r\n valido = true;\r\n }\r\n if (valido && setarRegistro) {\r\n this.selecionarComboClick(this.selectedItem);\r\n }\r\n\r\n return valido;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n carregaItemIdParaLista(id: number) {\r\n let url = this.urlItem.replace('<<ID>>', id.toString());\r\n console.log(this.urlItem);\r\n console.log('pesquisar ID url', url);\r\n this.podePesquisar = false;\r\n this.httpClient.get<any>(url)\r\n .subscribe({ next: (result: any) => {\r\n this.listaPesquisa = [];\r\n this.listaPesquisa.push({ ...result, Index: 0, Selected: true });\r\n this.podePesquisar = true;\r\n if (this.listaPesquisa.length > 0) {\r\n this.selectedItem = this.listaPesquisa[0];\r\n this.selecionarComboClick(this.selectedItem);\r\n }\r\n }, error: error => {\r\n console.log('erro pesquisa', error);\r\n this.podePesquisar = true;\r\n }});\r\n }\r\n\r\n limparClick() {\r\n this.writeValue(null);\r\n this.writePesquisa(null);\r\n this.listaPesquisa = [];\r\n this.dropDownPesquisa(0);\r\n //this.podePesquisar = true;\r\n this.pesquisaSubject.next('');\r\n if (this.limpar) {\r\n this.limpar();\r\n }\r\n }\r\n\r\n verificarPesquisa() {\r\n //TODO: verificar se o texto corresponde com um item da lista\r\n this.selecionarComboClick(null);\r\n }\r\n\r\n async pesquisarClick() {\r\n /*\r\n if (this.pesquisaAction != null) {\r\n this.pesquisaAction();\r\n }\r\n */\r\n //pesquisaCategoria\r\n console.log(this.filterFunction, this.url, this.urlTree);\r\n\r\n const modal = await this.modalCtrl.create({\r\n component: ModelTreeviewComponent,\r\n componentProps: {\r\n //campoId: this.campoId,\r\n //campoPai: this.campoPaiId,\r\n //campoLabel: this.campoDisplay,\r\n filterFunction: this.filterFunction,\r\n empresaSelecionadaId: this.empresa,\r\n tipo: this.tipo,\r\n //especifico\r\n //planoContas: this.planoContas,\r\n url: this.isEmpty(this.urlTree) ? this.url : this.urlTree\r\n },\r\n cssClass: 'my-custom-modal-pesquisa'\r\n });\r\n\r\n modal.onDidDismiss().then(data => {\r\n let result = data['data'];\r\n console.log(result);\r\n if (result != null && result.Id > 0) {\r\n this.carregaItemIdParaLista(result.Id);\r\n }\r\n });\r\n modal.present();\r\n\r\n }\r\n\r\n isEmpty(valor: string | any) {\r\n return valor == null || valor == undefined || valor == ''\r\n }\r\n}\r\n","<div style=\"padding-inline-end: 0px;\">\r\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; margin-top: 2px;\" [class]=\"itemClass\">\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}</ion-label>\r\n <!-- formControlName=\"{{ campo }}\" -->\r\n <ion-spinner *ngIf=\"!podePesquisar\"\r\n style=\"--min-height: 0px !important; margin-inline-end: 5px !important; margin-top: 16px;\" \r\n slot=\"start\" name=\"lines\"></ion-spinner>\r\n <!-- (ionBlur)=\"verificarPesquisa()\" -->\r\n <!-- conflito com click da lista -->\r\n <ion-input #inputPesquisa\r\n type=\"{{type}}\" \r\n [placeholder]=\"placeholder\" \r\n maxlength=\"{{ max }}\" \r\n (ionBlur)=\"onBlur($event)\"\r\n [value]=\"textoPesquisa\" (input)=\"writePesquisa(inputPesquisa.value)\" \r\n (keyup)=\"showPesquisa($event)\"\r\n autocomplete=\"off\" [style.--background]=\"inputBackgroungColor\"\r\n (click)=\"dropDownPesquisa(-1)\"\r\n [disabled]=\"readonly\" debounce=\"500\"></ion-input>\r\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\"\r\n style=\"margin-top: 25px; margin-inline-start: 4px !important; --padding-start:2px; --padding-end: 2px;\" fill=\"clear\" color=\"medium\"\r\n (click)=\"limparClick()\">\r\n <ion-icon name=\"close-outline\"></ion-icon>\r\n </ion-button>\r\n \r\n <!--\r\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\"\r\n style=\"margin-top: 25px; margin-inline-start: 4px !important; --padding-start:2px; --padding-end: 2px;\" fill=\"clear\" color=\"medium\"\r\n (click)=\"pesquisarClick()\">\r\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\r\n </ion-button>\r\n -->\r\n \r\n </ion-item>\r\n \r\n <ion-list tabindex=\"-1\" [hidden]=\"!selectElementVisivel || !listaPesquisa || listaPesquisa.length == 0\" class=\"pesquisa-list\" style=\"max-height: 250px; overflow-y: auto;\">\r\n \r\n <ion-item tabindex=\"-1\" button *ngFor=\"let item of listaPesquisa\" \r\n (click)=\"selecionarComboClick(item)\" [id]=\"selectId + 'IonItem' + item['Index']\"\r\n class=\"pesquisa-item\">\r\n <!-- {{ item | json}} -->\r\n <span [class]=\"{'selected-item': item['Selected'] === true}\" [innerHTML]=\"highlight(item[campoDisplay])\"></span>\r\n </ion-item>\r\n \r\n </ion-list>\r\n \r\n <!--\r\n <ion-select interface=\"popover\" #selectElement tabindex=\"-1\" [hidden]=\"!selectElementVisivel\"\r\n (ionChange)=\"selecionarComboChange($event.target.value)\">\r\n <ion-select-option *ngFor=\"let item of listaPesquisa\" [value]=\"item[campoId]\" (click)=\"selecionarComboClick(item[campoId])\">\r\n {{ item[campoDisplay] }}\r\n </ion-select-option>\r\n </ion-select>\r\n -->\r\n \r\n <!--\r\n <select [id]=\"selectId\" #selectElement tabindex=\"-1\" [hidden]=\"!selectElementVisivel\"\r\n (change)=\"selecionarComboChange($event.target.value)\" class=\"pesquisa-select\">\r\n <option *ngFor=\"let item of listaPesquisa\" [value]=\"item[campoId]\" (click)=\"selecionarComboClick(item[campoId])\">\r\n {{ item[campoDisplay] }}\r\n </option>\r\n \r\n </select>\r\n -->\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n \r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n </div>","import { Component, ElementRef, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { BaseInputComponent } from '../baseInputComponent';\r\n\r\n@Component({\r\n selector: 'kb-input-valor',\r\n templateUrl: './input-valor.component.html',\r\n styleUrls: ['./input-valor.component.scss', './../baseComponent.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InputValorComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class InputValorComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\r\n @Input() maxValor: number = null;\r\n @ViewChild('inputValor', { read: ElementRef, static: true}) inputValorEdit;\r\n //control value acessor\r\n public data: string | any;\r\n private onChange: Function = (data: string) => { };\r\n private onTouch: Function = () => { };\r\n private disabled: boolean = false;\r\n public console = console;\r\n\r\n writeValue(value: string | any): void {\r\n //console.log('write value', value);\r\n this.onChange(value);\r\n this.data = value;\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disabled;\r\n }\r\n\r\n constructor() {\r\n super();\r\n }\r\n\r\n override ngOnInit() { }\r\n\r\n onBlur() {\r\n if (this.form) {\r\n this.form.get(this.formControlName)?.markAsTouched();\r\n }\r\n //verificar o valor\r\n if (this.maxValor) {\r\n if (this.form) {\r\n //console.log(this.form.get(this.formControlName).value);\r\n let valor = this.strToFloatZero(this.form.get(this.formControlName).value);\r\n if (valor > this.maxValor) {\r\n this.form.patchValue({\r\n [this.formControlName]: this.converterValorDecimalMil((this.maxValor * 100).toString())\r\n });\r\n }\r\n } else {\r\n let valor = this.strToFloatZero(this.data);\r\n if (valor > this.maxValor) {\r\n this.data = this.converterValorDecimalMil((this.maxValor * 100).toString());\r\n this.writeValue(this.data);\r\n }\r\n }\r\n }\r\n if (this.blur) {\r\n this.blur.emit(this.blurArgs);\r\n }\r\n }\r\n\r\n digitarValor(event: any) {\r\n //this.item.vendaunitario = this.utils.converterValorDecimal(this.item.vendaunitario);\r\n setTimeout(() => {\r\n if (this.form) {\r\n this.form.patchValue({\r\n [this.formControlName]: this.converterValorDecimalMil(this.form.get(this.formControlName)?.value) \r\n });\r\n } else {\r\n this.data = this.converterValorDecimalMil(this.data);\r\n this.writeValue(this.data);\r\n }\r\n }, 100);\r\n\r\n return true;\r\n }\r\n\r\n isEmpty(str: string | any): boolean {\r\n return str == null || str == undefined || str == '';\r\n }\r\n\r\n converterValorDecimalMil(campo: string, casas: number = 2): string {\r\n if (!this.isEmpty(campo)) {\r\n //console.log('converterValorDecimal');\r\n //console.log('campo:', campo, ' replaced: ', campo.replace(',', '').replace('.', '')); \r\n if (campo == '-') {\r\n return campo;\r\n }\r\n\r\n let valor = parseFloat(campo.replace(',', '').replace('.', '').replace('.', '').replace('.', ''));\r\n\r\n if (isNaN(valor)) {\r\n return '';\r\n }\r\n\r\n let valordiv = parseInt(\"1\" + this.stringOfChar(\"0\", casas));\r\n //valor /= 100; \r\n console.log(valor, '/', valordiv);\r\n valor /= valordiv;\r\n console.log('=', valor);\r\n return this.decimalToStringMil(valor);\r\n /*\r\n var str = valor.toString().replace('.', ',');\r\n var aStr = str.split(',');\r\n if (aStr.length == 1) {\r\n //str += ',00';\r\n str += ',' + this.stringOfChar('0', casas);\r\n }\r\n else {\r\n //str += this.stringOfChar('0', 2 - aStr[1].length);\r\n str += this.stringOfChar('0', casas - aStr[1].length);\r\n }\r\n return str;\r\n */\r\n }\r\n else\r\n return campo;\r\n }\r\n\r\n decimalToStringMil(number?: any) {\r\n if (number != null) {\r\n if (number == 0 || number == '0') {\r\n return '0,00';\r\n }\r\n //console.log(number);\r\n let numero = number.toFixed(2).split('.');\r\n numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.');\r\n return numero.join(',').replace('-.', '-');\r\n } else\r\n return '';\r\n }\r\n\r\n stringOfChar(str: string, tam: number): string {\r\n var res = '';\r\n for (var i = 0; i < tam; i++) {\r\n res += str;\r\n }\r\n return res;\r\n }\r\n\r\n strToFloatZero(str): number {\r\n if (Number.isFinite(str))\r\n return str;\r\n if (this.isEmpty(str))\r\n return 0;\r\n else\r\n return parseFloat(str.replace('.', '').replace(',', '.'));\r\n }\r\n\r\n setFocus() {\r\n this.inputValorEdit.nativeElement.setFocus();\r\n }\r\n}\r\n","<!--\r\n<div [formGroup]=\"form\">\r\n-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\r\n >\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}</ion-label>\r\n <!-- formControlName=\"{{ formControlName }}\" -->\r\n <ion-input #inputValor\r\n type=\"text\" \r\n [placeholder]=\"placeholder\" \r\n maxlength=\"{{ max }}\"\r\n (ionBlur)=\"onBlur()\"\r\n [value]=\"data\"\r\n (input)=\"writeValue(inputValor.value)\" \r\n (keypress)=\"digitarValor($event)\"\r\n [clearInput]=\"botaoLimpar\"\r\n [disabled]=\"readonly\"></ion-input>\r\n </ion-item>\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n \r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n </div>","import { Component, ElementRef, Input, OnInit, Renderer2, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BaseInputComponent } from '../baseInputComponent';\n\n@Component({\n selector: 'kb-input-area',\n templateUrl: './input-area.component.html',\n styleUrls: ['./input-area.component.scss', './../baseComponent.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: InputAreaComponent,\n multi: true\n }]\n})\nexport class InputAreaComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\n @Input() linhas: number = 5;\n \n @ViewChild(\"itemArea\", {read: ElementRef}) itemArea: any;\n //control value acessor\n public data: string | any;\n private onChange: Function = (data: string) => {};\n private onTouch: Function = () => {};\n private disabled: boolean = false;\n public console = console;\n\n writeValue(value: string | any): void {\n //console.log('write value', value);\n this.onChange(value);\n this.data = value;\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = this.disabled;\n }\n constructor(private renderer: Renderer2) { \n super();\n }\n\n override ngOnInit() {}\n\n onBlur() {\n //remover classe do ion-item\n setTimeout(() => {\n //this.renderer.addClass(document.getElementById(\"item-select\"), \"item-has-focus\");\n this.renderer.removeClass(this.itemArea.nativeElement, \"item-has-focus\");\n //console.log('select focused', document.getElementById(\"item-select\"));\n }, 200);\n \n if (this.form) {\n this.form.get(this.formControlName)?.markAsTouched();\n }\n }\n\n entered() {\n //adicionar classe ao ion-item\n // console.log('select focused');\n setTimeout(() => {\n //this.renderer.addClass(document.getElementById(\"item-select\"), \"item-has-focus\");\n this.renderer.addClass(this.itemArea.nativeElement, \"item-has-focus\");\n //console.log('select focused', document.getElementById(\"item-select\"));\n }, 200);\n \n }\n}\n","<!-- \r\n maxlength=\"{{ max }}\"\r\n-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background-focused: transparent;\" [class]=\"itemClass\" #itemArea>\r\n <ion-label position=\"{{ labelPosition }}\">{{ label }}</ion-label>\r\n <!-- formControlName=\"{{ formControlName }}\" -->\r\n <textarea #inputArea \r\n [placeholder]=\"placeholder\" \r\n [maxLength]=\"max\"\r\n (ionBlur)=\"onBlur()\"\r\n [value]=\"data\"\r\n [rows]=\"linhas\" \r\n (input)=\"writeValue(inputArea.value)\"\r\n [disabled]=\"readonly\"\r\n (focus)=\"entered()\"\r\n ></textarea>\r\n </ion-item>\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n \r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n \r\n </div>\r\n </div>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { BaseInputComponent } from '../baseInputComponent';\n\n@Component({\n selector: 'kb-input-cep',\n templateUrl: './input-cep.component.html',\n styleUrls: ['./input-cep.component.scss', './../baseComponent.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: InputCepComponent,\n multi: true\n }]\n})\nexport class InputCepComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\n\n @Input() formato: string | null = '00000-000';\n @Input() keyEnter: Function | null = null;\n @Output() getResultados = new EventEmitter();\n\n //control value acessor\n public data: string | any = null;\n private onChange: Function = (data: string) => { };\n private onTouch: Function = () => { };\n private disabled: boolean = false;\n constructor() {\n super();\n }\n\n writeValue(value: string | any): void {\n //console.log('write value', value);\n this.onChange(value);\n this.data = value;\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = this.disabled;\n }\n\n override ngOnInit(): void {\n }\n\n digitarFormatado(event: any) {\n //console.log(event);\n if ((event.keyCode >= 48 && event.keyCode <= 57)\n || (event.keyCode >= 96 && event.keyCode <= 105)\n || (event.keyCode == 8)\n || (event.keyCode == 9)\n || (event.keyCode == 39)\n || (event.keyCode == 37)\n || (event.keyCode == 46)) {\n\n //console.log(this.formControlName, this.form.get(this.formControlName).value);\n\n setTimeout(() => {\n if (this.form) {\n this.form.patchValue({\n [this.formControlName]: this.formataCampoValor(this.form.get(this.formControlName)?.value, this.formato ?? '', event)\n });\n } else {\n this.data = this.formataCampoValor(this.data ?? '', this.formato ?? '', event);\n this.writeValue(this.data);\n }\n }, 100);\n\n return true;\n }\n else {\n return false;\n }\n }\n\n onKeyEnter() {\n if (this.keyEnter != null) {\n this.keyEnter();\n } else {\n if (this.getResultados != null) {\n this.pesquisarClick();\n }\n }\n }\n\n onBlur() {\n if (this.form) {\n this.form.get(this.formControlName)?.markAsTouched();\n }\n if (this.blur) {\n this.blur.emit(this.blurArgs);\n }\n }\n\n formataCampoValor(valor: string, Mascara: string, evento: any) {\n //console.log(valor);\n if (!valor)\n return null;\n //console.log(evento);\n\n //if (!this.keypressInteiro(evento))\n // return;\n\n var boleanoMascara;\n\n var Digitato = evento != null ? evento.keyCode : 0;\n let exp = /\\-|\\.|\\/|\\(|\\)| /g\n let campoSoNumeros = valor.replace(exp, \"\");\n\n var posicaoCampo = 0;\n var NovoValorCampo = \"\";\n var TamanhoMascara = campoSoNumeros.length;;\n\n if (Digitato != 8) { // backspace \n for (let i = 0; i <= TamanhoMascara; i++) {\n boleanoMascara = ((Mascara.charAt(i) == \"-\") || (Mascara.charAt(i) == \".\")\n || (Mascara.charAt(i) == \"/\"))\n boleanoMascara = boleanoMascara || ((Mascara.charAt(i) == \"(\")\n || (Mascara.charAt(i) == \")\") || (Mascara.charAt(i) == \" \"))\n if (boleanoMascara) {\n NovoValorCampo += Mascara.charAt(i);\n TamanhoMascara++;\n } else {\n NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);\n posicaoCampo++;\n }\n }\n return NovoValorCampo;\n } else {\n return valor;\n }\n }\n\n pesquisarClick() {\n const cep = this.data;\n //se não estiver informado o cep, não fazer a pesquisa\n if (cep == null || cep == \"\") {\n return;\n }\n\n this.getEnderecoPeloCep(cep).subscribe({\n next: (result) => {\n //console.log('result CEP', result);\n\n let cidadePesquisa: string = result.localidade;\n cidadePesquisa = this.converteCaracteresEspeciais(cidadePesquisa.toUpperCase());\n\n if (this.getResultados) {\n this.getResultados.emit(result);\n }\n\n }, error: (error) => {\n\n }\n });\n }\n\n //substituição de caracteres\n converteCaracteresEspeciais(nome: string): string {\n var res = nome.replace(/Ã/g, \"A\");\n res = res.replace(/Á/g, \"A\");\n res = res.replace(/Ç/g, \"C\");\n res = res.replace(/É/g, \"E\");\n res = res.replace(/Â/g, \"A\");\n res = res.replace(/Ô/g, \"O\");\n res = res.replace(/Ó/g, \"O\");\n res = res.replace(/Ú/g, \"U\");\n res = res.replace(/Í/g, \"I\");\n return res;\n }\n\n getEnderecoPeloCep(cep: any): Observable<any> {\n return new Observable((x) => {\n var request = new XMLHttpRequest();\n request.open('get', `https://viacep.com.br/ws/${cep}/json/`, true);\n request.send();\n request.onload = function () {\n var data = JSON.parse(this.response);\n x.next(data)\n }\n })\n }\n}\n","<!--\r\n<div [formGroup]=\"form\">\r\n-->\r\n<!--comando --inner-padding-end: utilizado pra remover padding desnecessários-->\r\n<div>\r\n <ion-item lines=\"none\" style=\"--background: inherited;--background-focused: transparent;--inner-padding-end: 0px;\" [class]=\"itemClass\"\r\n [ngClass]=\"form?.get(formControlName)?.errors && (form?.get(formControlName)?.dirty || form?.get(formControlName)?.touched) ? 'error-shake' : '' \"\r\n >\r\n <ion-label [position]=\"labelPosition\">{{ label }}</ion-label>\r\n <!-- formControlName={{formControlName}} -->\r\n <ion-input #inputCep\r\n type=\"tel\" \r\n [placeholder]=\"placeholder\"\r\n maxlength=\"{{ max }}\" \r\n (keydown)=\"digitarFormatado($event)\" \r\n (keyup.enter)=\"onKeyEnter()\"\r\n (ionBlur)=\"onBlur()\"\r\n [value]=\"data\"\r\n (input)=\"writeValue(inputCep.value)\"\r\n [disabled]=\"readonly\"></ion-input>\r\n\r\n <ion-button size=\"small\" slot=\"end\" tabindex=\"-1\"\r\n style=\"margin-top: 25px; margin-inline-start: 4px !important; --padding-start:2px; --padding-end: 2px;\" fill=\"clear\" color=\"medium\"\r\n (click)=\"pesquisarClick()\">\r\n <ion-icon color=\"primary\" name=\"search\"></ion-icon>\r\n </ion-button>\r\n \r\n </ion-item>\r\n \r\n <div class=\"validation-errors\" *ngIf=\"form\">\r\n <ng-container *ngFor=\"let validation of validation_messages\">\r\n <div class=\"error-message\"\r\n *ngIf=\"form && form.get(formControlName)?.hasError(validation.type) && (form.get(formControlName)?.dirty || form.get(formControlName)?.touched)\">\r\n &#8226; {{ validation.message }}\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>","import { Component, Input, OnInit, ViewChild, ElementRef, EventEmitter, Output } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'kb-input-arquivo',\r\n templateUrl: './input-arquivo.component.html',\r\n styleUrls: ['./input-arquivo.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: InputArquivoComponent,\r\n multi: true\r\n }]\r\n})\r\nexport class InputArquivoComponent implements OnInit, ControlValueAccessor {\r\n @Input() nomeArquivo: string;\r\n\r\n //@Input() disabled: boolean = false;\r\n\r\n @Input() caption: string;\r\n @Input() pasta: string;\r\n @Input() subir: boolean = false;\r\n @Input() callback = new EventEmitter();\r\n @Input() tipoArquivo: string = \"image/*\";\r\n @Output() fileSelected = new EventEmitter();\r\n @Input() form: boolean = false;\r\n @Input() showIcon: boolean = false;\r\n @Input() icon: string;\r\n @Input() iconSrc: string; ///assets/icon/image_primary_24dp.svg\r\n @Input() btnExpand: string = \"block\";\r\n @Input() btnColor: string = \"primary\";\r\n @Input() btnFill: string = \"outline\";\r\n @Input() iconSlot: string = \"start\";\r\n @Input() arquivoTipos: string = \"image/*\";\r\n @Input() readOnly: boolean = false;\r\n\r\n //imagem\r\n @ViewChild('inputNome', { read: ElementRef, static: true }) myInput;\r\n captureDataUrl: string;\r\n public formFile: any;\r\n public sucessoEvent: Subject<boolean> = new Subject();\r\n\r\n data: string;\r\n filename: string;\r\n\r\n private onChange: Function = (selectedColor: string) => { };\r\n private onTouch: Function = () => { };\r\n private disabled: boolean = false;\r\n\r\n showImageBrowser() {\r\n this.myInput.nativeElement.click();\r\n }\r\n\r\n writeValue(value: string): void {\r\n this.onChange(value);\r\n this.data = value;\r\n if (this.callback)\r\n this.callback.emit(this.filename);\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disabled;\r\n }\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n loadImagem() {\r\n //console.log(this.myInput);\r\n this.formFile = this.myInput.nativeElement.files[0];\r\n \r\n if (this.fileSelected) {\r\n this.fileSelected.emit({ content: this.formFile, name: this.myInput.nativeElement.files[0].name });\r\n }\r\n\r\n if (this.form) {\r\n //this.formFile = this.myInput.nativeElement.files[0];\r\n this.sucessoEvent.next(true);\r\n\r\n } else {\r\n //this.formFile = this.myInput.nativeElement.files[0];\r\n this.getBase64FromFile(this.myInput.nativeElement.files[0])\r\n .then(result => {\r\n //console.log('file: ', result.toString());\r\n //console.log('nome do arquivo: ', this.nomeArquivo.toLowerCase());\r\n let searchstr = result.toString().substring(0, result.toString().indexOf('base64,')) + 'base64,';\r\n console.log('searchstring', searchstr);\r\n if (this.subir) {\r\n this.captureDataUrl = result.toString().replace(searchstr, '');\r\n } else {\r\n this.captureDataUrl = result.toString();\r\n }\r\n //this.utils.showToast('Imagem carregada em memória.');\r\n this.sucessoEvent.next(true);\r\n console.log('file', this.myInput.nativeElement.files[0]);\r\n this.filename = this.myInput.nativeElement.files[0].name;\r\n this.writeValue(this.captureDataUrl);\r\n\r\n\r\n\r\n // if (this.nomeArquivo && this.subir) {\r\n // this.arquivoService.setImagem({ Nome: this.nomeArquivo, Conteudo: this.captureDataUrl, Status: 0, Pasta: this.pasta })\r\n // .subscribe(result => {\r\n // console.log('result set imagem', result);\r\n // if (result.Status == 200) {\r\n // this.utils.showToast('Sucesso!');\r\n // } else {\r\n // this.utils.showAlert('Erro. Tente mais tarde.' + result.Conteudo);\r\n // }\r\n // }, error => {\r\n // this.utils.showAlert('Erro. Tente mais tarde.');\r\n // })\r\n // }\r\n\r\n }).catch(error => {\r\n this.sucessoEvent.next(false);\r\n })\r\n }\r\n }\r\n\r\n //util\r\n getBase64FromFile(file: File) {\r\n return new Promise((resolve, reject) => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => resolve(reader.result);\r\n reader.onerror = error => reject(error);\r\n });\r\n }\r\n}\r\n","<!-- style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\" -->\r\n<div style=\"text-align:center;\">\r\n <ion-button [fill]=\"btnFill\" size=\"normal\" [color]=\"btnColor\" \r\n (click)=\"showImageBrowser()\" [expand]=\"btnExpand\" [disabled]=\"readOnly\">\r\n <ion-icon *ngIf=\"showIcon\" class=\"ion-padding-end\" [slot]=\"iconSlot\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\r\n {{ caption }}\r\n </ion-button>\r\n <input type=\"file\" id=\"upimgfile\" name=\"uploadfile\" #inputNome [accept]=\"arquivoTipos\" (change)=\"loadImagem()\"\r\n style=\"display: none;\" />\r\n </div>\r\n ","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseBtnComponent implements OnInit {\r\n @Input() disabled: boolean = false;\r\n @Input() type: string = 'submit';\r\n @Input() icon: string = 'checkmark-outline';\r\n @Input() iconSrc: string = '';\r\n @Input() title: string = 'Salvar';\r\n @Input() fill: string = 'outline';\r\n @Input() expand: string = 'block';\r\n @Output() btnClick = new EventEmitter();\r\n @Input() size: string = 'default';\r\n @Input() iconSlot: string = 'start';\r\n\r\n ngOnInit(): void {\r\n return;\r\n }\r\n\r\n onClick() {\r\n if (this.btnClick)\r\n this.btnClick.emit();\r\n }\r\n\r\n resolveTheme(theme: string) {\r\n //console.log('resolve theme', theme);\r\n // if (theme == 'default') {\r\n // this.fill = 'outline';\r\n // } else {\r\n // this.fill = 'solid';\r\n // }\r\n if (theme == 'windows-theme') {\r\n this.fill = 'solid';\r\n }\r\n }\r\n}","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseBtnComponent } from '../baseBtnComponent';\r\n\r\n@Component({\r\n selector: 'kb-btn-action',\r\n templateUrl: './btn-action.component.html',\r\n styleUrls: ['./btn-action.component.scss'],\r\n})\r\nexport class BtnActionComponent extends BaseBtnComponent implements OnInit {\r\n @Input() override title: string = 'Abrir';\r\n @Input() color: string = 'primary';\r\n @Input() hidden: boolean = false;\r\n @Input() override icon: string = '';\r\n @Input() override iconSrc: string = '';\r\n @Input() imgSrc: string = '';\r\n @Input() boxColor: string = '#4c8dff';\r\n @Input() btnMargin: string = '4px';\r\n @Input() override expand: string = 'block';\r\n @Input() iconStyle: string = '';\r\n @Input() titleStyle: string = '';\r\n buttonStyle: string = ''; \r\n constructor() {\r\n super();\r\n this.type = 'button';\r\n }\r\n\r\n override ngOnInit() {\r\n this.buttonStyle = ''; \r\n } \r\n\r\n}\r\n","<ion-button [color]=\"color\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\"\r\n [size]=\"size\"\r\n [hidden]=\"hidden\" \r\n (click)=\"onClick()\"\r\n > \r\n <ion-icon *ngIf=\"icon || iconSrc\" [slot]=\"title ? iconSlot : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\" [style]=\"iconStyle\"></ion-icon>\r\n <span [style]=\"titleStyle\">{{ title }}</span>\r\n <img *ngIf=\"imgSrc\" [src]=\"imgSrc\" [slot]=\"title ? iconSlot : 'icon-only'\"/>\r\n</ion-button>\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseBtnComponent } from '../baseBtnComponent';\r\n\r\n@Component({\r\n selector: 'kb-btn-cancelar',\r\n templateUrl: './btn-cancelar.component.html',\r\n styleUrls: ['./btn-cancelar.component.scss'],\r\n})\r\nexport class BtnCancelarComponent extends BaseBtnComponent implements OnInit {\r\n //@Input() override iconSrc = \"/assets/icon/limpar_purple_24dp.svg\";\r\n @Input() override icon = \"close-outline\";\r\n @Input() override title: string = 'Cancelar';\r\n //@Input() override icon: string = '';\r\n constructor() { \r\n super();\r\n this.type = 'button';\r\n } \r\n\r\n}\r\n","<ion-button color=\"tertiary\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" \r\n [size]=\"size\"\r\n (click)=\"onClick()\"\r\n > \r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [src]=\"iconSrc\" [name]=\"icon\"></ion-icon>\r\n {{ title }}\r\n</ion-button> \r\n<!-- \r\n<ion-button color=\"tertiary\" fill=\"outline\" (click)=\"cancelarContato()\" style=\"box-shadow: #6370ff 0px 3px 3px 0.05px\"\r\n [disabled]=\"!selectedContato\">\r\n <ion-icon src=\"/assets/icon/limpar_purple_24dp.svg\"></ion-icon>\r\n Cancelar\r\n</ion-button>\r\n-->","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseBtnComponent } from '../baseBtnComponent';\r\n\r\n@Component({\r\n selector: 'kb-btn-excluir',\r\n templateUrl: './btn-excluir.component.html',\r\n styleUrls: ['./btn-excluir.component.scss'],\r\n})\r\nexport class BtnExcluirComponent extends BaseBtnComponent implements OnInit {\r\n @Input() override type: string = 'button';\r\n @Input() override expand: string = 'inline';\r\n @Input() override icon: string = 'trash'; \r\n @Input() override title: string = 'Excluir'; \r\n constructor() { \r\n super();\r\n }\r\n \r\n}\r\n","<ion-button color=\"danger\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" [size]=\"size\"\r\n (click)=\"onClick()\"\r\n > \r\n <ion-icon *ngIf=\"icon\" [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\r\n {{ title }}\r\n</ion-button> \r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { BaseBtnComponent } from '../baseBtnComponent';\r\n\r\n@Component({\r\n selector: 'kb-btn-novo',\r\n templateUrl: './btn-novo.component.html',\r\n styleUrls: ['./btn-novo.component.scss'],\r\n})\r\nexport class BtnNovoComponent extends BaseBtnComponent implements OnInit {\r\n @Input() override title: string = 'Novo';\r\n @Input() override icon: string = 'person-add'; \r\n @Input() override iconSrc: string = '';\r\n @Input() override expand: string = 'block';\r\n @Input() imgSrc: string = '';\r\n constructor() {\r\n super();\r\n this.type = 'button'; \r\n }\r\n \r\n}\r\n","<ion-button color=\"primary\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" \r\n [size]=\"size\"\r\n (click)=\"onClick()\"\r\n > \r\n <ion-icon *ngIf=\"icon || iconSrc\" [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\" [src]=\"iconSrc\"></ion-icon>\r\n {{ title }}\r\n <img *ngIf=\"imgSrc\" [src]=\"imgSrc\" [slot]=\"title ? 'start' : 'icon-only'\"/>\r\n</ion-button> \r\n<!-- \r\n<ion-button (click)=\"novoContato()\" fill=\"outline\" style=\"box-shadow: #4c8dff 0px 3px 3px 0.05px\">\r\n <ion-icon slot=\"start\" name=\"person-add\"></ion-icon>\r\n Novo\r\n</ion-button>\r\n-->","import { Component, Input, OnInit, Output } from '@angular/core';\r\nimport { EventEmitter } from '@angular/core';\r\nimport { BaseBtnComponent } from '../baseBtnComponent';\r\n\r\n@Component({\r\n selector: 'kb-btn-salvar',\r\n templateUrl: './btn-salvar.component.html',\r\n styleUrls: ['./btn-salvar.component.scss'],\r\n})\r\nexport class BtnSalvarComponent extends BaseBtnComponent implements OnInit {\r\n @Input() btnMargin: string = '4px';\r\n constructor() { \r\n super();\r\n } \r\n \r\n}\r\n","<ion-button color=\"success\" [type]=\"type\" [disabled]=\"disabled\" [fill]=\"fill\" [expand]=\"expand\" \r\n [size]=\"size\"\r\n (click)=\"onClick()\"\r\n [style.margin]=\"btnMargin\"\r\n > \r\n <ion-icon [slot]=\"title ? 'start' : 'icon-only'\" [name]=\"icon\"></ion-icon>\r\n {{ title }}\r\n</ion-button>","import { Component, Input, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BaseInputComponent } from '../baseInputComponent';\n\n@Component({\n selector: 'kb-input-checkbox',\n templateUrl: './input-checkbox.component.html',\n styleUrls: ['./input-checkbox.component.scss', './../baseComponent.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: InputCheckboxComponent,\n multi: true\n }]\n})\nexport class InputCheckboxComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\n\n @Input() justify: string = \"start\";\n @Input() labelPlacement: string = \"end\";\n //control value acessor\n public data!: boolean | undefined;\n private onChange: Function = (data: string) => { };\n private onTouch: Function = () => { };\n private disabled: boolean = false;\n public console = console;\n\n writeValue(value?: any): void {\n console.log('write value', value);\n this.onChange(value);\n this.data = value;\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = this.disabled;\n }\n constructor() {\n super();\n }\n\n \n\n override ngOnInit(): void {\n }\n}\n","<div>\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px;\" [class]=\"itemClass\">\n <ion-checkbox #inputCheck\n [labelPlacement]=\"labelPlacement\" [justify]=\"justify\" \n [disabled]=\"readonly\"\n [checked]=\"data\"\n (ionChange)=\"writeValue(inputCheck.checked)\">\n {{ label }}\n </ion-checkbox>\n </ion-item>\n</div>","import { Component, Input, OnInit } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BaseInputComponent } from '../baseInputComponent';\n\n@Component({\n selector: 'kb-input-radio',\n templateUrl: './input-radio.component.html',\n styleUrls: ['./input-radio.component.scss', './../baseComponent.scss'],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: InputRadioComponent,\n multi: true\n }]\n})\nexport class InputRadioComponent extends BaseInputComponent implements OnInit, ControlValueAccessor {\n @Input() itens: any[] = [];\n @Input() itemId: string = \"Id\";\n @Input() itemNome: string = \"Nome\";\n @Input() color: string = \"primary\";\n //control value acessor\n public data!: string | undefined;\n private onChange: Function = (data: string) => { };\n private onTouch: Function = () => { };\n private disabled: boolean = false;\n public console = console;\n\n writeValue(value?: any): void {\n //console.log('write value', value);\n this.onChange(value);\n this.data = value;\n }\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: any): void {\n this.onTouch = fn;\n }\n setDisabledState?(isDisabled: boolean): void {\n this.disabled = this.disabled;\n }\n constructor() {\n super();\n }\n\n override ngOnInit(): void {\n }\n\n\n}\n","<div>\n <ion-item lines=\"none\" style=\"--background: inherited; --background-focused: transparent; padding-right: 0px;\" [class]=\"itemClass\"\n [style.opacity]=\"readonly ? '0.5' : '1'\">\n <ion-radio-group [disabled]=\"readonly\" #inputRadio \n [value]=\"data\"\n (ionChange)=\"writeValue(inputRadio.value)\">\n <span style=\"font-size: 13px\">\n {{ label }}\n </span>\n <ion-row>\n <ion-col *ngFor=\"let item of itens\">\n <ion-radio style=\"margin-right: 12px;\" [color]=\"color\" \n labelPlacement=\"end\" \n justify=\"start\"\n [value]=\"item[itemId]\">\n {{ item[itemNome] }}</ion-radio><br />\n </ion-col>\n </ion-row>\n </ion-radio-group>\n </ion-item>\n</div>","import { Component, Input, NgZone, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { BaseModel, HtmlRow } from 'appproject-lib';\n\n@Component({\n selector: 'kb-entity-edit',\n //standalone: true,\n templateUrl: './entity-edit.component.html',\n styleUrl: './entity-edit.component.scss'\n})\nexport class EntityEditComponent<T extends BaseModel> implements OnInit {\n @Input() entidade: T | null;\n //entidade: any;\n /**\n * Vai receber montado do base cadastro\n */\n @Input() campos: HtmlRow[];\n @Input() entidadeForm: FormGroup;\n @Input() validation_messages: any;\n @Input() itemClass: string = \"\";\n @Input() rowClass: string = \"\";\n constructor(private ngZone: NgZone) {\n\n }\n\n ngOnInit() {\n //this.getEntidadeCampos();\n }\n\n getEntidadeCampos() {\n //this.entidade = new this.entidadeTipo();\n\n // console.log(this.entidade);\n // this.ngZone.run(() => \n // this.campos = this.entidade.getHtmlForm()\n // );\n // console.log(this.campos);\n }\n\n emptyHandler() {\n\n }\n}\n","<form *ngIf=\"campos && campos.length\" [formGroup]=\"entidadeForm\" style=\"width: 100%;\">\n\n\n <ion-row *ngFor=\"let linha of campos\" [class]=\"rowClass\">\n <ng-container *ngFor=\"let campo of linha.Linha\">\n <!-- {{ campo.Nome }} {{ campo.Tipo }} -->\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-text'\">\n <kb-input-text label=\"{{campo.Label ?? campo.Nome}}\" [placeholder]=\"campo.PlaceHolderVisivel ? (campo.Label ?? campo.Nome + '...') : ''\"\n [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco\" [readonly]=\"campo.ReadOnly\" \n [type]=\"campo.TipoInput ?? 'text'\" \n [showSeePassword]=\"campo.TipoInput == 'password'\"\n [showCustomAction]=\"campo.InputAction\"\n [customActionIcon]=\"campo.InputActionIcon ?? 'search-outline'\"\n (customActionClick)=\"campo.click ? campo.click($event) : emptyHandler()\"\n\n [itemClass]=\"itemClass\">\n </kb-input-text>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-area'\">\n <kb-input-area label=\"{{campo.Label ?? campo.Nome}}\" placeholder=\"{{campo.Label ?? campo.Nome}}...\"\n [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n [formControlName]=\"campo.Nome\" [campoFoco]=\"campo.CampoFoco\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n </kb-input-area>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-cep'\">\n <kb-input-cep label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\"\n (getResultados)=\"campo.change ? campo.change($event) : emptyHandler()\"\n >\n </kb-input-cep>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-valor'\">\n <kb-input-valor label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n </kb-input-valor>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-format'\">\n <kb-input-format label=\"{{campo.Label ?? campo.Nome}}\" [form]=\"entidadeForm\" [max]=\"campo.Tamanho ?? '50'\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco\" [readonly]=\"campo.ReadOnly\" [formato]=\"campo.Formato ?? ''\"\n [itemClass]=\"itemClass\">\n </kb-input-format>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-checkbox'\">\n <kb-input-checkbox label=\"{{ campo.Label }}\" [form]=\"entidadeForm\"\n [validation_messages]=\"validation_messages[campo.Nome]\" [formControlName]=\"campo.Nome\"\n [campoFoco]=\"campo.CampoFoco\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n\n </kb-input-checkbox>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-select'\">\n <kb-input-select [label]=\"campo.Label ?? campo.Nome\" [placeholder]=\"'Selecionar...'\"\n [formControlName]=\"campo.Nome\" [form]=\"entidadeForm\" [itens]=\"campo.Itens\" [itemId]=\"campo.ItemId ?? 'Id'\"\n [itemNome]=\"campo.ItemNome ?? 'Nome'\" [validation_messages]=\"validation_messages[campo.Nome]\"\n (selectChangeEntity)=\"campo.change ? campo.change($event) : emptyHandler()\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n </kb-input-select>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-radio'\">\n <kb-input-radio [label]=\"campo.Label ?? campo.Nome\" [formControlName]=\"campo.Nome\" [form]=\"entidadeForm\"\n [itens]=\"campo.Itens\" [itemId]=\"campo.ItemId\" [itemNome]=\"campo.ItemNome\" [readonly]=\"campo.ReadOnly\"\n [itemClass]=\"itemClass\">\n </kb-input-radio>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-pesquisa'\">\n <kb-input-pesquisa #pesquisaCentroCustoPai [label]=\"campo.Label ?? campo.Nome\" [campoId]=\"campo.ItemId\"\n [formControlName]=\"campo.Nome\" placeholder=\"Pesquisar...\" [campoDisplay]=\"'Nome'\" [form]=\"entidadeForm\"\n tipo=\"Empresa\" urlItem=\"Empresa/<<ID>>\" max=\"50\" [url]=\"campo.UrlPesquisa\" [readonly]=\"campo.ReadOnly\"\n (pesquisaChange)=\"campo.change ? campo.change($event) : emptyHandler()\"\n [itemClass]=\"itemClass\">\n </kb-input-pesquisa>\n </ion-col>\n\n <ion-col [sizeMd]=\"campo.Size\" *ngIf=\"campo.Tipo == 'input-button'\">\n <!-- \n <kb-btn-action [title]=\"campo.Label\" [icon]=\"campo.Icon\" [iconSrc]=\"campo.IconSrc\" [color]=\"campo.BtnColor ?? 'light'\" \n [expand]=\"campo.BtnExpand ?? 'block'\" style=\"margin-top: var(--btn-action-margin-top, auto);\">\n </kb-btn-action>\n -->\n <ion-button [expand]=\"campo.BtnExpand ?? 'block'\" [color]=\"campo.BtnColor ?? 'light'\"\n (click)=\"campo.click ? campo.click($event) : emptyHandler()\" [size]=\"campo.BtnSize ?? 'default'\"\n [disabled]=\"campo.ReadOnly\">\n <ion-icon *ngIf=\"campo.Icon || campo.IconSrc\" [name]=\"campo.Icon\" [src]=\"campo.IconSrc\"></ion-icon>\n {{ campo.Label }}\n </ion-button>\n </ion-col>\n\n <ion-col *ngIf=\"campo.Tipo == 'col'\" size-md=\"1\" size-xs=\"0\">\n\n </ion-col>\n\n <ion-col *ngIf=\"campo.Tipo == 'sub-titulo'\" size=\"12\">\n <ion-list lines=\"none\" class=\"ion-no-padding\">\n <ion-list-header color=\"primary\">\n <ion-label>{{ campo.Label }}</ion-label>\n </ion-list-header>\n </ion-list>\n </ion-col>\n </ng-container>\n </ion-row>\n\n <!--\n <ion-col class=\"select ion-no-margin ion-no-padding\">\n <ion-item lines=\"none\">\n <ion-label>Totalizador</ion-label>\n <ion-checkbox slot=\"start\" formControlName=\"Totalizador\"></ion-checkbox>\n </ion-item>\n </ion-col>\n <ion-col class=\"select ion-no-margin ion-no-padding\">\n <ion-item lines=\"none\">\n <ion-label>Inativo</ion-label>\n <ion-checkbox slot=\"start\" formControlName=\"Inativo\"></ion-checkbox>\n </ion-item>\n </ion-col>\n -->\n</form>","import { CUSTOM_ELEMENTS_SCHEMA, InjectionToken, ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { AppprojectComponentsComponent } from './appproject-components.component';\r\nimport { InputTextComponent } from './input-text/input-text.component';\r\nimport { InputFormatComponent } from './input-format/input-format.component';\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { IonicModule } from '@ionic/angular';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { AppprojectComponentsService } from './appproject-components.service';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { InputSelectComponent } from './input-select/input-select.component';\r\nimport { InputPesquisaComponent } from './input-pesquisa/input-pesquisa.component';\r\nimport { ModelTreeviewComponent } from './model-treeview/model-treeview.component';\r\nimport { InputValorComponent } from './input-valor/input-valor.component';\r\nimport { InputAreaComponent } from './input-area/input-area.component';\r\nimport { InputCepComponent } from './input-cep/input-cep.component';\r\nimport { InputArquivoComponent } from './input-arquivo/input-arquivo.component';\r\nimport { BtnActionComponent } from './buttons/btn-action/btn-action.component';\r\nimport { BtnCancelarComponent } from './buttons/btn-cancelar/btn-cancelar.component';\r\nimport { BtnExcluirComponent } from './buttons/btn-excluir/btn-excluir.component';\r\nimport { BtnNovoComponent } from './buttons/btn-novo/btn-novo.component';\r\nimport { BtnSalvarComponent } from './buttons/btn-salvar/btn-salvar.component';\r\nimport { EntityEditComponent } from './entity-edit/entity-edit.component';\r\nimport { LibConfig } from './lib-config';\r\nimport { InputCheckboxComponent } from './input-checkbox/input-checkbox.component';\r\nimport { InputRadioComponent } from './input-radio/input-radio.component';\r\n\r\n\r\nexport const LibConfigService = new InjectionToken<LibConfig>('LibConfig');\r\n\r\n@NgModule({\r\n declarations: [\r\n AppprojectComponentsComponent,\r\n InputTextComponent,\r\n InputFormatComponent,\r\n InputSelectComponent,\r\n InputPesquisaComponent,\r\n ModelTreeviewComponent,\r\n InputValorComponent,\r\n InputAreaComponent,\r\n InputCepComponent,\r\n InputArquivoComponent,\r\n BtnActionComponent,\r\n BtnCancelarComponent,\r\n BtnExcluirComponent,\r\n BtnNovoComponent,\r\n BtnSalvarComponent,\r\n EntityEditComponent,\r\n InputCheckboxComponent,\r\n InputRadioComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n IonicModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [\r\n AppprojectComponentsComponent,\r\n InputTextComponent,\r\n InputFormatComponent,\r\n InputSelectComponent,\r\n InputPesquisaComponent,\r\n ModelTreeviewComponent,\r\n InputValorComponent,\r\n InputAreaComponent,\r\n InputCepComponent,\r\n InputArquivoComponent,\r\n BtnActionComponent,\r\n BtnCancelarComponent,\r\n BtnExcluirComponent,\r\n BtnNovoComponent,\r\n BtnSalvarComponent,\r\n EntityEditComponent,\r\n InputCheckboxComponent,\r\n InputRadioComponent\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class AppprojectComponentsModule {\r\n static forRoot(config: LibConfig): ModuleWithProviders<AppprojectComponentsModule> {\r\n return {\r\n ngModule: AppprojectComponentsModule,\r\n providers: [\r\n AppprojectComponentsService,\r\n {\r\n provide: 'LibConfigService',\r\n useValue: config\r\n }\r\n ]\r\n }\r\n }\r\n}\r\n","/*\r\n * Public API Surface of appproject-components\r\n */\r\n\r\nexport * from './lib/appproject-components.service';\r\nexport * from './lib/appproject-components.component';\r\nexport * from './lib/appproject-components.module';\r\n//export manual dos componentes criados\r\nexport * from './lib/baseInputComponent';\r\nexport * from './lib/input-text/input-text.component';\r\nexport * from './lib/input-format/input-format.component';\r\nexport * from './lib/input-select/input-select.component';\r\nexport * from './lib/input-pesquisa/input-pesquisa.component';\r\nexport * from './lib/input-valor/input-valor.component';\r\nexport * from './lib/model-treeview/model-treeview.component';\r\nexport * from './lib/input-area/input-area.component';\r\nexport * from './lib/input-cep/input-cep.component';\r\nexport * from './lib/input-arquivo/input-arquivo.component';\r\nexport * from './lib/entity-edit/entity-edit.component';\r\nexport * from './lib/input-checkbox/input-checkbox.component';\r\nexport * from './lib/input-radio/input-radio.component';\r\n//buttons\r\nexport * from './lib/buttons/btn-action/btn-action.component';\r\nexport * from './lib/buttons/btn-cancelar/btn-cancelar.component';\r\nexport * from './lib/buttons/btn-excluir/btn-excluir.component';\r\nexport * from './lib/buttons/btn-novo/btn-novo.component';\r\nexport * from './lib/buttons/btn-salvar/btn-salvar.component';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3","i4.InputTextComponent","i5.InputFormatComponent","i6.InputSelectComponent","i7.InputPesquisaComponent","i8.InputValorComponent","i9.InputAreaComponent","i10.InputCepComponent","i11.InputCheckboxComponent","i12.InputRadioComponent"],"mappings":"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"}
@@ -18,7 +18,7 @@ export declare class InputSelectComponent extends BaseInputComponent implements
18
18
  private onTouch;
19
19
  private disabled;
20
20
  console: Console;
21
- writeValue(value: string): void;
21
+ writeValue(value: string | any): void;
22
22
  registerOnChange(fn: any): void;
23
23
  registerOnTouched(fn: any): void;
24
24
  setDisabledState?(isDisabled: boolean): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appproject-components",
3
- "version": "1.0.35",
3
+ "version": "1.0.36",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^17.0.7",
6
6
  "@angular/core": "^17.0.7",