ps-toolkit-ui 1.6.34 → 1.6.35

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.
@@ -1,4 +1,4 @@
1
- import { InputError } from './enum.class';
1
+ import { InputError, InputType } from './enum.class';
2
2
  import * as moment from 'jalali-moment';
3
3
  import * as $ from 'jquery';
4
4
  // @dynamic
@@ -334,7 +334,12 @@ export class HelperClass {
334
334
  try {
335
335
  // @ts-ignore
336
336
  window[fn] = (s) => {
337
- inp.setValue(s, false);
337
+ if (inp.type === InputType.SelectAutoComplete) {
338
+ inp.setSearch(s);
339
+ }
340
+ else {
341
+ inp.setValue(s, false);
342
+ }
338
343
  setTimeout(() => {
339
344
  $('#' + inp.name + 'Input .control').click();
340
345
  inp.focus();
@@ -348,4 +353,4 @@ export class HelperClass {
348
353
  }
349
354
  }
350
355
  }
351
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jbGFzc2VzL2hlbHBlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRXhDLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBRTVCLFdBQVc7QUFDWCxNQUFNLE9BQU8sV0FBVztJQUN0QixNQUFNLENBQUMsUUFBUSxDQUFDLEdBQWU7UUFDN0IsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDbkQsSUFBSSxHQUFHLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxRQUFRLEVBQUU7WUFDckMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO2FBQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxPQUFPLEVBQUU7WUFDM0MsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3JDO2FBQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDMUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ3JEO2FBQU0sSUFBSSxHQUFHLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxTQUFTLEVBQUU7WUFDN0MsT0FBTyxHQUFHLENBQUMs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RUFBQztvQkFDckMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUM5QjtZQUNILENBQUMsQ0FBQztTQUNIO1FBQUMsT0FBTyxDQUFDLEVBQUU7U0FDWDtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5wdXRFcnJvcn0gZnJvbSAnLi9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dENsYXNzfSBmcm9tICcuL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnamFsYWxpLW1vbWVudCc7XHJcbmltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBIZWxwZXJDbGFzcyB7XHJcbiAgc3RhdGljIGdldExhYmVsKGlucDogSW5wdXRDbGFzcyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBuID0gaW5wLmxhYmVsICE9IG51bGwgPyBpbnAubGFiZWwgOiBpbnAubmFtZTtcclxuICAgIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuUmVxdWlyZWQpIHtcclxuICAgICAgcmV0dXJuIGlucC5sKCdGb3JtRXJyb3JSZXF1aXJlZCcsIG4pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuSW52YWxpZCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvckludmFsaWQnLCBuKTtcclxuICAgIH0gZWxzZSBpZiAoaW5wLmVycm9yID09PSBJbnB1dEVycm9yLkxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvckxlbmd0aCcsIFtuLCBpbnAubWluTGVuZ3RoXSk7XHJcbiAgICB9IGVsc2UgaWYgKGlucC5lcnJvciA9PT0gSW5wdXRFcnJvci5NaW5MZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIGlucC5sKCdGb3JtRXJyb3JNaW5MZW5ndGgnLCBbbiwgaW5wLm1pbkxlbmd0aF0pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuTWF4TGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBpbnAubCgnRm9ybUVycm9yTWF4TGVuZ3RoJywgW24sIGlucC5tYXhMZW5ndGhdKTtcclxuICAgIH0gZWxzZSBpZiAoaW5wLmVycm9yID09PSBJbnB1dEVycm9yLk1pbkFtb3VudCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvck1pbkFtb3VudCcsIFtuLCBpbnAubWluTGVuZ3RoXSk7XHJcbiAgICB9IGVsc2UgaWYgKGlucC5lcnJvciA9PT0gSW5wdXRFcnJvci5NYXhBbW91bnQpIHtcclxuICAgICAgcmV0dXJuIGlucC5sKCdGb3JtRXJyb3JNYXhBbW91bnQnLCBbbiwgaW5wLm1heExlbmd0aF0pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuRXhwaXJlZCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvckV4cGlyZWQnLCBuKTtcclxuICAgIH0gZWxzZSBpZiAoaW5wLmVycm9yID09PSBJbnB1dEVycm9yLldyb25nKSB7XHJcbiAgICAgIHJldHVybiBpbnAubCgnRm9ybUVycm9yV3JvbmcnLCBuKTtcclxuICAgIH0gZWxzZSBpZiAoaW5wLmVycm9yID09PSBJbnB1dEVycm9yLkVycm9yKSB7XHJcbiAgICAgIHJldHVybiBpbnAubCgnRm9ybUVycm9yJywgbik7XHJcbiAgICB9IGVsc2UgaWYgKGlucC5lcnJvciA9PT0gSW5wdXRFcnJvci5Ob3RNYXRjaCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvck5vdE1hdGNoJywgaW5wLm1hdGNoLm5hbWUpO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuRXhpc3QpIHtcclxuICAgICAgcmV0dXJuIGlucC5sKCdGb3JtRXJyb3JFeGlzdCcsIG4pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuTm90RXhpc3QpIHtcclxuICAgICAgcmV0dXJuIGlucC5sKCdGb3JtRXJyb3JOb3RFeGlzdCcsIG4pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuTm90QWxsb3dlZCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvck5vdEFsbG93ZWQnLCBbbiwgaW5wLmFsbG93ZWQuam9pbignLCAnKV0pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuTWF4Q29udGVudCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvck1heENvbnRlbnQnLCBbbiwgaW5wLm1heExlbmd0aF0pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuVXBsb2FkKSB7XHJcbiAgICAgIHJldHVybiBpbnAubCgnRm9ybUVycm9yVXBsb2FkJywgbik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBkZXNjID0gaW5wLmRlc2NyaXB0aW9uICE9PSBudWxsID8gJyAoJyArIGlucC5sKGlucC5kZXNjcmlwdGlvbikgKyAnKScgOiAnJztcclxuICAgIHJldHVybiBpbnAubChuKSArIGRlc2M7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbmF0aW9uYWxDb2RlVmFsaWQoYyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFSZWdFeHAoL15cXGR7MTB9JC8pLnRlc3QoYykgfHwgUmVnRXhwKC9eKC4pXFwxKyQvKS50ZXN0KGMpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNoZWNrID0gcGFyc2VJbnQoY1s5XSwgMTApO1xyXG4gICAgbGV0IHN1bSA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDk7ICsraSkge1xyXG4gICAgICBzdW0gKz0gcGFyc2VJbnQoY1tpXSwgMTApICogKDEwIC0gaSk7XHJcbiAgICB9XHJcbiAgICBzdW0gJT0gMTE7XHJcbiAgICByZXR1cm4gKHN1bSA8IDIgJiYgY2hlY2sgPT09IHN1bSkgfHwgKHN1bSA+PSAyICYmIGNoZWNrICsgc3VtID09PSAxMSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNvNzA2NE1vZDk3XzEwKGliYW4pOiBudW1iZXJ7XHJcbiAgICBsZXQgcmVtYWluZGVyID0gaWJhbjtcclxuICAgIHdoaWxlIChyZW1haW5kZXIubGVuZ3RoID4gMil7XHJcbiAgICAgIGNvbnN0IGJsb2NrID0gcmVtYWluZGVyLnNsaWNlKDAsIDkpO1xyXG4gICAgICByZW1haW5kZXIgPSBwYXJzZUludChibG9jaywgMTApICUgOTcgKyByZW1haW5kZXIuc2xpY2UoYmxvY2subGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGFyc2VJbnQocmVtYWluZGVyLCAxMCkgJSA5NztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBzaGViYVZhbGlkKHN0cik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGF0dGVybiA9IC9JUlswLTldezI0fS87XHJcbiAgICBpZiAoIXN0ci5zdGFydFdpdGgoJ0lSJykpe1xyXG4gICAgICBzdHIgPSAnSVInICsgc3RyO1xyXG4gICAgfVxyXG4gICAgaWYgKHN0ci5sZW5ndGggIT09IDI2KSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXBhdHRlcm4udGVzdChzdHIpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbmV3U3RyID0gc3RyLnN1YnN0cig0KTtcclxuICAgIGNvbnN0IGQxID0gc3RyLmNoYXJDb2RlQXQoMCkgLSA2NSArIDEwO1xyXG4gICAgY29uc3QgZDIgPSBzdHIuY2hhckNvZGVBdCgxKSAtIDY1ICsgMTA7XHJcbiAgICBuZXdTdHIgKz0gZDEudG9TdHJpbmcoKSArIGQyLnRvU3RyaW5nKCkgKyBzdHIuc3Vic3RyKDIsIDIpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmlzbzcwNjRNb2Q5N18xMChuZXdTdHIpID09PSAxO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHBvc3RhbENvZGVWYWxpZChjKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gUmVnRXhwKC9eXFxiKD8hKFxcZClcXDF7M30pWzEzLTldezR9WzEzNDYtOV1bMDEzLTldezV9XFxiJC8pLnRlc3QoYyk7XHJcbiAgfVxyXG4gIHN0YXRpYyByYW5kb20obGVuZ3RoLCB1cHBlciA9IHRydWUsIGxvd2VyID0gdHJ1ZSwgbnVtID0gdHJ1ZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICBjb25zdCBjaGFyYWN0ZXJzID0gYCR7dXBwZXIgPyAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonIDogJyd9JHtsb3dlciA/ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicgOiAnJ30ke251bSA/ICcxMjM0NTY3ODknIDogJyd9YDtcclxuICAgIGNvbnN0IGNoYXJhY3RlcnNMZW5ndGggPSBjaGFyYWN0ZXJzLmxlbmd0aDtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKysgKSB7XHJcbiAgICAgIHJlc3VsdCArPSBjaGFyYWN0ZXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzTGVuZ3RoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuICBzdGF0aWMgc2V0Q29va2llKG5hbWUsIHZhbHVlLCBob3VycyA9IDMwICogMjQpOiB2b2lkIHtcclxuICAgIGxldCBleHBpcmVzID0gJyc7XHJcbiAgICBpZiAoaG91cnMpIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGRhdGUuc2V0VGltZShkYXRlLmdldFRpbWUoKSArIChob3VycyAqIDYwICogNjAgKiAxMDAwKSk7XHJcbiAgICAgIGV4cGlyZXMgPSAnOyBleHBpcmVzPScgKyBkYXRlLnRvVVRDU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICBkb2N1bWVudC5jb29raWUgPSBuYW1lICsgJz0nICsgKHZhbHVlIHx8ICcnKSAgKyBleHBpcmVzICsgJzsgcGF0aD0vJztcclxuICB9XHJcbiAgc3RhdGljIGdldENvb2tpZShuYW1lLCBkZWYgPSBudWxsKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IG5hbWVFUSA9IG5hbWUgKyAnPSc7XHJcbiAgICBjb25zdCBjYSA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xyXG4gICAgZm9yIChsZXQgYyBvZiBjYSkge1xyXG4gICAgICB3aGlsZSAoYy5jaGFyQXQoMCkgPT09ICcgJyl7XHJcbiAgICAgICAgYyA9IGMuc3Vic3RyaW5nKDEsIGMubGVuZ3RoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYy5pbmRleE9mKG5hbWVFUSkgPT09IDApe1xyXG4gICAgICAgIHJldHVybiBjLnN1YnN0cmluZyhuYW1lRVEubGVuZ3RoLCBjLmxlbmd0aCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkZWY7XHJcbiAgfVxyXG4gIHN0YXRpYyBlcmFzZUNvb2tpZShuYW1lKTogdm9pZCB7XHJcbiAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKVxyXG4gICAgICAuZm9yRWFjaCgoYykgPT4geyBkb2N1bWVudC5jb29raWUgPSBjLnJlcGxhY2UoL14gKy8sICcnKS5yZXBsYWNlKC89LiovLCAnPTtleHBpcmVzPScgKyBuZXcgRGF0ZSgpLnRvVVRDU3RyaW5nKCkgKyAnO3BhdGg9LycpOyB9KTtcclxuICB9XHJcbiAgc3RhdGljIGdldERhdGVEaWYobCwgZHQ6IHN0cmluZyk6IHN0cmluZ3tcclxuICAgIGNvbnN0IGQgPSBwYXJzZUludChkdC5zdWJzdHJpbmcoNiwgZHQubGVuZ3RoIC0gMiksIDEwKTtcclxuICAgIGNvbnN0IG5vdyA9IG1vbWVudC5ub3coKTtcclxuICAgIGNvbnN0IGRpZiA9IChub3cgLSBkKSAvIDEwMDA7XHJcbiAgICBjb25zdCBoID0gTWF0aC5mbG9vcihkaWYgLyAzNjAwKTtcclxuICAgIGNvbnN0IG0gPSBNYXRoLmZsb29yKGRpZiAlIDM2MDAgLyA2MCk7XHJcbiAgICBpZiAoaCA8IDI0KVxyXG4gICAge1xyXG4gICAgICBsZXQgciA9IGggPiAwID8gbCgnSG91clAnLCBoLnRvU3RyaW5nKCkpIDogJyc7XHJcbiAgICAgIHIgKz0gciAhPT0gJycgJiYgbSA+IDAgPyBsKCdBbmQnKSA6ICcnO1xyXG4gICAgICByICs9IG0gPiAwID8gbCgnTWludXRlUCcsIG0udG9TdHJpbmcoKSkgOiAnJztcclxuICAgICAgciArPSByICE9PSAnJyA/ICcnIDogbCgnQUZldycpO1xyXG4gICAgICByICs9ICcgJyArIGwoJ0FnbycpO1xyXG4gICAgICByZXR1cm4gcjtcclxuICAgIH1cclxuICAgIHJldHVybiAnPGRpdiBjbGFzcz1cImx0clwiPicgKyBtb21lbnQoZCkubG9jYWxlKCdmYScpLmZvcm1hdCgnallZWVkvak1NL2pERCBISDptbScpICsgJzwvZGl2Pic7XHJcbiAgfVxyXG4gIHN0YXRpYyBnZXRSb3dFbnVtKGwsIGUsIGR0KTogc3RyaW5ne1xyXG4gICAgY29uc3QgdiA9IGUuZmluZCh4ID0+IHguVmFsdWUgPT09IGR0KTtcclxuICAgIHJldHVybiBgPHNwYW4gY2xhc3M9XCJzdGF0dXMgJHt2LkNsYXNzfVwiPmAgKyBsKHYuTmFtZSkgKyAnPC9zcGFuPic7XHJcbiAgfVxyXG4gIHN0YXRpYyBnZXROb3coKTogYW55e1xyXG4gICAgcmV0dXJuIG1vbWVudC5ub3coKTtcclxuICB9XHJcbiAgc3RhdGljIGdldE1vbWVudChpID0gbnVsbCwgZiA9IG51bGwpOiBhbnl7XHJcbiAgICBpZiAoaSA9PSBudWxsKXtcclxuICAgICAgcmV0dXJuIG1vbWVudCgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1vbWVudChpLCBmKTtcclxuICB9XHJcbiAgc3RhdGljIGdldERhdGVSZW1haW4obCwgZHQ6IHN0cmluZyk6IHN0cmluZ3tcclxuICAgIGNvbnN0IGQgPSBwYXJzZUludChkdC5zdWJzdHJpbmcoNiwgZHQubGVuZ3RoIC0gMiksIDEwKTtcclxuICAgIGNvbnN0IG5vdyA9IG1vbWVudC5ub3coKTtcclxuICAgIGNvbnN0IGRpZiA9IChkIC0gbm93KSAvIDEwMDA7XHJcbiAgICBpZiAoZGlmIDw9IDApXHJcbiAgICB7XHJcbiAgICAgIHJldHVybiBsKCdFbmRlZCcpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaCA9IE1hdGguZmxvb3IoZGlmIC8gMzYwMCk7XHJcbiAgICBjb25zdCBtID0gTWF0aC5mbG9vcihkaWYgJSAzNjAwIC8gNjApO1xyXG4gICAgaWYgKGggPCAyNClcclxuICAgIHtcclxuICAgICAgbGV0IHIgPSBoID4gMCA/IGwoJ0hvdXJQJywgaC50b1N0cmluZygpKSA6ICcnO1xyXG4gICAgICByICs9IHIgIT09ICcnICYmIG0gPiAwID8gbCgnQW5kJykgOiAnJztcclxuICAgICAgciArPSBtID4gMCA/IGwoJ01pbnV0ZVAnLCBtLnRvU3RyaW5nKCkpIDogJyc7XHJcbiAgICAgIHIgKz0gciAhPT0gJycgPyAnJyA6IGwoJ0FGZXcnKTtcclxuICAgICAgciArPSAnICcgKyBsKCdMYXRlcicpO1xyXG4gICAgICByZXR1cm4gcjtcclxuICAgIH1cclxuICAgIHJldHVybiAnPGRpdiBjbGFzcz1cImx0clwiPicgKyBtb21lbnQoZCkubG9jYWxlKCdmYScpLmZvcm1hdCgnallZWVkvak1NL2pERCBISDptbScpICsgJzwvZGl2Pic7XHJcbiAgfVxyXG4gIHN0YXRpYyBnZXREYXRlKGR0OiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nID0gJ2pZWVlZL2pNTS9qREQnKTogc3RyaW5ne1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGR0ID09PSBudWxsKXtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZCA9IHBhcnNlSW50KGR0LnN1YnN0cmluZyg2LCBkdC5sZW5ndGggLSAyKSwgMTApO1xyXG4gICAgICByZXR1cm4gbW9tZW50KGQpLmxvY2FsZSgnZmEnKS5mb3JtYXQoZm9ybWF0KTtcclxuICAgIH1jYXRjaCAoZSkge1xyXG4gICAgICByZXR1cm4gZHQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHN0YXRpYyBnZXRUaW1lKGR0OiBhbnkpOiBzdHJpbmd7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoZHQgPT09IG51bGwpe1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gYCR7KGR0LkhvdXJzID4gOSA/IGR0LkhvdXJzIDogYDAke2R0LkhvdXJzfWApfTokeyhkdC5NaW51dGVzID4gOSA/IGR0Lk1pbnV0ZXMgOiBgMCR7ZHQuTWludXRlc31gKX1gO1xyXG4gICAgfWNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBkdDtcclxuICAgIH1cclxuICB9XHJcbiAgc3RhdGljIGdldERhdGVUaW1lKGR0OiBzdHJpbmcpOiBzdHJpbmd7XHJcbiAgICBpZiAoZHQgPT09IG51bGwpe1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICBjb25zdCBkID0gcGFyc2VJbnQoZHQuc3Vic3RyaW5nKDYsIGR0Lmxlbmd0aCAtIDIpLCAxMCk7XHJcbiAgICByZXR1cm4gbW9tZW50KGQpLmxvY2FsZSgnZmEnKS5mb3JtYXQoJ2pZWVlZL2pNTS9qREQgSEg6bW0nKTtcclxuICB9XHJcbiAgc3RhdGljIGdldEZpbGVTaXplKGJ5dGVzOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc3VmZml4ID0gWyAnQicsICdLQicsICdNQicsICdHQicsICdUQiddO1xyXG4gICAgbGV0IGRibFNCeXRlID0gYnl0ZXM7XHJcbiAgICBsZXQgaSA9IDA7XHJcbiAgICBmb3IgKDsgaSA8IHN1ZmZpeC5sZW5ndGggJiYgYnl0ZXMgPj0gMTAyNDsgaSsrLCBieXRlcyAvPSAxMDI0KVxyXG4gICAge1xyXG4gICAgICBkYmxTQnl0ZSA9IGJ5dGVzIC8gMTAyNC4wO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke2RibFNCeXRlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxyXG4gICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDEsXHJcbiAgICB9KX0gJHtzdWZmaXhbaV19YDtcclxuICB9XHJcbiAgc3RhdGljIGdldFBEYXRlKGwsIHMpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gcy5yZXBsYWNlKC9Ib3VyL2csIGwoJ0hvdXInKSlcclxuICAgICAgLnJlcGxhY2UoL0xlc3NUaGFuTWludXRlL2csIGwoJ0xlc3NUaGFuTWludXRlJykpXHJcbiAgICAgIC5yZXBsYWNlKC9NaW51dGUvZywgbCgnTWludXRlJykpXHJcbiAgICAgIC5yZXBsYWNlKC9BbmQvZywgbCgnQW5kJykpXHJcbiAgICAgIC5yZXBsYWNlKC9BRmV3L2csIGwoJ0FGZXcnKSlcclxuICAgICAgLnJlcGxhY2UoL0ZpbmlzaGVkL2csIGwoJ0ZpbmlzaGVkJykpXHJcbiAgICAgIC5yZXBsYWNlKC9EYXkvZywgbCgnRGF5JykpXHJcbiAgICAgIC5yZXBsYWNlKC9MYXRlci9nLCBsKCdMYXRlcicpKVxyXG4gICAgICAucmVwbGFjZSgvQWdvL2csIGwoJ0FnbycpKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjbG9uZTxUPih2OiBUKTogVCB7XHJcbiAgICBpZiAodiA9PSBudWxsKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY29weSA9IG5ldyAodi5jb25zdHJ1Y3RvciBhcyB7IG5ldygpIH0pKCk7XHJcbiAgICBPYmplY3QuYXNzaWduKGNvcHksIHYpO1xyXG4gICAgcmV0dXJuIGNvcHk7XHJcbiAgfVxyXG4gIHN0YXRpYyBjbG9uZUpzb24oaW5wKTogYW55IHtcclxuICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGlucCkpO1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0TmFtZShuKTogc3RyaW5ne1xyXG4gICAgcmV0dXJuIG4ucmVwbGFjZSgv2qkvZywgJ9mDJykucmVwbGFjZSgv24wvZywgJ9mKJykucmVwbGFjZSgv2KIvZywgJ9iiJyk7XHJcbiAgfVxyXG4gIHN0YXRpYyBhZGROb3RpZmljYXRpb24obSwgZSA9IHRydWUpOiB2b2lke1xyXG4gICAgY29uc3QgaWQgPSBIZWxwZXJDbGFzcy5yYW5kb20oMjApO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXHJcbiAgICAkKCcjTm90aWZpY2F0aW9ucycpLmFwcGVuZCgnPGRpdiBpZD1cIicgKyBpZCArICdcIiBjbGFzcz1cImNvblwiPjxkaXYgY2xhc3M9XCJpdGVtICcgKyAoZSA/ICdlcnJvcicgOiAnc3VjY2VzcycpICsgJ1wiPjxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCI+PC9pPjxkaXY+JyArIG0gKyAnPC9kaXY+PC9kaXY+PC9kaXY+Jyk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgZCA9ICQoJyMnICsgaWQpO1xyXG4gICAgICBkLmZhZGVPdXQoMzAwLCAoKSA9PiB7XHJcbiAgICAgICAgZC5yZW1vdmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9LCA1MDAwKTtcclxuICB9XHJcbiAgc3RhdGljIGNoZWNrQ2FydERpZ2l0KGNvZGUpOiBib29sZWFue1xyXG4gICAgY29uc3QgbCA9IGNvZGUubGVuZ3RoO1xyXG4gICAgaWYgKGwgPCAxNiB8fCBwYXJzZUludChjb2RlLnN1YnN0cigxLCAxMCksIDEwKSA9PT0gMCB8fFxyXG4gICAgICBwYXJzZUludChjb2RlLnN1YnN0cigxMCwgNiksIDEwKSA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBsZXQgcyA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspe1xyXG4gICAgICBjb25zdCBrID0gaSAlIDIgPT09IDAgPyAyIDogMTtcclxuICAgICAgY29uc3QgZCA9IHBhcnNlSW50KGNvZGUuc3Vic3RyKGksIDEpLCAxMCkgKiBrO1xyXG4gICAgICBzICs9IGQgPiA5ID8gZCAtIDkgOiBkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHMgJSAxMCA9PT0gMDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXREYXRhKGtleSwgc3RhdGUsIHBhcmVudCk6IGFueSB7XHJcbiAgICBjb25zdCBkYXRhID0gW107XHJcbiAgICBpZiAocGFyZW50ICYmIHBhcmVudC5zbmFwc2hvdC5kYXRhICYmIHBhcmVudC5zbmFwc2hvdC5kYXRhW2tleV0pIHtcclxuICAgICAgZGF0YS5wdXNoKHBhcmVudC5zbmFwc2hvdC5kYXRhW2tleV0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdGF0ZSAmJiBwYXJlbnQpIHtcclxuICAgICAgZGF0YS5wdXNoKC4uLnRoaXMuZ2V0RGF0YShrZXksIHN0YXRlLCBzdGF0ZS5maXJzdENoaWxkKHBhcmVudCkpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldENvbG9yQnlCZ0NvbG9yKGJnQ29sb3IpOiBzdHJpbmd7XHJcbiAgICBpZiAoIWJnQ29sb3IpIHsgcmV0dXJuICcnOyB9XHJcbiAgICByZXR1cm4gKHBhcnNlSW50KGJnQ29sb3IucmVwbGFjZSgnIycsICcnKSwgMTYpID4gMHhmZmZmZmYgLyAyKSA/ICcjMDAwJyA6ICcjZmZmJztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBxdWVyeVN0cmluZ1RvSlNPTihxcyA9IG51bGwpOiBhbnkge1xyXG4gICAgcXMgPSBxcyB8fCBsb2NhdGlvbi5zZWFyY2guc2xpY2UoMSk7XHJcbiAgICBpZiAocXMgPT09ICcnKXtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFpcnMgPSBxcy5zcGxpdCgnJicpO1xyXG4gICAgY29uc3QgcmVzdWx0ID0ge307XHJcbiAgICBwYWlycy5mb3JFYWNoKChwKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBhaXIgPSBwLnNwbGl0KCc9Jyk7XHJcbiAgICAgIGNvbnN0IGtleSA9IHBhaXJbMF0ucmVwbGFjZSgnJTVCJTVEJywgJycpO1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IGRlY29kZVVSSUNvbXBvbmVudChwYWlyWzFdIHx8ICcnKTtcclxuXHJcbiAgICAgIGlmICggcmVzdWx0W2tleV0gKSB7XHJcbiAgICAgICAgaWYgKCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoIHJlc3VsdFtrZXldICkgPT09ICdbb2JqZWN0IEFycmF5XScgKSB7XHJcbiAgICAgICAgICByZXN1bHRba2V5XS5wdXNoKCB2YWx1ZSApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXN1bHRba2V5XSA9IFsgcmVzdWx0W2tleV0sIHZhbHVlIF07XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVzdWx0KSk7XHJcbiAgfVxyXG4gIHN0YXRpYyBjb3B5VG9DbGlwYm9hcmQodGV4dCk6IHZvaWQge1xyXG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHRleHQpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICBpbnB1dC5zZWxlY3QoKTtcclxuICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGlucHV0KTtcclxuICB9XHJcbiAgc3RhdGljIHNldEJhcmNvZGVSZWFkZXIoaW5wOiBJbnB1dENsYXNzKTogdm9pZCB7XHJcbiAgICBpbnAuYnV0dG9uID0gJ2JsdWUnO1xyXG4gICAgY29uc3QgZm4gPSBpbnAubmFtZSArICdTZXRCYXJjb2RlU2NhblZhbHVlJztcclxuICAgIGlucC5vbkNsaWNrQnV0dG9uID0gKCkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICB3aW5kb3cuSlNJbnRlcmZhY2Uuc3RhcnRCYXJjb2RlU2Nhbihmbik7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRyeSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgd2luZG93W2ZuXSA9IChzKSA9PiB7XHJcbiAgICAgICAgaW5wLnNldFZhbHVlKHMsIGZhbHNlKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICQoJyMnICsgaW5wLm5hbWUgKyAnSW5wdXQgLmNvbnRyb2wnKS5jbGljaygpO1xyXG4gICAgICAgICAgaW5wLmZvY3VzKCk7XHJcbiAgICAgICAgfSwgMTAwKTtcclxuICAgICAgICBpZiAoaW5wLm9uQmFyY29kZVJlYWRlckNoYW5nZSAhPT0gbnVsbCl7XHJcbiAgICAgICAgICBpbnAub25CYXJjb2RlUmVhZGVyQ2hhbmdlKHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
356
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IkQ6L1Byb2plY3RzL1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jbGFzc2VzL2hlbHBlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUVuRCxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixXQUFXO0FBQ1gsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFlO1FBQzdCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ25ELElBQUksR0FBRyxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQ3JDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN0QzthQUFNLElBQUksR0FBRyxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsT0FBTyxFQUFFO1lBQzNDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNyQzthQUFNLElBQUksR0FBRyxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQzFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUNyRDthQUFNLElBQUksR0FBRyxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsU0FBUyxFQUFFO1lBQzdDLE9BQU8s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QUFDLEVBQUUsRUFBVTtRQUM3QixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2RCxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDekIsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQzdCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQ1Y7WUFDRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDOUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0IsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEIs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QUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDN0MsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNkLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDUixJQUFJLEdBQUcsQ0FBQyxxQkFBcUIsS0FBSyxJQUFJLEVBQUM7b0JBQ3JDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDOUI7WUFDSCxDQUFDLENBQUM7U0FDSDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1NBQ1g7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lucHV0RXJyb3IsIElucHV0VHlwZX0gZnJvbSAnLi9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dENsYXNzfSBmcm9tICcuL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnamFsYWxpLW1vbWVudCc7XHJcbmltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBIZWxwZXJDbGFzcyB7XHJcbiAgc3RhdGljIGdldExhYmVsKGlucDogSW5wdXRDbGFzcyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBuID0gaW5wLmxhYmVsICE9IG51bGwgPyBpbnAubGFiZWwgOiBpbnAubmFtZTtcclxuICAgIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuUmVxdWlyZWQpIHtcclxuICAgICAgcmV0dXJuIGlucC5sKCdGb3JtRXJyb3JSZXF1aXJlZCcsIG4pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuSW52YWxpZCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvckludmFsaWQnLCBuKTtcclxuICAgIH0gZWxzZSBpZiAoaW5wLmVycm9yID09PSBJbnB1dEVycm9yLkxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvckxlbmd0aCcsIFtuLCBpbnAubWluTGVuZ3RoXSk7XHJcbiAgICB9IGVsc2UgaWYgKGlucC5lcnJvciA9PT0gSW5wdXRFcnJvci5NaW5MZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIGlucC5sKCdGb3JtRXJyb3JNaW5MZW5ndGgnLCBbbiwgaW5wLm1pbkxlbmd0aF0pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuTWF4TGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBpbnAubCgnRm9ybUVycm9yTWF4TGVuZ3RoJywgW24sIGlucC5tYXhMZW5ndGhdKTtcclxuICAgIH0gZWxzZSBpZiAoaW5wLmVycm9yID09PSBJbnB1dEVycm9yLk1pbkFtb3VudCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvck1pbkFtb3VudCcsIFtuLCBpbnAubWluTGVuZ3RoXSk7XHJcbiAgICB9IGVsc2UgaWYgKGlucC5lcnJvciA9PT0gSW5wdXRFcnJvci5NYXhBbW91bnQpIHtcclxuICAgICAgcmV0dXJuIGlucC5sKCdGb3JtRXJyb3JNYXhBbW91bnQnLCBbbiwgaW5wLm1heExlbmd0aF0pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuRXhwaXJlZCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvckV4cGlyZWQnLCBuKTtcclxuICAgIH0gZWxzZSBpZiAoaW5wLmVycm9yID09PSBJbnB1dEVycm9yLldyb25nKSB7XHJcbiAgICAgIHJldHVybiBpbnAubCgnRm9ybUVycm9yV3JvbmcnLCBuKTtcclxuICAgIH0gZWxzZSBpZiAoaW5wLmVycm9yID09PSBJbnB1dEVycm9yLkVycm9yKSB7XHJcbiAgICAgIHJldHVybiBpbnAubCgnRm9ybUVycm9yJywgbik7XHJcbiAgICB9IGVsc2UgaWYgKGlucC5lcnJvciA9PT0gSW5wdXRFcnJvci5Ob3RNYXRjaCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvck5vdE1hdGNoJywgaW5wLm1hdGNoLm5hbWUpO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuRXhpc3QpIHtcclxuICAgICAgcmV0dXJuIGlucC5sKCdGb3JtRXJyb3JFeGlzdCcsIG4pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuTm90RXhpc3QpIHtcclxuICAgICAgcmV0dXJuIGlucC5sKCdGb3JtRXJyb3JOb3RFeGlzdCcsIG4pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuTm90QWxsb3dlZCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvck5vdEFsbG93ZWQnLCBbbiwgaW5wLmFsbG93ZWQuam9pbignLCAnKV0pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuTWF4Q29udGVudCkge1xyXG4gICAgICByZXR1cm4gaW5wLmwoJ0Zvcm1FcnJvck1heENvbnRlbnQnLCBbbiwgaW5wLm1heExlbmd0aF0pO1xyXG4gICAgfSBlbHNlIGlmIChpbnAuZXJyb3IgPT09IElucHV0RXJyb3IuVXBsb2FkKSB7XHJcbiAgICAgIHJldHVybiBpbnAubCgnRm9ybUVycm9yVXBsb2FkJywgbik7XHJcbiAgICB9XHJcbiAgICBjb25zdCBkZXNjID0gaW5wLmRlc2NyaXB0aW9uICE9PSBudWxsID8gJyAoJyArIGlucC5sKGlucC5kZXNjcmlwdGlvbikgKyAnKScgOiAnJztcclxuICAgIHJldHVybiBpbnAubChuKSArIGRlc2M7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbmF0aW9uYWxDb2RlVmFsaWQoYyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCFSZWdFeHAoL15cXGR7MTB9JC8pLnRlc3QoYykgfHwgUmVnRXhwKC9eKC4pXFwxKyQvKS50ZXN0KGMpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGNvbnN0IGNoZWNrID0gcGFyc2VJbnQoY1s5XSwgMTApO1xyXG4gICAgbGV0IHN1bSA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDk7ICsraSkge1xyXG4gICAgICBzdW0gKz0gcGFyc2VJbnQoY1tpXSwgMTApICogKDEwIC0gaSk7XHJcbiAgICB9XHJcbiAgICBzdW0gJT0gMTE7XHJcbiAgICByZXR1cm4gKHN1bSA8IDIgJiYgY2hlY2sgPT09IHN1bSkgfHwgKHN1bSA+PSAyICYmIGNoZWNrICsgc3VtID09PSAxMSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaXNvNzA2NE1vZDk3XzEwKGliYW4pOiBudW1iZXJ7XHJcbiAgICBsZXQgcmVtYWluZGVyID0gaWJhbjtcclxuICAgIHdoaWxlIChyZW1haW5kZXIubGVuZ3RoID4gMil7XHJcbiAgICAgIGNvbnN0IGJsb2NrID0gcmVtYWluZGVyLnNsaWNlKDAsIDkpO1xyXG4gICAgICByZW1haW5kZXIgPSBwYXJzZUludChibG9jaywgMTApICUgOTcgKyByZW1haW5kZXIuc2xpY2UoYmxvY2subGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcGFyc2VJbnQocmVtYWluZGVyLCAxMCkgJSA5NztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBzaGViYVZhbGlkKHN0cik6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcGF0dGVybiA9IC9JUlswLTldezI0fS87XHJcbiAgICBpZiAoIXN0ci5zdGFydFdpdGgoJ0lSJykpe1xyXG4gICAgICBzdHIgPSAnSVInICsgc3RyO1xyXG4gICAgfVxyXG4gICAgaWYgKHN0ci5sZW5ndGggIT09IDI2KSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXBhdHRlcm4udGVzdChzdHIpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgbmV3U3RyID0gc3RyLnN1YnN0cig0KTtcclxuICAgIGNvbnN0IGQxID0gc3RyLmNoYXJDb2RlQXQoMCkgLSA2NSArIDEwO1xyXG4gICAgY29uc3QgZDIgPSBzdHIuY2hhckNvZGVBdCgxKSAtIDY1ICsgMTA7XHJcbiAgICBuZXdTdHIgKz0gZDEudG9TdHJpbmcoKSArIGQyLnRvU3RyaW5nKCkgKyBzdHIuc3Vic3RyKDIsIDIpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLmlzbzcwNjRNb2Q5N18xMChuZXdTdHIpID09PSAxO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHBvc3RhbENvZGVWYWxpZChjKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gUmVnRXhwKC9eXFxiKD8hKFxcZClcXDF7M30pWzEzLTldezR9WzEzNDYtOV1bMDEzLTldezV9XFxiJC8pLnRlc3QoYyk7XHJcbiAgfVxyXG4gIHN0YXRpYyByYW5kb20obGVuZ3RoLCB1cHBlciA9IHRydWUsIGxvd2VyID0gdHJ1ZSwgbnVtID0gdHJ1ZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICBjb25zdCBjaGFyYWN0ZXJzID0gYCR7dXBwZXIgPyAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonIDogJyd9JHtsb3dlciA/ICdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicgOiAnJ30ke251bSA/ICcxMjM0NTY3ODknIDogJyd9YDtcclxuICAgIGNvbnN0IGNoYXJhY3RlcnNMZW5ndGggPSBjaGFyYWN0ZXJzLmxlbmd0aDtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKysgKSB7XHJcbiAgICAgIHJlc3VsdCArPSBjaGFyYWN0ZXJzLmNoYXJBdChNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBjaGFyYWN0ZXJzTGVuZ3RoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuICBzdGF0aWMgc2V0Q29va2llKG5hbWUsIHZhbHVlLCBob3VycyA9IDMwICogMjQpOiB2b2lkIHtcclxuICAgIGxldCBleHBpcmVzID0gJyc7XHJcbiAgICBpZiAoaG91cnMpIHtcclxuICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgIGRhdGUuc2V0VGltZShkYXRlLmdldFRpbWUoKSArIChob3VycyAqIDYwICogNjAgKiAxMDAwKSk7XHJcbiAgICAgIGV4cGlyZXMgPSAnOyBleHBpcmVzPScgKyBkYXRlLnRvVVRDU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICBkb2N1bWVudC5jb29raWUgPSBuYW1lICsgJz0nICsgKHZhbHVlIHx8ICcnKSAgKyBleHBpcmVzICsgJzsgcGF0aD0vJztcclxuICB9XHJcbiAgc3RhdGljIGdldENvb2tpZShuYW1lLCBkZWYgPSBudWxsKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IG5hbWVFUSA9IG5hbWUgKyAnPSc7XHJcbiAgICBjb25zdCBjYSA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xyXG4gICAgZm9yIChsZXQgYyBvZiBjYSkge1xyXG4gICAgICB3aGlsZSAoYy5jaGFyQXQoMCkgPT09ICcgJyl7XHJcbiAgICAgICAgYyA9IGMuc3Vic3RyaW5nKDEsIGMubGVuZ3RoKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYy5pbmRleE9mKG5hbWVFUSkgPT09IDApe1xyXG4gICAgICAgIHJldHVybiBjLnN1YnN0cmluZyhuYW1lRVEubGVuZ3RoLCBjLmxlbmd0aCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkZWY7XHJcbiAgfVxyXG4gIHN0YXRpYyBlcmFzZUNvb2tpZShuYW1lKTogdm9pZCB7XHJcbiAgICBkb2N1bWVudC5jb29raWUuc3BsaXQoJzsnKVxyXG4gICAgICAuZm9yRWFjaCgoYykgPT4geyBkb2N1bWVudC5jb29raWUgPSBjLnJlcGxhY2UoL14gKy8sICcnKS5yZXBsYWNlKC89LiovLCAnPTtleHBpcmVzPScgKyBuZXcgRGF0ZSgpLnRvVVRDU3RyaW5nKCkgKyAnO3BhdGg9LycpOyB9KTtcclxuICB9XHJcbiAgc3RhdGljIGdldERhdGVEaWYobCwgZHQ6IHN0cmluZyk6IHN0cmluZ3tcclxuICAgIGNvbnN0IGQgPSBwYXJzZUludChkdC5zdWJzdHJpbmcoNiwgZHQubGVuZ3RoIC0gMiksIDEwKTtcclxuICAgIGNvbnN0IG5vdyA9IG1vbWVudC5ub3coKTtcclxuICAgIGNvbnN0IGRpZiA9IChub3cgLSBkKSAvIDEwMDA7XHJcbiAgICBjb25zdCBoID0gTWF0aC5mbG9vcihkaWYgLyAzNjAwKTtcclxuICAgIGNvbnN0IG0gPSBNYXRoLmZsb29yKGRpZiAlIDM2MDAgLyA2MCk7XHJcbiAgICBpZiAoaCA8IDI0KVxyXG4gICAge1xyXG4gICAgICBsZXQgciA9IGggPiAwID8gbCgnSG91clAnLCBoLnRvU3RyaW5nKCkpIDogJyc7XHJcbiAgICAgIHIgKz0gciAhPT0gJycgJiYgbSA+IDAgPyBsKCdBbmQnKSA6ICcnO1xyXG4gICAgICByICs9IG0gPiAwID8gbCgnTWludXRlUCcsIG0udG9TdHJpbmcoKSkgOiAnJztcclxuICAgICAgciArPSByICE9PSAnJyA/ICcnIDogbCgnQUZldycpO1xyXG4gICAgICByICs9ICcgJyArIGwoJ0FnbycpO1xyXG4gICAgICByZXR1cm4gcjtcclxuICAgIH1cclxuICAgIHJldHVybiAnPGRpdiBjbGFzcz1cImx0clwiPicgKyBtb21lbnQoZCkubG9jYWxlKCdmYScpLmZvcm1hdCgnallZWVkvak1NL2pERCBISDptbScpICsgJzwvZGl2Pic7XHJcbiAgfVxyXG4gIHN0YXRpYyBnZXRSb3dFbnVtKGwsIGUsIGR0KTogc3RyaW5ne1xyXG4gICAgY29uc3QgdiA9IGUuZmluZCh4ID0+IHguVmFsdWUgPT09IGR0KTtcclxuICAgIHJldHVybiBgPHNwYW4gY2xhc3M9XCJzdGF0dXMgJHt2LkNsYXNzfVwiPmAgKyBsKHYuTmFtZSkgKyAnPC9zcGFuPic7XHJcbiAgfVxyXG4gIHN0YXRpYyBnZXROb3coKTogYW55e1xyXG4gICAgcmV0dXJuIG1vbWVudC5ub3coKTtcclxuICB9XHJcbiAgc3RhdGljIGdldE1vbWVudChpID0gbnVsbCwgZiA9IG51bGwpOiBhbnl7XHJcbiAgICBpZiAoaSA9PSBudWxsKXtcclxuICAgICAgcmV0dXJuIG1vbWVudCgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG1vbWVudChpLCBmKTtcclxuICB9XHJcbiAgc3RhdGljIGdldERhdGVSZW1haW4obCwgZHQ6IHN0cmluZyk6IHN0cmluZ3tcclxuICAgIGNvbnN0IGQgPSBwYXJzZUludChkdC5zdWJzdHJpbmcoNiwgZHQubGVuZ3RoIC0gMiksIDEwKTtcclxuICAgIGNvbnN0IG5vdyA9IG1vbWVudC5ub3coKTtcclxuICAgIGNvbnN0IGRpZiA9IChkIC0gbm93KSAvIDEwMDA7XHJcbiAgICBpZiAoZGlmIDw9IDApXHJcbiAgICB7XHJcbiAgICAgIHJldHVybiBsKCdFbmRlZCcpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgaCA9IE1hdGguZmxvb3IoZGlmIC8gMzYwMCk7XHJcbiAgICBjb25zdCBtID0gTWF0aC5mbG9vcihkaWYgJSAzNjAwIC8gNjApO1xyXG4gICAgaWYgKGggPCAyNClcclxuICAgIHtcclxuICAgICAgbGV0IHIgPSBoID4gMCA/IGwoJ0hvdXJQJywgaC50b1N0cmluZygpKSA6ICcnO1xyXG4gICAgICByICs9IHIgIT09ICcnICYmIG0gPiAwID8gbCgnQW5kJykgOiAnJztcclxuICAgICAgciArPSBtID4gMCA/IGwoJ01pbnV0ZVAnLCBtLnRvU3RyaW5nKCkpIDogJyc7XHJcbiAgICAgIHIgKz0gciAhPT0gJycgPyAnJyA6IGwoJ0FGZXcnKTtcclxuICAgICAgciArPSAnICcgKyBsKCdMYXRlcicpO1xyXG4gICAgICByZXR1cm4gcjtcclxuICAgIH1cclxuICAgIHJldHVybiAnPGRpdiBjbGFzcz1cImx0clwiPicgKyBtb21lbnQoZCkubG9jYWxlKCdmYScpLmZvcm1hdCgnallZWVkvak1NL2pERCBISDptbScpICsgJzwvZGl2Pic7XHJcbiAgfVxyXG4gIHN0YXRpYyBnZXREYXRlKGR0OiBzdHJpbmcsIGZvcm1hdDogc3RyaW5nID0gJ2pZWVlZL2pNTS9qREQnKTogc3RyaW5ne1xyXG4gICAgdHJ5IHtcclxuICAgICAgaWYgKGR0ID09PSBudWxsKXtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZCA9IHBhcnNlSW50KGR0LnN1YnN0cmluZyg2LCBkdC5sZW5ndGggLSAyKSwgMTApO1xyXG4gICAgICByZXR1cm4gbW9tZW50KGQpLmxvY2FsZSgnZmEnKS5mb3JtYXQoZm9ybWF0KTtcclxuICAgIH1jYXRjaCAoZSkge1xyXG4gICAgICByZXR1cm4gZHQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHN0YXRpYyBnZXRUaW1lKGR0OiBhbnkpOiBzdHJpbmd7XHJcbiAgICB0cnkge1xyXG4gICAgICBpZiAoZHQgPT09IG51bGwpe1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gYCR7KGR0LkhvdXJzID4gOSA/IGR0LkhvdXJzIDogYDAke2R0LkhvdXJzfWApfTokeyhkdC5NaW51dGVzID4gOSA/IGR0Lk1pbnV0ZXMgOiBgMCR7ZHQuTWludXRlc31gKX1gO1xyXG4gICAgfWNhdGNoIChlKSB7XHJcbiAgICAgIHJldHVybiBkdDtcclxuICAgIH1cclxuICB9XHJcbiAgc3RhdGljIGdldERhdGVUaW1lKGR0OiBzdHJpbmcpOiBzdHJpbmd7XHJcbiAgICBpZiAoZHQgPT09IG51bGwpe1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICBjb25zdCBkID0gcGFyc2VJbnQoZHQuc3Vic3RyaW5nKDYsIGR0Lmxlbmd0aCAtIDIpLCAxMCk7XHJcbiAgICByZXR1cm4gbW9tZW50KGQpLmxvY2FsZSgnZmEnKS5mb3JtYXQoJ2pZWVlZL2pNTS9qREQgSEg6bW0nKTtcclxuICB9XHJcbiAgc3RhdGljIGdldEZpbGVTaXplKGJ5dGVzOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc3VmZml4ID0gWyAnQicsICdLQicsICdNQicsICdHQicsICdUQiddO1xyXG4gICAgbGV0IGRibFNCeXRlID0gYnl0ZXM7XHJcbiAgICBsZXQgaSA9IDA7XHJcbiAgICBmb3IgKDsgaSA8IHN1ZmZpeC5sZW5ndGggJiYgYnl0ZXMgPj0gMTAyNDsgaSsrLCBieXRlcyAvPSAxMDI0KVxyXG4gICAge1xyXG4gICAgICBkYmxTQnl0ZSA9IGJ5dGVzIC8gMTAyNC4wO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGAke2RibFNCeXRlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxyXG4gICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDEsXHJcbiAgICB9KX0gJHtzdWZmaXhbaV19YDtcclxuICB9XHJcbiAgc3RhdGljIGdldFBEYXRlKGwsIHMpOiBzdHJpbmd7XHJcbiAgICByZXR1cm4gcy5yZXBsYWNlKC9Ib3VyL2csIGwoJ0hvdXInKSlcclxuICAgICAgLnJlcGxhY2UoL0xlc3NUaGFuTWludXRlL2csIGwoJ0xlc3NUaGFuTWludXRlJykpXHJcbiAgICAgIC5yZXBsYWNlKC9NaW51dGUvZywgbCgnTWludXRlJykpXHJcbiAgICAgIC5yZXBsYWNlKC9BbmQvZywgbCgnQW5kJykpXHJcbiAgICAgIC5yZXBsYWNlKC9BRmV3L2csIGwoJ0FGZXcnKSlcclxuICAgICAgLnJlcGxhY2UoL0ZpbmlzaGVkL2csIGwoJ0ZpbmlzaGVkJykpXHJcbiAgICAgIC5yZXBsYWNlKC9EYXkvZywgbCgnRGF5JykpXHJcbiAgICAgIC5yZXBsYWNlKC9MYXRlci9nLCBsKCdMYXRlcicpKVxyXG4gICAgICAucmVwbGFjZSgvQWdvL2csIGwoJ0FnbycpKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBjbG9uZTxUPih2OiBUKTogVCB7XHJcbiAgICBpZiAodiA9PSBudWxsKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY29weSA9IG5ldyAodi5jb25zdHJ1Y3RvciBhcyB7IG5ldygpIH0pKCk7XHJcbiAgICBPYmplY3QuYXNzaWduKGNvcHksIHYpO1xyXG4gICAgcmV0dXJuIGNvcHk7XHJcbiAgfVxyXG4gIHN0YXRpYyBjbG9uZUpzb24oaW5wKTogYW55IHtcclxuICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGlucCkpO1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0TmFtZShuKTogc3RyaW5ne1xyXG4gICAgcmV0dXJuIG4ucmVwbGFjZSgv2qkvZywgJ9mDJykucmVwbGFjZSgv24wvZywgJ9mKJykucmVwbGFjZSgv2KIvZywgJ9iiJyk7XHJcbiAgfVxyXG4gIHN0YXRpYyBhZGROb3RpZmljYXRpb24obSwgZSA9IHRydWUpOiB2b2lke1xyXG4gICAgY29uc3QgaWQgPSBIZWxwZXJDbGFzcy5yYW5kb20oMjApO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXHJcbiAgICAkKCcjTm90aWZpY2F0aW9ucycpLmFwcGVuZCgnPGRpdiBpZD1cIicgKyBpZCArICdcIiBjbGFzcz1cImNvblwiPjxkaXYgY2xhc3M9XCJpdGVtICcgKyAoZSA/ICdlcnJvcicgOiAnc3VjY2VzcycpICsgJ1wiPjxpIGNsYXNzPVwiZmFzIGZhLXRpbWVzXCI+PC9pPjxkaXY+JyArIG0gKyAnPC9kaXY+PC9kaXY+PC9kaXY+Jyk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgZCA9ICQoJyMnICsgaWQpO1xyXG4gICAgICBkLmZhZGVPdXQoMzAwLCAoKSA9PiB7XHJcbiAgICAgICAgZC5yZW1vdmUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9LCA1MDAwKTtcclxuICB9XHJcbiAgc3RhdGljIGNoZWNrQ2FydERpZ2l0KGNvZGUpOiBib29sZWFue1xyXG4gICAgY29uc3QgbCA9IGNvZGUubGVuZ3RoO1xyXG4gICAgaWYgKGwgPCAxNiB8fCBwYXJzZUludChjb2RlLnN1YnN0cigxLCAxMCksIDEwKSA9PT0gMCB8fFxyXG4gICAgICBwYXJzZUludChjb2RlLnN1YnN0cigxMCwgNiksIDEwKSA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBsZXQgcyA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspe1xyXG4gICAgICBjb25zdCBrID0gaSAlIDIgPT09IDAgPyAyIDogMTtcclxuICAgICAgY29uc3QgZCA9IHBhcnNlSW50KGNvZGUuc3Vic3RyKGksIDEpLCAxMCkgKiBrO1xyXG4gICAgICBzICs9IGQgPiA5ID8gZCAtIDkgOiBkO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHMgJSAxMCA9PT0gMDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXREYXRhKGtleSwgc3RhdGUsIHBhcmVudCk6IGFueSB7XHJcbiAgICBjb25zdCBkYXRhID0gW107XHJcbiAgICBpZiAocGFyZW50ICYmIHBhcmVudC5zbmFwc2hvdC5kYXRhICYmIHBhcmVudC5zbmFwc2hvdC5kYXRhW2tleV0pIHtcclxuICAgICAgZGF0YS5wdXNoKHBhcmVudC5zbmFwc2hvdC5kYXRhW2tleV0pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdGF0ZSAmJiBwYXJlbnQpIHtcclxuICAgICAgZGF0YS5wdXNoKC4uLnRoaXMuZ2V0RGF0YShrZXksIHN0YXRlLCBzdGF0ZS5maXJzdENoaWxkKHBhcmVudCkpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldENvbG9yQnlCZ0NvbG9yKGJnQ29sb3IpOiBzdHJpbmd7XHJcbiAgICBpZiAoIWJnQ29sb3IpIHsgcmV0dXJuICcnOyB9XHJcbiAgICByZXR1cm4gKHBhcnNlSW50KGJnQ29sb3IucmVwbGFjZSgnIycsICcnKSwgMTYpID4gMHhmZmZmZmYgLyAyKSA/ICcjMDAwJyA6ICcjZmZmJztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBxdWVyeVN0cmluZ1RvSlNPTihxcyA9IG51bGwpOiBhbnkge1xyXG4gICAgcXMgPSBxcyB8fCBsb2NhdGlvbi5zZWFyY2guc2xpY2UoMSk7XHJcbiAgICBpZiAocXMgPT09ICcnKXtcclxuICAgICAgcmV0dXJuIHt9O1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFpcnMgPSBxcy5zcGxpdCgnJicpO1xyXG4gICAgY29uc3QgcmVzdWx0ID0ge307XHJcbiAgICBwYWlycy5mb3JFYWNoKChwKSA9PiB7XHJcbiAgICAgIGNvbnN0IHBhaXIgPSBwLnNwbGl0KCc9Jyk7XHJcbiAgICAgIGNvbnN0IGtleSA9IHBhaXJbMF0ucmVwbGFjZSgnJTVCJTVEJywgJycpO1xyXG4gICAgICBjb25zdCB2YWx1ZSA9IGRlY29kZVVSSUNvbXBvbmVudChwYWlyWzFdIHx8ICcnKTtcclxuXHJcbiAgICAgIGlmICggcmVzdWx0W2tleV0gKSB7XHJcbiAgICAgICAgaWYgKCBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoIHJlc3VsdFtrZXldICkgPT09ICdbb2JqZWN0IEFycmF5XScgKSB7XHJcbiAgICAgICAgICByZXN1bHRba2V5XS5wdXNoKCB2YWx1ZSApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXN1bHRba2V5XSA9IFsgcmVzdWx0W2tleV0sIHZhbHVlIF07XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVzdWx0KSk7XHJcbiAgfVxyXG4gIHN0YXRpYyBjb3B5VG9DbGlwYm9hcmQodGV4dCk6IHZvaWQge1xyXG4gICAgY29uc3QgaW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgaW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHRleHQpO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbnB1dCk7XHJcbiAgICBpbnB1dC5zZWxlY3QoKTtcclxuICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XHJcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGlucHV0KTtcclxuICB9XHJcbiAgc3RhdGljIHNldEJhcmNvZGVSZWFkZXIoaW5wOiBJbnB1dENsYXNzKTogdm9pZCB7XHJcbiAgICBpbnAuYnV0dG9uID0gJ2JsdWUnO1xyXG4gICAgY29uc3QgZm4gPSBpbnAubmFtZSArICdTZXRCYXJjb2RlU2NhblZhbHVlJztcclxuICAgIGlucC5vbkNsaWNrQnV0dG9uID0gKCkgPT4ge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICB3aW5kb3cuSlNJbnRlcmZhY2Uuc3RhcnRCYXJjb2RlU2Nhbihmbik7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHRyeSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgd2luZG93W2ZuXSA9IChzKSA9PiB7XHJcbiAgICAgICAgaWYgKGlucC50eXBlID09PSBJbnB1dFR5cGUuU2VsZWN0QXV0b0NvbXBsZXRlKSB7XHJcbiAgICAgICAgICBpbnAuc2V0U2VhcmNoKHMpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgaW5wLnNldFZhbHVlKHMsIGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAkKCcjJyArIGlucC5uYW1lICsgJ0lucHV0IC5jb250cm9sJykuY2xpY2soKTtcclxuICAgICAgICAgIGlucC5mb2N1cygpO1xyXG4gICAgICAgIH0sIDEwMCk7XHJcbiAgICAgICAgaWYgKGlucC5vbkJhcmNvZGVSZWFkZXJDaGFuZ2UgIT09IG51bGwpe1xyXG4gICAgICAgICAgaW5wLm9uQmFyY29kZVJlYWRlckNoYW5nZShzKTtcclxuICAgICAgICB9XHJcbiAgICAgIH07XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -369,7 +369,7 @@ FormSelectComponent.decorators = [
369
369
  { type: Component, args: [{
370
370
  selector: 'lib-form-select',
371
371
  template: "<div #inputDiv [id]=\"inp.name + 'Input'\" [style]=\"inp.style\" [className]=\"'form-input-con select w-100' + (inp.error == null ? '' : ' error') + (inp.disabled ? ' disabled' : '') + (inp.icon != null ? '' : ' without-icon') + ' ' + inp.class\">\r\n <div class=\"form-input\" (click)=\"toggleOption($event)\">\r\n <div *ngIf=\"inp.displayLabel\" class=\"label\"><i *ngIf=\"inp.required\" class=\"f-r fas fa-star-of-life required-icon\"></i><span class=\"f-r\" [innerHTML]=\"inp.getLabel()\"></span></div>\r\n <div class=\"w-100 p-r\">\r\n <div *ngIf=\"inp.type === type.Select\" class=\"without-search\"></div>\r\n <span *ngIf=\"inp.icon != null || inp.loading\" (click)=\"inp.button && onClickButton()\" #inputIcon [className]=\"(inp.button ? inp.button + ' button ' : '') + 'icon'\">\r\n <i [className]=\"inp.loading ? 'fa-duotone fa-spin fa-spinner ' : inp.icon + ' '\"></i>\r\n </span>\r\n <i *ngIf=\"inp.withClear && inp.value\" (click)=\"inp.clear()\" class=\"fa-duotone fa-eraser clear-icon\"></i>\r\n <input (keydown)=\"onKeyDown($event)\" (focusout)=\"onFocusOut()\" (keyup)=\"onKeyUp($event)\" [disabled]=\"inp.disabled\" [(ngModel)]=\"inp.search\" [placeholder]=\"inp.placeholder ? inp.l(inp.placeholder) : ''\" #inputBase type=\"text\" [name]=\"inp.name\" class=\"control\" autocomplete=\"off\" [readOnly]=\"inp.type === type.Select\" [maxLength]=\"inp.maxLength > 0 ? inp.maxLength : 524288\">\r\n <div #inputOptionsDiv class=\"options\">\r\n <div class=\"items\">\r\n <lib-form-select-item (selectOption)=\"selectOption($event)\" [index]=\"1\" [select]=\"inp\" [item]=\"opt\" *ngFor=\"let opt of inp.options\"></lib-form-select-item>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
372
- styles: [".form-input-con.select{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;font-size:12px;padding:0 15px;position:relative}.form-input-con.select.plaque{width:185px!important}.form-input-con.select>.form-input{float:right;position:relative;width:100%}.form-input-con.select>.form-input>.label{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;direction:rtl;float:right;font-size:12px;height:20px;line-height:20px;margin-bottom:3px;padding:0 10px;text-align:right;width:100%}.form-input-con.select.error>.form-input>.label{color:var(--red);font-size:10px}.form-input-con.select>.form-input>.label .required-icon{color:var(--red);font-size:9px;height:20px;line-height:20px;text-align:center;width:20px}.form-input-con.select>.form-input .without-search{cursor:pointer;height:100%;position:absolute;right:0;top:0;width:100%;z-index:3}.form-input-con.select>.form-input .control{background-color:#fff;background-image:none;border:var(--border-input);border-radius:var(--border-radius-base);color:var(--black);display:block;font-family:Vazir;font-size:11px;height:35px;padding:5px 35px;text-align:center;width:100%}.form-input-con.select>.form-input .control:focus,.form-input-con.select>.form-input:hover .control{border:1px solid var(--black-light);outline:none}.form-input-con.select>.form-input .control:focus{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;outline:none}.form-input-con.select.error>.form-input .control{border:var(--border-input-red)}.form-input-con.select.error>.form-input .control,.form-input-con.select.error>.form-input span.icon{color:var(--red)}.form-input-con.select.error>.form-input .control:focus,.form-input-con.select.error>.form-input:hover .control{border:var(--border-input-red-dark)}.form-input-con.select.top>.form-input .control:focus{border-radius:0 0 var(--border-radius-base) var(--border-radius-base);outline:none}.form-input-con.select>.form-input span.icon{bottom:0;color:var(--primary);font-size:15px;height:35px;left:0;line-height:35px;position:absolute;text-align:center;width:35px;z-index:1}.form-input-con.select>.form-input span.icon.button{background-color:var(--base);border-radius:5px 0 0 5px;color:#fff;cursor:pointer}.form-input-con.select>.form-input span.icon.button:hover{background-color:var(--base-dark)}.form-input-con.select>.form-input span.icon.button.blue{background-color:var(--blue)}.form-input-con.select>.form-input span.icon.button.blue:hover{background-color:var(--blue-dark)}.form-input-con.select>.form-input span.icon.button.green{background-color:var(--green)}.form-input-con.select>.form-input span.icon.button.green:hover{background-color:var(--green-dark)}.form-input-con.select>.form-input span.icon.button.red{background-color:var(--red)}.form-input-con.select>.form-input span.icon.button.red:hover{background-color:var(--red-dark)}.form-input-con.select>.form-input span.icon.button.yellow{background-color:var(--yellow)}.form-input-con.select>.form-input span.icon.button.yellow:hover{background-color:var(--yellow-dark)}.form-input-con.select>.form-input i.clear-icon{bottom:0;color:var(--red);cursor:pointer;font-size:15px;height:35px;line-height:35px;position:absolute;right:0;text-align:center;width:35px;z-index:1}.form-input-con.select>.form-input .options{background-color:#fff;border:var(--border-input);border-radius:0 0 var(--border-radius-base) var(--border-radius-base);cursor:pointer;overflow:hidden;position:absolute;right:0;top:-200000px;width:100%;z-index:103}.form-input-con.select>.form-input .control:focus+.options{top:35px!important}.form-input-con.select.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:35px;top:unset!important}.form-input-con.select>.form-input .options .items{float:right;max-height:200px;overflow-y:auto;scroll-behavior:smooth;width:100%}.form-input-con.select>.form-input .options .option{border-radius:0;float:right;font-size:11px;height:35px;line-height:35px;text-align:center;width:100%}.form-input-con.select .tags{float:right;width:100%}.form-input-con.select .tags .tag-con{float:right;padding:5px;width:auto}.form-input-con.select .tags .tag-con .tag{background-color:var(--base);border-radius:var(--border-radius-base);color:#fff;float:right;font-size:12px;height:25px;line-height:25px;overflow:hidden;position:relative;width:auto}.form-input-con.select .tags .tag-con .tag>.label{float:right;padding:0 5px 0 10px;width:auto}.form-input-con.select .tags .tag-con .tag>.delete{cursor:pointer;float:right;line-height:25px;text-align:center;width:25px}.form-input-con.select .tags .tag-con .tag>.delete:hover{background-color:var(--base-dark)}.form-input-con.select.h-50>.form-input .control{height:50px;line-height:50px}.form-input-con.select.h-50>.form-input .control:focus+.options{top:50px!important}.form-input-con.select.h-50.top>.form-input .options{bottom:50px;top:unset!important}.form-input-con.select.h-25,.form-input-con.select.h-25>.form-input .control{height:25px;line-height:25px}.form-input-con.select.h-25>.form-input span.icon{height:25px;line-height:25px;width:25px}.form-input-con.select.h-25>.form-input .control:focus+.options{top:25px!important}.form-input-con.select.h-25.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:25px;top:unset!important}.form-input-con.select.h-30,.form-input-con.select.h-30>.form-input .control{height:30px;line-height:30px;padding:0}.form-input-con.select.h-30>.form-input span.icon{height:30px;line-height:30px;width:30px}.form-input-con.select.h-30>.form-input .control:focus+.options{top:30px!important}.form-input-con.select.h-30.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:30px;top:unset!important}::ng-deep .form-input-con.select.h-30>.form-input .options .option{font-size:12px;height:30px;line-height:30px}.form-input-con.select.h-45,.form-input-con.select.h-45>.form-input .control{height:45px;line-height:45px}.form-input-con.select.h-45>.form-input .control::-moz-placeholder,.form-input-con.select.h-45>.form-input .control::-webkit-input-placeholder{font-size:12px}.form-input-con.select.h-45>.form-input span.icon{height:45px;line-height:45px;width:45px}.form-input-con.select.h-45>.form-input .control:focus+.options{top:45px!important}.form-input-con.select.h-45.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:45px;top:unset!important}::ng-deep .form-input-con.select.h-45>.form-input .options .option{font-size:12px;min-height:40px}.form-input-con.select.without-icon.h-25>.form-input .control,.form-input-con.select.without-icon.h-30>.form-input .control{padding:0}.form-input-con.select.h-30>.form-input span.icon{font-size:11px}::ng-deep .form-input-con.select.without-sub-options>.form-input .options .option{width:100%}.form-input-con.select.disabled>.form-input .control,.form-input-con.select.disabled>.form-input .label,.form-input-con.select.disabled>.form-input span.icon{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-shadow:unset;cursor:default;filter:blur(.5px);opacity:.7}"]
372
+ styles: [".form-input-con.select{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;font-size:12px;padding:0 15px;position:relative}.form-input-con.select.plaque{width:185px!important}.form-input-con.select>.form-input{float:right;position:relative;width:100%}.form-input-con.select>.form-input>.label{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;direction:rtl;float:right;font-size:12px;height:20px;line-height:20px;margin-bottom:3px;padding:0 10px;text-align:right;width:100%}.form-input-con.select.error>.form-input>.label{color:var(--red);font-size:10px}.form-input-con.select>.form-input>.label .required-icon{color:var(--red);font-size:9px;height:20px;line-height:20px;text-align:center;width:20px}.form-input-con.select>.form-input .without-search{cursor:pointer;height:100%;position:absolute;right:0;top:0;width:100%;z-index:3}.form-input-con.select>.form-input .control{background-color:#fff;background-image:none;border:var(--border-input);border-radius:var(--border-radius-base);color:var(--black);display:block;font-family:Vazir;font-size:11px;height:35px;padding:5px 35px;text-align:center;width:100%}.form-input-con.select>.form-input .control:focus,.form-input-con.select>.form-input:hover .control{border:1px solid var(--black-light);outline:none}.form-input-con.select>.form-input .control:focus{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;outline:none}.form-input-con.select.error>.form-input .control{border:var(--border-input-red)}.form-input-con.select.error>.form-input .control,.form-input-con.select.error>.form-input span.icon{color:var(--red)}.form-input-con.select.error>.form-input .control:focus,.form-input-con.select.error>.form-input:hover .control{border:var(--border-input-red-dark)}.form-input-con.select.top>.form-input .control:focus{border-radius:0 0 var(--border-radius-base) var(--border-radius-base);outline:none}.form-input-con.select>.form-input span.icon{bottom:0;color:var(--primary);font-size:15px;height:35px;left:0;line-height:37px;position:absolute;text-align:center;width:35px;z-index:1}.form-input-con.select>.form-input span.icon.button{background-color:var(--base);border-radius:5px 0 0 5px;color:#fff;cursor:pointer}.form-input-con.select>.form-input span.icon.button:hover{background-color:var(--base-dark)}.form-input-con.select>.form-input span.icon.button.blue{background-color:var(--blue)}.form-input-con.select>.form-input span.icon.button.blue:hover{background-color:var(--blue-dark)}.form-input-con.select>.form-input span.icon.button.green{background-color:var(--green)}.form-input-con.select>.form-input span.icon.button.green:hover{background-color:var(--green-dark)}.form-input-con.select>.form-input span.icon.button.red{background-color:var(--red)}.form-input-con.select>.form-input span.icon.button.red:hover{background-color:var(--red-dark)}.form-input-con.select>.form-input span.icon.button.yellow{background-color:var(--yellow)}.form-input-con.select>.form-input span.icon.button.yellow:hover{background-color:var(--yellow-dark)}.form-input-con.select>.form-input i.clear-icon{bottom:0;color:var(--red);cursor:pointer;font-size:15px;height:35px;line-height:35px;position:absolute;right:0;text-align:center;width:35px;z-index:1}.form-input-con.select>.form-input .options{background-color:#fff;border:var(--border-input);border-radius:0 0 var(--border-radius-base) var(--border-radius-base);cursor:pointer;overflow:hidden;position:absolute;right:0;top:-200000px;width:100%;z-index:103}.form-input-con.select>.form-input .control:focus+.options{top:35px!important}.form-input-con.select.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:35px;top:unset!important}.form-input-con.select>.form-input .options .items{float:right;max-height:200px;overflow-y:auto;scroll-behavior:smooth;width:100%}.form-input-con.select>.form-input .options .option{border-radius:0;float:right;font-size:11px;height:35px;line-height:35px;text-align:center;width:100%}.form-input-con.select .tags{float:right;width:100%}.form-input-con.select .tags .tag-con{float:right;padding:5px;width:auto}.form-input-con.select .tags .tag-con .tag{background-color:var(--base);border-radius:var(--border-radius-base);color:#fff;float:right;font-size:12px;height:25px;line-height:25px;overflow:hidden;position:relative;width:auto}.form-input-con.select .tags .tag-con .tag>.label{float:right;padding:0 5px 0 10px;width:auto}.form-input-con.select .tags .tag-con .tag>.delete{cursor:pointer;float:right;line-height:25px;text-align:center;width:25px}.form-input-con.select .tags .tag-con .tag>.delete:hover{background-color:var(--base-dark)}.form-input-con.select.h-50>.form-input .control{height:50px;line-height:50px}.form-input-con.select.h-50>.form-input .control:focus+.options{top:50px!important}.form-input-con.select.h-50.top>.form-input .options{bottom:50px;top:unset!important}.form-input-con.select.h-25,.form-input-con.select.h-25>.form-input .control{height:25px;line-height:25px}.form-input-con.select.h-25>.form-input span.icon{height:25px;line-height:25px;width:25px}.form-input-con.select.h-25>.form-input .control:focus+.options{top:25px!important}.form-input-con.select.h-25.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:25px;top:unset!important}.form-input-con.select.h-30,.form-input-con.select.h-30>.form-input .control{height:30px;line-height:30px;padding:0}.form-input-con.select.h-30>.form-input span.icon{height:30px;line-height:30px;width:30px}.form-input-con.select.h-30>.form-input .control:focus+.options{top:30px!important}.form-input-con.select.h-30.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:30px;top:unset!important}::ng-deep .form-input-con.select.h-30>.form-input .options .option{font-size:12px;height:30px;line-height:30px}.form-input-con.select.h-45,.form-input-con.select.h-45>.form-input .control{height:45px;line-height:45px}.form-input-con.select.h-45>.form-input .control::-moz-placeholder,.form-input-con.select.h-45>.form-input .control::-webkit-input-placeholder{font-size:12px}.form-input-con.select.h-45>.form-input span.icon{height:45px;line-height:45px;width:45px}.form-input-con.select.h-45>.form-input .control:focus+.options{top:45px!important}.form-input-con.select.h-45.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:45px;top:unset!important}::ng-deep .form-input-con.select.h-45>.form-input .options .option{font-size:12px;min-height:40px}.form-input-con.select.without-icon.h-25>.form-input .control,.form-input-con.select.without-icon.h-30>.form-input .control{padding:0}.form-input-con.select.h-30>.form-input span.icon{font-size:11px}::ng-deep .form-input-con.select.without-sub-options>.form-input .options .option{width:100%}.form-input-con.select.disabled>.form-input .control,.form-input-con.select.disabled>.form-input .label,.form-input-con.select.disabled>.form-input span.icon{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-shadow:unset;cursor:default;filter:blur(.5px);opacity:.7}"]
373
373
  },] }
374
374
  ];
375
375
  FormSelectComponent.propDecorators = {
@@ -878,7 +878,12 @@ class HelperClass {
878
878
  try {
879
879
  // @ts-ignore
880
880
  window[fn] = (s) => {
881
- inp.setValue(s, false);
881
+ if (inp.type === InputType.SelectAutoComplete) {
882
+ inp.setSearch(s);
883
+ }
884
+ else {
885
+ inp.setValue(s, false);
886
+ }
882
887
  setTimeout(() => {
883
888
  $$1('#' + inp.name + 'Input .control').click();
884
889
  inp.focus();
@@ -4772,7 +4777,7 @@ FormSelectComponent.decorators = [
4772
4777
  { type: Component, args: [{
4773
4778
  selector: 'lib-form-select',
4774
4779
  template: "<div #inputDiv [id]=\"inp.name + 'Input'\" [style]=\"inp.style\" [className]=\"'form-input-con select w-100' + (inp.error == null ? '' : ' error') + (inp.disabled ? ' disabled' : '') + (inp.icon != null ? '' : ' without-icon') + ' ' + inp.class\">\r\n <div class=\"form-input\" (click)=\"toggleOption($event)\">\r\n <div *ngIf=\"inp.displayLabel\" class=\"label\"><i *ngIf=\"inp.required\" class=\"f-r fas fa-star-of-life required-icon\"></i><span class=\"f-r\" [innerHTML]=\"inp.getLabel()\"></span></div>\r\n <div class=\"w-100 p-r\">\r\n <div *ngIf=\"inp.type === type.Select\" class=\"without-search\"></div>\r\n <span *ngIf=\"inp.icon != null || inp.loading\" (click)=\"inp.button && onClickButton()\" #inputIcon [className]=\"(inp.button ? inp.button + ' button ' : '') + 'icon'\">\r\n <i [className]=\"inp.loading ? 'fa-duotone fa-spin fa-spinner ' : inp.icon + ' '\"></i>\r\n </span>\r\n <i *ngIf=\"inp.withClear && inp.value\" (click)=\"inp.clear()\" class=\"fa-duotone fa-eraser clear-icon\"></i>\r\n <input (keydown)=\"onKeyDown($event)\" (focusout)=\"onFocusOut()\" (keyup)=\"onKeyUp($event)\" [disabled]=\"inp.disabled\" [(ngModel)]=\"inp.search\" [placeholder]=\"inp.placeholder ? inp.l(inp.placeholder) : ''\" #inputBase type=\"text\" [name]=\"inp.name\" class=\"control\" autocomplete=\"off\" [readOnly]=\"inp.type === type.Select\" [maxLength]=\"inp.maxLength > 0 ? inp.maxLength : 524288\">\r\n <div #inputOptionsDiv class=\"options\">\r\n <div class=\"items\">\r\n <lib-form-select-item (selectOption)=\"selectOption($event)\" [index]=\"1\" [select]=\"inp\" [item]=\"opt\" *ngFor=\"let opt of inp.options\"></lib-form-select-item>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n",
4775
- styles: [".form-input-con.select{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;font-size:12px;padding:0 15px;position:relative}.form-input-con.select.plaque{width:185px!important}.form-input-con.select>.form-input{float:right;position:relative;width:100%}.form-input-con.select>.form-input>.label{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;direction:rtl;float:right;font-size:12px;height:20px;line-height:20px;margin-bottom:3px;padding:0 10px;text-align:right;width:100%}.form-input-con.select.error>.form-input>.label{color:var(--red);font-size:10px}.form-input-con.select>.form-input>.label .required-icon{color:var(--red);font-size:9px;height:20px;line-height:20px;text-align:center;width:20px}.form-input-con.select>.form-input .without-search{cursor:pointer;height:100%;position:absolute;right:0;top:0;width:100%;z-index:3}.form-input-con.select>.form-input .control{background-color:#fff;background-image:none;border:var(--border-input);border-radius:var(--border-radius-base);color:var(--black);display:block;font-family:Vazir;font-size:11px;height:35px;padding:5px 35px;text-align:center;width:100%}.form-input-con.select>.form-input .control:focus,.form-input-con.select>.form-input:hover .control{border:1px solid var(--black-light);outline:none}.form-input-con.select>.form-input .control:focus{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;outline:none}.form-input-con.select.error>.form-input .control{border:var(--border-input-red)}.form-input-con.select.error>.form-input .control,.form-input-con.select.error>.form-input span.icon{color:var(--red)}.form-input-con.select.error>.form-input .control:focus,.form-input-con.select.error>.form-input:hover .control{border:var(--border-input-red-dark)}.form-input-con.select.top>.form-input .control:focus{border-radius:0 0 var(--border-radius-base) var(--border-radius-base);outline:none}.form-input-con.select>.form-input span.icon{bottom:0;color:var(--primary);font-size:15px;height:35px;left:0;line-height:35px;position:absolute;text-align:center;width:35px;z-index:1}.form-input-con.select>.form-input span.icon.button{background-color:var(--base);border-radius:5px 0 0 5px;color:#fff;cursor:pointer}.form-input-con.select>.form-input span.icon.button:hover{background-color:var(--base-dark)}.form-input-con.select>.form-input span.icon.button.blue{background-color:var(--blue)}.form-input-con.select>.form-input span.icon.button.blue:hover{background-color:var(--blue-dark)}.form-input-con.select>.form-input span.icon.button.green{background-color:var(--green)}.form-input-con.select>.form-input span.icon.button.green:hover{background-color:var(--green-dark)}.form-input-con.select>.form-input span.icon.button.red{background-color:var(--red)}.form-input-con.select>.form-input span.icon.button.red:hover{background-color:var(--red-dark)}.form-input-con.select>.form-input span.icon.button.yellow{background-color:var(--yellow)}.form-input-con.select>.form-input span.icon.button.yellow:hover{background-color:var(--yellow-dark)}.form-input-con.select>.form-input i.clear-icon{bottom:0;color:var(--red);cursor:pointer;font-size:15px;height:35px;line-height:35px;position:absolute;right:0;text-align:center;width:35px;z-index:1}.form-input-con.select>.form-input .options{background-color:#fff;border:var(--border-input);border-radius:0 0 var(--border-radius-base) var(--border-radius-base);cursor:pointer;overflow:hidden;position:absolute;right:0;top:-200000px;width:100%;z-index:103}.form-input-con.select>.form-input .control:focus+.options{top:35px!important}.form-input-con.select.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:35px;top:unset!important}.form-input-con.select>.form-input .options .items{float:right;max-height:200px;overflow-y:auto;scroll-behavior:smooth;width:100%}.form-input-con.select>.form-input .options .option{border-radius:0;float:right;font-size:11px;height:35px;line-height:35px;text-align:center;width:100%}.form-input-con.select .tags{float:right;width:100%}.form-input-con.select .tags .tag-con{float:right;padding:5px;width:auto}.form-input-con.select .tags .tag-con .tag{background-color:var(--base);border-radius:var(--border-radius-base);color:#fff;float:right;font-size:12px;height:25px;line-height:25px;overflow:hidden;position:relative;width:auto}.form-input-con.select .tags .tag-con .tag>.label{float:right;padding:0 5px 0 10px;width:auto}.form-input-con.select .tags .tag-con .tag>.delete{cursor:pointer;float:right;line-height:25px;text-align:center;width:25px}.form-input-con.select .tags .tag-con .tag>.delete:hover{background-color:var(--base-dark)}.form-input-con.select.h-50>.form-input .control{height:50px;line-height:50px}.form-input-con.select.h-50>.form-input .control:focus+.options{top:50px!important}.form-input-con.select.h-50.top>.form-input .options{bottom:50px;top:unset!important}.form-input-con.select.h-25,.form-input-con.select.h-25>.form-input .control{height:25px;line-height:25px}.form-input-con.select.h-25>.form-input span.icon{height:25px;line-height:25px;width:25px}.form-input-con.select.h-25>.form-input .control:focus+.options{top:25px!important}.form-input-con.select.h-25.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:25px;top:unset!important}.form-input-con.select.h-30,.form-input-con.select.h-30>.form-input .control{height:30px;line-height:30px;padding:0}.form-input-con.select.h-30>.form-input span.icon{height:30px;line-height:30px;width:30px}.form-input-con.select.h-30>.form-input .control:focus+.options{top:30px!important}.form-input-con.select.h-30.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:30px;top:unset!important}::ng-deep .form-input-con.select.h-30>.form-input .options .option{font-size:12px;height:30px;line-height:30px}.form-input-con.select.h-45,.form-input-con.select.h-45>.form-input .control{height:45px;line-height:45px}.form-input-con.select.h-45>.form-input .control::-moz-placeholder,.form-input-con.select.h-45>.form-input .control::-webkit-input-placeholder{font-size:12px}.form-input-con.select.h-45>.form-input span.icon{height:45px;line-height:45px;width:45px}.form-input-con.select.h-45>.form-input .control:focus+.options{top:45px!important}.form-input-con.select.h-45.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:45px;top:unset!important}::ng-deep .form-input-con.select.h-45>.form-input .options .option{font-size:12px;min-height:40px}.form-input-con.select.without-icon.h-25>.form-input .control,.form-input-con.select.without-icon.h-30>.form-input .control{padding:0}.form-input-con.select.h-30>.form-input span.icon{font-size:11px}::ng-deep .form-input-con.select.without-sub-options>.form-input .options .option{width:100%}.form-input-con.select.disabled>.form-input .control,.form-input-con.select.disabled>.form-input .label,.form-input-con.select.disabled>.form-input span.icon{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-shadow:unset;cursor:default;filter:blur(.5px);opacity:.7}"]
4780
+ styles: [".form-input-con.select{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;font-size:12px;padding:0 15px;position:relative}.form-input-con.select.plaque{width:185px!important}.form-input-con.select>.form-input{float:right;position:relative;width:100%}.form-input-con.select>.form-input>.label{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;cursor:default;direction:rtl;float:right;font-size:12px;height:20px;line-height:20px;margin-bottom:3px;padding:0 10px;text-align:right;width:100%}.form-input-con.select.error>.form-input>.label{color:var(--red);font-size:10px}.form-input-con.select>.form-input>.label .required-icon{color:var(--red);font-size:9px;height:20px;line-height:20px;text-align:center;width:20px}.form-input-con.select>.form-input .without-search{cursor:pointer;height:100%;position:absolute;right:0;top:0;width:100%;z-index:3}.form-input-con.select>.form-input .control{background-color:#fff;background-image:none;border:var(--border-input);border-radius:var(--border-radius-base);color:var(--black);display:block;font-family:Vazir;font-size:11px;height:35px;padding:5px 35px;text-align:center;width:100%}.form-input-con.select>.form-input .control:focus,.form-input-con.select>.form-input:hover .control{border:1px solid var(--black-light);outline:none}.form-input-con.select>.form-input .control:focus{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;outline:none}.form-input-con.select.error>.form-input .control{border:var(--border-input-red)}.form-input-con.select.error>.form-input .control,.form-input-con.select.error>.form-input span.icon{color:var(--red)}.form-input-con.select.error>.form-input .control:focus,.form-input-con.select.error>.form-input:hover .control{border:var(--border-input-red-dark)}.form-input-con.select.top>.form-input .control:focus{border-radius:0 0 var(--border-radius-base) var(--border-radius-base);outline:none}.form-input-con.select>.form-input span.icon{bottom:0;color:var(--primary);font-size:15px;height:35px;left:0;line-height:37px;position:absolute;text-align:center;width:35px;z-index:1}.form-input-con.select>.form-input span.icon.button{background-color:var(--base);border-radius:5px 0 0 5px;color:#fff;cursor:pointer}.form-input-con.select>.form-input span.icon.button:hover{background-color:var(--base-dark)}.form-input-con.select>.form-input span.icon.button.blue{background-color:var(--blue)}.form-input-con.select>.form-input span.icon.button.blue:hover{background-color:var(--blue-dark)}.form-input-con.select>.form-input span.icon.button.green{background-color:var(--green)}.form-input-con.select>.form-input span.icon.button.green:hover{background-color:var(--green-dark)}.form-input-con.select>.form-input span.icon.button.red{background-color:var(--red)}.form-input-con.select>.form-input span.icon.button.red:hover{background-color:var(--red-dark)}.form-input-con.select>.form-input span.icon.button.yellow{background-color:var(--yellow)}.form-input-con.select>.form-input span.icon.button.yellow:hover{background-color:var(--yellow-dark)}.form-input-con.select>.form-input i.clear-icon{bottom:0;color:var(--red);cursor:pointer;font-size:15px;height:35px;line-height:35px;position:absolute;right:0;text-align:center;width:35px;z-index:1}.form-input-con.select>.form-input .options{background-color:#fff;border:var(--border-input);border-radius:0 0 var(--border-radius-base) var(--border-radius-base);cursor:pointer;overflow:hidden;position:absolute;right:0;top:-200000px;width:100%;z-index:103}.form-input-con.select>.form-input .control:focus+.options{top:35px!important}.form-input-con.select.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:35px;top:unset!important}.form-input-con.select>.form-input .options .items{float:right;max-height:200px;overflow-y:auto;scroll-behavior:smooth;width:100%}.form-input-con.select>.form-input .options .option{border-radius:0;float:right;font-size:11px;height:35px;line-height:35px;text-align:center;width:100%}.form-input-con.select .tags{float:right;width:100%}.form-input-con.select .tags .tag-con{float:right;padding:5px;width:auto}.form-input-con.select .tags .tag-con .tag{background-color:var(--base);border-radius:var(--border-radius-base);color:#fff;float:right;font-size:12px;height:25px;line-height:25px;overflow:hidden;position:relative;width:auto}.form-input-con.select .tags .tag-con .tag>.label{float:right;padding:0 5px 0 10px;width:auto}.form-input-con.select .tags .tag-con .tag>.delete{cursor:pointer;float:right;line-height:25px;text-align:center;width:25px}.form-input-con.select .tags .tag-con .tag>.delete:hover{background-color:var(--base-dark)}.form-input-con.select.h-50>.form-input .control{height:50px;line-height:50px}.form-input-con.select.h-50>.form-input .control:focus+.options{top:50px!important}.form-input-con.select.h-50.top>.form-input .options{bottom:50px;top:unset!important}.form-input-con.select.h-25,.form-input-con.select.h-25>.form-input .control{height:25px;line-height:25px}.form-input-con.select.h-25>.form-input span.icon{height:25px;line-height:25px;width:25px}.form-input-con.select.h-25>.form-input .control:focus+.options{top:25px!important}.form-input-con.select.h-25.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:25px;top:unset!important}.form-input-con.select.h-30,.form-input-con.select.h-30>.form-input .control{height:30px;line-height:30px;padding:0}.form-input-con.select.h-30>.form-input span.icon{height:30px;line-height:30px;width:30px}.form-input-con.select.h-30>.form-input .control:focus+.options{top:30px!important}.form-input-con.select.h-30.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:30px;top:unset!important}::ng-deep .form-input-con.select.h-30>.form-input .options .option{font-size:12px;height:30px;line-height:30px}.form-input-con.select.h-45,.form-input-con.select.h-45>.form-input .control{height:45px;line-height:45px}.form-input-con.select.h-45>.form-input .control::-moz-placeholder,.form-input-con.select.h-45>.form-input .control::-webkit-input-placeholder{font-size:12px}.form-input-con.select.h-45>.form-input span.icon{height:45px;line-height:45px;width:45px}.form-input-con.select.h-45>.form-input .control:focus+.options{top:45px!important}.form-input-con.select.h-45.top>.form-input .control:focus+.options{border-radius:var(--border-radius-base) var(--border-radius-base) 0 0;bottom:45px;top:unset!important}::ng-deep .form-input-con.select.h-45>.form-input .options .option{font-size:12px;min-height:40px}.form-input-con.select.without-icon.h-25>.form-input .control,.form-input-con.select.without-icon.h-30>.form-input .control{padding:0}.form-input-con.select.h-30>.form-input span.icon{font-size:11px}::ng-deep .form-input-con.select.without-sub-options>.form-input .options .option{width:100%}.form-input-con.select.disabled>.form-input .control,.form-input-con.select.disabled>.form-input .label,.form-input-con.select.disabled>.form-input span.icon{-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;box-shadow:unset;cursor:default;filter:blur(.5px);opacity:.7}"]
4776
4781
  },] }
4777
4782
  ];
4778
4783
  FormSelectComponent.propDecorators = {