limitng 0.14.26 → 0.14.28

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.
@@ -41,5 +41,6 @@ export declare class GlobalFunctions {
41
41
  static netsisTarihFormatiVer(tarih: Date): string;
42
42
  static netsisDovizTipiVer(paraBirimi: string): number;
43
43
  static netsisFatNoVer(faturaNo: string): string;
44
+ static resimMi(link: string): boolean;
44
45
  }
45
46
  //# sourceMappingURL=globalFunctions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"globalFunctions.d.ts","sourceRoot":"","sources":["../../src/app/components/api/globalFunctions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"globalFunctions.d.ts","sourceRoot":"","sources":["../../src/app/components/api/globalFunctions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"xlConfig.d.ts","sourceRoot":"","sources":["../../../src/app/components/api/models/xlConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xlConfig.d.ts","sourceRoot":"","sources":["../../../src/app/components/api/models/xlConfig.ts"],"names":[],"mappings":"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"}
@@ -483,5 +483,44 @@ export class GlobalFunctions {
483
483
  return faturaNo;
484
484
  }
485
485
  }
486
+ static resimMi(link) {
487
+ let resimMi = false;
488
+ const uzanti = link.split('.').pop();
489
+ switch (uzanti) {
490
+ case 'jpg':
491
+ resimMi = true;
492
+ break;
493
+ case 'jpeg':
494
+ resimMi = true;
495
+ break;
496
+ case 'jpe':
497
+ resimMi = true;
498
+ break;
499
+ case 'jfif':
500
+ resimMi = true;
501
+ break;
502
+ case 'tif':
503
+ resimMi = true;
504
+ break;
505
+ case 'tiff':
506
+ resimMi = true;
507
+ break;
508
+ case 'gif':
509
+ resimMi = true;
510
+ break;
511
+ case 'GIF':
512
+ resimMi = true;
513
+ break;
514
+ case 'png':
515
+ resimMi = true;
516
+ break;
517
+ case 'bmp':
518
+ resimMi = true;
519
+ break;
520
+ default:
521
+ break;
522
+ }
523
+ return resimMi;
524
+ }
486
525
  }
487
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsRnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FwaS9nbG9iYWxGdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0QsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFhLEVBQUUsT0FBZTtRQUU5QyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU1QyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVB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TyxDQUFDO2dCQUN6QyxPQUFPLENBQUMsQ0FBQztZQUNYLEtBQUssQ0FBQyxLQUFLLENBQUM7Z0JBQ1YsT0FBTyxDQUFDLENBQUM7WUFDWCxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUNWLE9BQU8sQ0FBQyxDQUFDO1lBQ1g7Z0JBQ0UsT0FBTyxDQUFDLENBQUM7U0FDWjtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQWdCO1FBQ3BDLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDMUIsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbEU7YUFDSTtZQUNILE9BQU8sUUFBUSxDQUFDO1NBQ2pCO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZm9ybWF0RGF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFNlbGVjdEl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IE1lY3JhVHVybGVyaSwgTWVjcmFUdXJsZXJpU3RyIH0gZnJvbSAnLi9tb2RlbHMvZW51bXMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEdsb2JhbEZ1bmN0aW9ucyB7XHJcbiAgc3RhdGljIHNoYWRlQ29sb3IoY29sb3I6IHN0cmluZywgcGVyY2VudDogbnVtYmVyKSB7XHJcblxyXG4gICAgbGV0IFIgPSBwYXJzZUludChjb2xvci5zdWJzdHJpbmcoMSwgMyksIDE2KTtcclxuICAgIGxldCBHID0gcGFyc2VJbnQoY29sb3Iuc3Vic3RyaW5nKDMsIDUpLCAxNik7XHJcbiAgICBsZXQgQiA9IHBhcnNlSW50KGNvbG9yLnN1YnN0cmluZyg1LCA3KSwgMTYpO1xyXG5cclxuICAgIFIgPSBwYXJzZUludCgoUiAqICgxMDAgKyBwZXJjZW50KSAvIDEwMCkudG9TdHJpbmcoKSwgMCk7XHJcbiAgICBHID0gcGFyc2VJbnQoKEcgKiAoMTAwICsgcGVyY2VudCkgLyAxMDApLnRvU3RyaW5nKCksIDApO1xyXG4gICAgQiA9IHBhcnNlSW50KChCICogKDEwMCArIHBlcmNlbnQpIC8gMTAwKS50b1N0cmluZygpLCAwKTtcclxuXHJcbiAgICBSID0gKFIgPCAyNTUpID8gUiA6IDI1NTtcclxuICAgIEcgPSAoRyA8IDI1NSkgPyBHIDogMjU1O1xyXG4gICAgQiA9IChCIDwgMjU1KSA/IEIgOiAyNTU7XHJcblxyXG4gICAgY29uc3QgUlIgPSAoKFIudG9TdHJpbmcoMTYpLmxlbmd0aCA9PT0gMSkgPyAnMCcgKyBSLnRvU3RyaW5nKDE2KSA6IFIudG9TdHJpbmcoMTYpKTtcclxuICAgIGNvbnN0IEdHID0gKChHLnRvU3RyaW5nKDE2KS5sZW5ndGggPT09IDEpID8gJzAnICsgRy50b1N0cmluZygxNikgOiBHLnRvU3RyaW5nKDE2KSk7XHJcbiAgICBjb25zdCBCQiA9ICgoQi50b1N0cmluZygxNikubGVuZ3RoID09PSAxKSA/ICcwJyArIEIudG9TdHJpbmcoMTYpIDogQi50b1N0cmluZygxNikpO1xyXG5cclxuICAgIHJldHVybiAnIycgKyBSUiArIEdHICsgQkI7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgeWFyaW1TYWF0ZVl1dmFybGEodmFsdWU6IG51bWJlciwgc3RlcFBhcmFtOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHN0ZXAgPSBzdGVwUGFyYW0gfHwgKHN0ZXBQYXJhbSA9IDEuMCk7XHJcbiAgICBjb25zdCBpbnYgPSAxLjAgLyBzdGVwO1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUgKiBpbnYpIC8gaW52O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGV2ZW5Sb3VuZChudW06IG51bWJlciwgZGVjaW1hbFBsYWNlczogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IGQgPSBkZWNpbWFsUGxhY2VzIHx8IDA7XHJcbiAgICBjb25zdCBtID0gTWF0aC5wb3coMTAsIGQpO1xyXG4gICAgY29uc3QgbiA9ICsoZCA/IG51bSAqIG0gOiBudW0pLnRvRml4ZWQoOCk7IC8vIEF2b2lkIHJvdW5kaW5nIGVycm9yc1xyXG4gICAgY29uc3QgaSA9IE1hdGguZmxvb3Iobik7XHJcbiAgICBjb25zdCBmID0gbiAtIGk7XHJcbiAgICBjb25zdCBlID0gMWUtODsgLy8gQWxsb3cgZm9yIHJvdW5kaW5nIGVycm9ycyBpbiBmXHJcbiAgICBjb25zdCByID0gKGYgPiAwLjUgLSBlICYmIGYgPCAwLjUgKyBlKSA/ICgoaSAlIDIgPT09IDApID8gaSA6IGkgKyAxKSA6IE1hdGgucm91bmQobik7XHJcbiAgICByZXR1cm4gZCA/IHIgLyBtIDogcjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByb3VuZElraUhhbmUocGFyYW06IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gTWF0aC5mbG9vcihwYXJhbSAqIDEwMCkgLyAxMDA7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaWtpU2F5aUZhcmsocGFyYW0xOiBudW1iZXIsIHBhcmFtMjogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLnJvdW5kKChwYXJhbTEgLSBwYXJhbTIpICogMTAwKSAvIDEwMDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpa2lTYXlpVG9wbGEocGFyYW0xOiBudW1iZXIsIHBhcmFtMjogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLnJvdW5kKChwYXJhbTEgKyBwYXJhbTIpICogMTAwKSAvIDEwMDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBzdHJUb051bWJlcihtZXRpbjogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIGxldCBzdHIgPSBtZXRpbjtcclxuICAgIHN0ciA9IHN0ci5zcGxpdCgnLCcpLmpvaW4oJy4nKTtcclxuICAgIGNvbnN0IHJlZ2V4ID0gL1teXFxkLi1dL2c7XHJcbiAgICBzdHIgPSBzdHIucmVwbGFjZShyZWdleCwgJycpO1xyXG4gICAgY29uc3QgYXJyID0gc3RyLnNwbGl0KCcuJyk7XHJcbiAgICBpZiAoYXJyLmxlbmd0aCA+IDIpIHsgLy8gQmlyZGVuIMOnb2sgbm9rdGEgdmFyc2FcclxuICAgICAgY29uc3Qgc29uID0gYXJyLnBvcCgpO1xyXG4gICAgICBzdHIgPSBhcnIuam9pbignJykgKyAnLicgKyBzb247XHJcbiAgICB9XHJcbiAgICByZXR1cm4gTnVtYmVyKHN0cik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgc3V0dW5TdHJWZXIoZ2VuaXNsaWs6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA1NzYpIHsgcmV0dXJuICd4cyc7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDc2OCkgeyByZXR1cm4gJ3NtJzsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgOTkyKSB7IHJldHVybiAnbWQnOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCAxMjAwKSB7IHJldHVybiAnbGcnOyB9XHJcbiAgICByZXR1cm4gJ3hsJztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBzdXR1bkdlbk5vVmVyKGdlbmlzbGlrOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgaWYgKGdlbmlzbGlrIDwgNTc2KSB7IHJldHVybiAxOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA3NjgpIHsgcmV0dXJuIDI7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDk5MikgeyByZXR1cm4gMzsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgMTIwMCkgeyByZXR1cm4gNDsgfVxyXG4gICAgcmV0dXJuIDU7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGF0ZVRvVGV4dCh0YXJpaDogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICBpZiAoKHRhcmloICE9PSB1bmRlZmluZWQpICYmICh0YXJpaCAhPT0gbnVsbCkpIHtcclxuICAgICAgcmV0dXJuIHRhcmloLmdldERhdGUoKS50b1N0cmluZygpICsgJy4nICsgKHRhcmloLmdldE1vbnRoKCkgKyAxKS50b1N0cmluZygpICsgJy4nICsgdGFyaWguZ2V0RnVsbFllYXIoKS50b1N0cmluZygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5SWxrR3VuKGF5OiBudW1iZXIsIHlpbDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoeWlsLCBheSAtIDEpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5U29uR3VuKGF5OiBudW1iZXIsIHlpbDogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoeWlsLCBheSwgMCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgSlNPTkRhdGVUb0RhdGUodGFyaWg6IERhdGUpOiBEYXRlIHtcclxuICAgIGlmICgodGFyaWggIT09IHVuZGVmaW5lZCkgJiYgKHRhcmloICE9PSBudWxsKSkge1xyXG4gICAgICBjb25zdCB0ZW1wID0gdGFyaWgudG9TdHJpbmcoKTtcclxuICAgICAgaWYgKHRlbXAgIT09ICcwMDAwLTAwLTAwJykge1xyXG4gICAgICAgIHJldHVybiBuZXcgRGF0ZSh0ZW1wKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBheUFkaVZlcihheU5vOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChheU5vKSB7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICByZXR1cm4gJ09jYWsnO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgcmV0dXJuICfFnnViYXQnO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgcmV0dXJuICdNYXJ0JztcclxuICAgICAgY2FzZSA0OlxyXG4gICAgICAgIHJldHVybiAnTmlzYW4nO1xyXG4gICAgICBjYXNlIDU6XHJcbiAgICAgICAgcmV0dXJuICdNYXnEsXMnO1xyXG4gICAgICBjYXNlIDY6XHJcbiAgICAgICAgcmV0dXJuICdIYXppcmFuJztcclxuICAgICAgY2FzZSA3OlxyXG4gICAgICAgIHJldHVybiAnVGVtbXV6JztcclxuICAgICAgY2FzZSA4OlxyXG4gICAgICAgIHJldHVybiAnQcSfdXN0b3MnO1xyXG4gICAgICBjYXNlIDk6XHJcbiAgICAgICAgcmV0dXJuICdFeWzDvGwnO1xyXG4gICAgICBjYXNlIDEwOlxyXG4gICAgICAgIHJldHVybiAnRWtpbSc7XHJcbiAgICAgIGNhc2UgMTE6XHJcbiAgICAgICAgcmV0dXJuICdLYXPEsW0nO1xyXG4gICAgICBjYXNlIDEyOlxyXG4gICAgICAgIHJldHVybiAnQXJhbMSxayc7XHJcbiAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBheUFkaVZlcktpc2EoYXlObzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAoYXlObykge1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgcmV0dXJuICdPY2EnO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgcmV0dXJuICfFnnViJztcclxuICAgICAgY2FzZSAzOlxyXG4gICAgICAgIHJldHVybiAnTWFyJztcclxuICAgICAgY2FzZSA0OlxyXG4gICAgICAgIHJldHVybiAnTmlzJztcclxuICAgICAgY2FzZSA1OlxyXG4gICAgICAgIHJldHVybiAnTWF5JztcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHJldHVybiAnSGF6JztcclxuICAgICAgY2FzZSA3OlxyXG4gICAgICAgIHJldHVybiAnVGVtJztcclxuICAgICAgY2FzZSA4OlxyXG4gICAgICAgIHJldHVybiAnQcSfdSc7XHJcbiAgICAgIGNhc2UgOTpcclxuICAgICAgICByZXR1cm4gJ0V5bCc7XHJcbiAgICAgIGNhc2UgMTA6XHJcbiAgICAgICAgcmV0dXJuICdFa2knO1xyXG4gICAgICBjYXNlIDExOlxyXG4gICAgICAgIHJldHVybiAnS2FzJztcclxuICAgICAgY2FzZSAxMjpcclxuICAgICAgICByZXR1cm4gJ0FyYSc7XHJcbiAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBheU5vVmVyKGF5OiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgc3dpdGNoIChheSkge1xyXG4gICAgICBjYXNlICdPYyc6XHJcbiAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgIGNhc2UgJ8WedSc6XHJcbiAgICAgICAgcmV0dXJuIDI7XHJcbiAgICAgIGNhc2UgJ01hJzpcclxuICAgICAgICByZXR1cm4gMztcclxuICAgICAgY2FzZSAnTmknOlxyXG4gICAgICAgIHJldHVybiA0O1xyXG4gICAgICBjYXNlICdNeSc6XHJcbiAgICAgICAgcmV0dXJuIDU7XHJcbiAgICAgIGNhc2UgJ0hhJzpcclxuICAgICAgICByZXR1cm4gNjtcclxuICAgICAgY2FzZSAnVGUnOlxyXG4gICAgICAgIHJldHVybiA3O1xyXG4gICAgICBjYXNlICdBxJ8nOlxyXG4gICAgICAgIHJldHVybiA4O1xyXG4gICAgICBjYXNlICdFeSc6XHJcbiAgICAgICAgcmV0dXJuIDk7XHJcbiAgICAgIGNhc2UgJ0VrJzpcclxuICAgICAgICByZXR1cm4gMTA7XHJcbiAgICAgIGNhc2UgJ0thJzpcclxuICAgICAgICByZXR1cm4gMTE7XHJcbiAgICAgIGNhc2UgJ0FyJzpcclxuICAgICAgICByZXR1cm4gMTI7XHJcbiAgICAgIGRlZmF1bHQ6IHtcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGd1bkFkaVZlcihndW5ObzogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAoZ3VuTm8pIHtcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHJldHVybiAnUGF6YXJ0ZXNpJztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIHJldHVybiAnU2FsxLEnO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgcmV0dXJuICfDh2FyxZ9hbWJhJztcclxuICAgICAgY2FzZSA0OlxyXG4gICAgICAgIHJldHVybiAnUGVyxZ9lbWJlJztcclxuICAgICAgY2FzZSA1OlxyXG4gICAgICAgIHJldHVybiAnQ3VtYSc7XHJcbiAgICAgIGNhc2UgNjpcclxuICAgICAgICByZXR1cm4gJ0N1bWFydGVzaSc7XHJcbiAgICAgIGNhc2UgMDpcclxuICAgICAgICByZXR1cm4gJ1BhemFyJztcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGd1bkFydHRpckF6YWx0KHRhcmloOiBEYXRlLCBndW5TYXlpc2k6IG51bWJlcik6IERhdGUge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHRhcmloLmdldFRpbWUoKSArIGd1blNheWlzaSAqIDI0ICogNjAgKiA2MCAqIDEwMDApO1xyXG5cclxuICB9XHJcblxyXG4gIHN0YXRpYyB0YXJpaFBhcmFtVG9EYXRlKHBhcmFtOiBzdHJpbmcpOiBEYXRlIHtcclxuICAgIGxldCB0YXJpaDogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICBpZiAocGFyYW0gIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgdGFyaWhBcnI6IHN0cmluZ1tdID0gcGFyYW0uc3BsaXQoJy0nKTtcclxuICAgICAgaWYgKHRhcmloQXJyLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICBjb25zdCBndW4gPSBOdW1iZXIodGFyaWhBcnJbMF0pO1xyXG4gICAgICAgIGNvbnN0IGF5ID0gTnVtYmVyKHRhcmloQXJyWzFdKSAtIDE7XHJcbiAgICAgICAgY29uc3QgeWlsID0gTnVtYmVyKHRhcmloQXJyWzJdKTtcclxuICAgICAgICB0YXJpaCA9IG5ldyBEYXRlKHlpbCwgYXksIGd1bik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0YXJpaDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkYXRlVG9UYXJpaFBhcmFtKHBhcmFtOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGlmIChwYXJhbSAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBndW4gPSBwYXJhbS5nZXREYXRlKCk7XHJcbiAgICAgIGNvbnN0IGF5ID0gcGFyYW0uZ2V0TW9udGgoKSArIDE7XHJcbiAgICAgIGNvbnN0IHlpbCA9IHBhcmFtLmdldEZ1bGxZZWFyKCk7XHJcbiAgICAgIHJldHVybiBndW4udG9TdHJpbmcoKSArICctJyArIGF5LnRvU3RyaW5nKCkgKyAnLScgKyB5aWwudG9TdHJpbmcoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRGaWxlRXh0ZW5zaW9uKGZpbGU6IEZpbGUpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICcuJyArIGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGhleFRvUkdCQShoZXgsIGFscGhhKSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhoZXgpO1xyXG4gICAgY29uc3QgciA9IHBhcnNlSW50KGhleC5zbGljZSgxLCAzKSwgMTYpO1xyXG4gICAgY29uc3QgZyA9IHBhcnNlSW50KGhleC5zbGljZSgzLCA1KSwgMTYpO1xyXG4gICAgY29uc3QgYiA9IHBhcnNlSW50KGhleC5zbGljZSg1LCA3KSwgMTYpO1xyXG5cclxuICAgIC8vIHJldHVybiByICsgJywnICsgZyArICcsJyArIGI7XHJcblxyXG4gICAgaWYgKGFscGhhKSB7XHJcbiAgICAgIHJldHVybiBgcmdiYSgke3J9LCAke2d9LCAke2J9LCAke2FscGhhfSlgO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0pYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBjb2xvck5hbWVUb0hleChjb2xvcikge1xyXG4gICAgY29uc3QgY29sb3JzID0ge1xyXG4gICAgICBhbGljZWJsdWU6ICcjZjBmOGZmJywgYW50aXF1ZXdoaXRlOiAnI2ZhZWJkNycsIGFxdWE6ICcjMDBmZmZmJywgYXF1YW1hcmluZTogJyM3ZmZmZDQnLCBhenVyZTogJyNmMGZmZmYnLFxyXG4gICAgICBiZWlnZTogJyNmNWY1ZGMnLCBiaXNxdWU6ICcjZmZlNGM0JywgYmxhY2s6ICcjMDAwMDAwJywgYmxhbmNoZWRhbG1vbmQ6ICcjZmZlYmNkJywgYmx1ZTogJyMwMDAwZmYnLCBibHVldmlvbGV0OiAnIzhhMmJlMicsIGJyb3duOiAnI2E1MmEyYScsIGJ1cmx5d29vZDogJyNkZWI4ODcnLFxyXG4gICAgICBjYWRldGJsdWU6ICcjNWY5ZWEwJywgY2hhcnRyZXVzZTogJyM3ZmZmMDAnLCBjaG9jb2xhdGU6ICcjZDI2OTFlJywgY29yYWw6ICcjZmY3ZjUwJywgY29ybmZsb3dlcmJsdWU6ICcjNjQ5NWVkJywgY29ybnNpbGs6ICcjZmZmOGRjJywgY3JpbXNvbjogJyNkYzE0M2MnLCBjeWFuOiAnIzAwZmZmZicsXHJcbiAgICAgIGRhcmtibHVlOiAnIzAwMDA4YicsIGRhcmtjeWFuOiAnIzAwOGI4YicsIGRhcmtnb2xkZW5yb2Q6ICcjYjg4NjBiJywgZGFya2dyYXk6ICcjYTlhOWE5JywgZGFya2dyZWVuOiAnIzAwNjQwMCcsIGRhcmtraGFraTogJyNiZGI3NmInLCBkYXJrbWFnZW50YTogJyM4YjAwOGInLCBkYXJrb2xpdmVncmVlbjogJyM1NTZiMmYnLFxyXG4gICAgICBkYXJrb3JhbmdlOiAnI2ZmOGMwMCcsIGRhcmtvcmNoaWQ6ICcjOTkzMmNjJywgZGFya3JlZDogJyM4YjAwMDAnLCBkYXJrc2FsbW9uOiAnI2U5OTY3YScsIGRhcmtzZWFncmVlbjogJyM4ZmJjOGYnLCBkYXJrc2xhdGVibHVlOiAnIzQ4M2Q4YicsIGRhcmtzbGF0ZWdyYXk6ICcjMmY0ZjRmJywgZGFya3R1cnF1b2lzZTogJyMwMGNlZDEnLFxyXG4gICAgICBkYXJrdmlvbGV0OiAnIzk0MDBkMycsIGRlZXBwaW5rOiAnI2ZmMTQ5MycsIGRlZXBza3libHVlOiAnIzAwYmZmZicsIGRpbWdyYXk6ICcjNjk2OTY5JywgZG9kZ2VyYmx1ZTogJyMxZTkwZmYnLFxyXG4gICAgICBmaXJlYnJpY2s6ICcjYjIyMjIyJywgZmxvcmFsd2hpdGU6ICcjZmZmYWYwJywgZm9yZXN0Z3JlZW46ICcjMjI4YjIyJywgZnVjaHNpYTogJyNmZjAwZmYnLFxyXG4gICAgICBnYWluc2Jvcm86ICcjZGNkY2RjJywgZ2hvc3R3aGl0ZTogJyNmOGY4ZmYnLCBnb2xkOiAnI2ZmZDcwMCcsIGdvbGRlbnJvZDogJyNkYWE1MjAnLCBncmF5OiAnIzgwODA4MCcsIGdyZWVuOiAnIzAwODAwMCcsIGdyZWVueWVsbG93OiAnI2FkZmYyZicsXHJcbiAgICAgIGhvbmV5ZGV3OiAnI2YwZmZmMCcsIGhvdHBpbms6ICcjZmY2OWI0JyxcclxuICAgICAgaW5kaWFucmVkOiAnI2NkNWM1YycsIGluZGlnbzogJyM0YjAwODInLCBpdm9yeTogJyNmZmZmZjAnLCBraGFraTogJyNmMGU2OGMnLFxyXG4gICAgICBsYXZlbmRlcjogJyNlNmU2ZmEnLCBsYXZlbmRlcmJsdXNoOiAnI2ZmZjBmNScsIGxhd25ncmVlbjogJyM3Y2ZjMDAnLCBsZW1vbmNoaWZmb246ICcjZmZmYWNkJywgbGlnaHRibHVlOiAnI2FkZDhlNicsIGxpZ2h0Y29yYWw6ICcjZjA4MDgwJywgbGlnaHRjeWFuOiAnI2UwZmZmZicsIGxpZ2h0Z29sZGVucm9keWVsbG93OiAnI2ZhZmFkMicsXHJcbiAgICAgIGxpZ2h0Z3JleTogJyNkM2QzZDMnLCBsaWdodGdyZWVuOiAnIzkwZWU5MCcsIGxpZ2h0cGluazogJyNmZmI2YzEnLCBsaWdodHNhbG1vbjogJyNmZmEwN2EnLCBsaWdodHNlYWdyZWVuOiAnIzIwYjJhYScsIGxpZ2h0c2t5Ymx1ZTogJyM4N2NlZmEnLCBsaWdodHNsYXRlZ3JheTogJyM3Nzg4OTknLCBsaWdodHN0ZWVsYmx1ZTogJyNiMGM0ZGUnLFxyXG4gICAgICBsaWdodHllbGxvdzogJyNmZmZmZTAnLCBsaW1lOiAnIzAwZmYwMCcsIGxpbWVncmVlbjogJyMzMmNkMzInLCBsaW5lbjogJyNmYWYwZTYnLFxyXG4gICAgICBtYWdlbnRhOiAnI2ZmMDBmZicsIG1hcm9vbjogJyM4MDAwMDAnLCBtZWRpdW1hcXVhbWFyaW5lOiAnIzY2Y2RhYScsIG1lZGl1bWJsdWU6ICcjMDAwMGNkJywgbWVkaXVtb3JjaGlkOiAnI2JhNTVkMycsIG1lZGl1bXB1cnBsZTogJyM5MzcwZDgnLCBtZWRpdW1zZWFncmVlbjogJyMzY2IzNzEnLCBtZWRpdW1zbGF0ZWJsdWU6ICcjN2I2OGVlJyxcclxuICAgICAgbWVkaXVtc3ByaW5nZ3JlZW46ICcjMDBmYTlhJywgbWVkaXVtdHVycXVvaXNlOiAnIzQ4ZDFjYycsIG1lZGl1bXZpb2xldHJlZDogJyNjNzE1ODUnLCBtaWRuaWdodGJsdWU6ICcjMTkxOTcwJywgbWludGNyZWFtOiAnI2Y1ZmZmYScsIG1pc3R5cm9zZTogJyNmZmU0ZTEnLCBtb2NjYXNpbjogJyNmZmU0YjUnLFxyXG4gICAgICBuYXZham93aGl0ZTogJyNmZmRlYWQnLCBuYXZ5OiAnIzAwMDA4MCcsXHJcbiAgICAgIG9sZGxhY2U6ICcjZmRmNWU2Jywgb2xpdmU6ICcjODA4MDAwJywgb2xpdmVkcmFiOiAnIzZiOGUyMycsIG9yYW5nZTogJyNmZmE1MDAnLCBvcmFuZ2VyZWQ6ICcjZmY0NTAwJywgb3JjaGlkOiAnI2RhNzBkNicsXHJcbiAgICAgIHBhbGVnb2xkZW5yb2Q6ICcjZWVlOGFhJywgcGFsZWdyZWVuOiAnIzk4ZmI5OCcsIHBhbGV0dXJxdW9pc2U6ICcjYWZlZWVlJywgcGFsZXZpb2xldHJlZDogJyNkODcwOTMnLCBwYXBheWF3aGlwOiAnI2ZmZWZkNScsIHBlYWNocHVmZjogJyNmZmRhYjknLCBwZXJ1OiAnI2NkODUzZicsIHBpbms6ICcjZmZjMGNiJywgcGx1bTogJyNkZGEwZGQnLCBwb3dkZXJibHVlOiAnI2IwZTBlNicsIHB1cnBsZTogJyM4MDAwODAnLFxyXG4gICAgICByZWJlY2NhcHVycGxlOiAnIzY2MzM5OScsIHJlZDogJyNmZjAwMDAnLCByb3N5YnJvd246ICcjYmM4ZjhmJywgcm95YWxibHVlOiAnIzQxNjllMScsXHJcbiAgICAgIHNhZGRsZWJyb3duOiAnIzhiNDUxMycsIHNhbG1vbjogJyNmYTgwNzInLCBzYW5keWJyb3duOiAnI2Y0YTQ2MCcsIHNlYWdyZWVuOiAnIzJlOGI1NycsIHNlYXNoZWxsOiAnI2ZmZjVlZScsIHNpZW5uYTogJyNhMDUyMmQnLCBzaWx2ZXI6ICcjYzBjMGMwJywgc2t5Ymx1ZTogJyM4N2NlZWInLCBzbGF0ZWJsdWU6ICcjNmE1YWNkJywgc2xhdGVncmF5OiAnIzcwODA5MCcsIHNub3c6ICcjZmZmYWZhJywgc3ByaW5nZ3JlZW46ICcjMDBmZjdmJywgc3RlZWxibHVlOiAnIzQ2ODJiNCcsXHJcbiAgICAgIHRhbjogJyNkMmI0OGMnLCB0ZWFsOiAnIzAwODA4MCcsIHRoaXN0bGU6ICcjZDhiZmQ4JywgdG9tYXRvOiAnI2ZmNjM0NycsIHR1cnF1b2lzZTogJyM0MGUwZDAnLFxyXG4gICAgICB2aW9sZXQ6ICcjZWU4MmVlJyxcclxuICAgICAgd2hlYXQ6ICcjZjVkZWIzJywgd2hpdGU6ICcjZmZmZmZmJywgd2hpdGVzbW9rZTogJyNmNWY1ZjUnLFxyXG4gICAgICB5ZWxsb3c6ICcjZmZmZjAwJywgeWVsbG93Z3JlZW46ICcjOWFjZDMyJ1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAodHlwZW9mIGNvbG9yc1tjb2xvci50b0xvd2VyQ2FzZSgpXSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgcmV0dXJuIGNvbG9yc1tjb2xvci50b0xvd2VyQ2FzZSgpXTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29sb3I7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RmlsZW5hbWVGcm9tQ29udGVudERpc3Bvc2l0aW9uKGNvbnRlbnREaXNwb3NpdGlvbjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCByZWdleCA9IC9maWxlbmFtZVteOz1cXG5dKj0oVVRGLTgoWydcIl0qKSk/KC4qKS87XHJcbiAgICBjb25zdCBtYXRjaGVzID0gcmVnZXguZXhlYyhjb250ZW50RGlzcG9zaXRpb24pO1xyXG4gICAgbGV0IGZpbGVuYW1lID0gJyc7XHJcblxyXG4gICAgaWYgKG1hdGNoZXMgIT0gbnVsbCAmJiBtYXRjaGVzWzNdKSB7XHJcbiAgICAgIGZpbGVuYW1lID0gbWF0Y2hlc1szXS5yZXBsYWNlKC9bJ1wiXS9nLCAnJyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGRlY29kZVVSSShmaWxlbmFtZSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdGVtYUd1bk5vVmVyKCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBkbiA9IG5ldyBEYXRlKCkuZ2V0RGF5KCk7XHJcbiAgICBpZiAoZG4gPT09IDApIHtcclxuICAgICAgcmV0dXJuIDY7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIGRuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNpZnRCb3NsdWtUZWtZYXAobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwYXJjYWxhciA9IG1ldGluLnNwbGl0KCcgICcpO1xyXG4gICAgcmV0dXJuIHBhcmNhbGFyLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIC8qXHJcbiAgc3RhdGljIHJha2FtbGFyaVRlbWl6bGUobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbWV0aW4ucmVwbGFjZSgvWzAtOV0vZywgJycpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGJvc2x1a2xhcmlUZW1pemxlKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1ldGluLnJlcGxhY2UoLyAvZywgJycpO1xyXG4gIH1cclxuKi9cclxuXHJcbiAgc3RhdGljIGJ1eXVrSGFyZmVDZXZpcihtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtZXRpbi50b0xvY2FsZVVwcGVyQ2FzZSgndHItVFInKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpbGtIYXJmQnV5dXQobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB1enVubHVrID0gbWV0aW4ubGVuZ3RoO1xyXG4gICAgaWYgKHV6dW5sdWsgPiAwKSB7XHJcbiAgICAgIGlmICh1enVubHVrID4gMSkge1xyXG4gICAgICAgIHJldHVybiBtZXRpbi5zdWJzdHIoMCwgMSkudG9Mb2NhbGVVcHBlckNhc2UoJ3RyLVRSJykgKyBtZXRpbi5zdWJzdHIoMSwgMTAwKS50b0xvY2FsZUxvd2VyQ2FzZSgndHItVFInKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbWV0aW4uc3Vic3RyKDAsIDEpLnRvTG9jYWxlVXBwZXJDYXNlKCd0ci1UUicpO1xyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyB0dW1JbGtIYXJmQnV5dXQobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwYXJjYWxhciA9IG1ldGluLnNwbGl0KCcgJyk7XHJcbiAgICBjb25zdCBzb251YyA9IFtdO1xyXG4gICAgcGFyY2FsYXIuZm9yRWFjaChwYXJjYSA9PiB7XHJcbiAgICAgIHNvbnVjLnB1c2godGhpcy5pbGtIYXJmQnV5dXQocGFyY2EpKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBzb251Yy5qb2luKCcgJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdHVtQm9zbHVrU2lsKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGFyY2FsYXIgPSBtZXRpbi5zcGxpdCgnICcpO1xyXG4gICAgcmV0dXJuIHBhcmNhbGFyLmpvaW4oJycpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHR1cmtjZUF5aWtsYShtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBzb251YyA9IG1ldGluO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDnCcsICdVJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8SeJywgJ0cnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxLAnLCAnSScpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfFnicsICdTJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8OHJywgJ0MnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw5YnLCAnTycpO1xyXG5cclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw7wnLCAndScpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfEnycsICdnJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8SxJywgJ2knKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxZ8nLCAncycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDpycsICdjJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8O2JywgJ28nKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxb4nLCAnaScpO1xyXG5cclxuICAgIC8vIHNvbnVjID0gc29udWMucmVwbGFjZSgvW1xcdTAzMDAtXFx1MDM2Zl0vZywgJycpO1xyXG4gICAgcmV0dXJuIHNvbnVjO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1lY3JhVHVydU5vVmVyKG1lY3JhVHVydVN0cjogTWVjcmFUdXJsZXJpU3RyKTogTWVjcmFUdXJsZXJpIHtcclxuICAgIHN3aXRjaCAobWVjcmFUdXJ1U3RyKSB7XHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlR1bXU6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5UdW11O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuVFY6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5UVjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkdhemV0ZTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkdhemV0ZTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkRlcmdpOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuRGVyZ2k7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5SYWR5bzpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlJhZHlvO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuU2luZW1hOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuU2luZW1hO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuT3V0ZG9vcjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLk91dGRvb3I7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5JbnRlcm5ldDpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkludGVybmV0O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuSGlicml0VFY6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5IaWJyaXRUVjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlNwb25zb3JsdWs6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5TcG9uc29ybHVrO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuQmVsaXJzaXo6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5CZWxpcnNpejtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkJvczpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkJvcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBtZWNyYVR1cnVTdHJWZXIobWVjcmFUdXJ1Tm86IE1lY3JhVHVybGVyaSk6IE1lY3JhVHVybGVyaVN0ciB7XHJcbiAgICBzd2l0Y2ggKG1lY3JhVHVydU5vKSB7XHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlR1bXU6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5UdW11O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuVFY6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5UVjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkdhemV0ZTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkdhemV0ZTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkRlcmdpOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuRGVyZ2k7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5SYWR5bzpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlJhZHlvO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuU2luZW1hOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuU2luZW1hO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuT3V0ZG9vcjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLk91dGRvb3I7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5JbnRlcm5ldDpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkludGVybmV0O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuSGlicml0VFY6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5IaWJyaXRUVjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlNwb25zb3JsdWs6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5TcG9uc29ybHVrO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuQmVsaXJzaXo6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5CZWxpcnNpejtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkJvczpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkJvcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBwYWRMZWFkaW5nWmVyb3MobnVtOiBudW1iZXIsIHNpemU6IG51bWJlcikge1xyXG4gICAgbGV0IHMgPSBudW0gKyAnJztcclxuICAgIHdoaWxlIChzLmxlbmd0aCA8IHNpemUpIHMgPSAnMCcgKyBzO1xyXG4gICAgcmV0dXJuIHM7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXJyYXlUb1NlbGVjdEl0ZW0oYXJyYXk6IHN0cmluZ1tdKTogU2VsZWN0SXRlbTxzdHJpbmc+W10ge1xyXG4gICAgcmV0dXJuIGFycmF5Lm1hcChlbGVtZW50ID0+IHtcclxuICAgICAgcmV0dXJuIHsgbGFiZWw6IGVsZW1lbnQsIHZhbHVlOiBlbGVtZW50IH07XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGFycmF5TnVtYmVyVG9TZWxlY3RJdGVtKGFycmF5OiBudW1iZXJbXSk6IFNlbGVjdEl0ZW08bnVtYmVyPltdIHtcclxuICAgIHJldHVybiBhcnJheS5tYXAoZWxlbWVudCA9PiB7XHJcbiAgICAgIHJldHVybiB7IGxhYmVsOiBlbGVtZW50LnRvU3RyaW5nKCksIHZhbHVlOiBlbGVtZW50IH07XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIFZCU1JlYWxUb1RleHQoc2F5aTogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIC8vIHJldHVybiBzYXlpLnRvU3RyaW5nKCkucmVwbGFjZSgvWyxdL2csICcuJylcclxuICAgIHJldHVybiBzYXlpLnRvU3RyaW5nKCkucmVwbGFjZSgnLCcsICcuJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbmV0c2lzVGFyaWhGb3JtYXRpVmVyKHRhcmloOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGxldCBmb3JtYXRsaVRhcmloID0gJyc7XHJcbiAgICBmb3JtYXRsaVRhcmloID0gZm9ybWF0RGF0ZSh0YXJpaCwgJ3l5eXknLCAndHItVFInKSArICctJyArIGZvcm1hdERhdGUodGFyaWgsICdNTScsICd0ci1UUicpO1xyXG4gICAgZm9ybWF0bGlUYXJpaCArPSAnLScgKyBmb3JtYXREYXRlKHRhcmloLCAnZGQnLCAndHItVFInKSArICcgMDA6MDA6MDAuMDAwJ1xyXG4gICAgcmV0dXJuIGZvcm1hdGxpVGFyaWg7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbmV0c2lzRG92aXpUaXBpVmVyKHBhcmFCaXJpbWk6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBzd2l0Y2ggKHBhcmFCaXJpbWkpIHtcclxuICAgICAgY2FzZSAoJyQnIHx8ICdVU0QnKTpcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgICAgY2FzZSAoJ+KCrCcgfHwgJ0V1cicgfHwgJ0VVJyB8fCAnRXVybycgfHwgJ0F2cm8nKTpcclxuICAgICAgICByZXR1cm4gMTM7XHJcbiAgICAgIGNhc2UgKCfCoycgfHwgJ0dCUCcgfHwgJ1N0ZXJsaW4nIHx8ICdQb3VuZCcpOlxyXG4gICAgICAgIHJldHVybiAzO1xyXG4gICAgICBjYXNlICgnU0VLJyk6XHJcbiAgICAgICAgcmV0dXJuIDY7XHJcbiAgICAgIGNhc2UgKCdDSEYnKTpcclxuICAgICAgICByZXR1cm4gNTtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXRpYyBuZXRzaXNGYXROb1ZlcihmYXR1cmFObzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGlmIChmYXR1cmFOby5sZW5ndGggPT09IDE2KSB7XHJcbiAgICAgIHJldHVybiBmYXR1cmFOby5zbGljZSgwLCA3KSArIGZhdHVyYU5vLnNsaWNlKDgsIGZhdHVyYU5vLmxlbmd0aCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhdHVyYU5vO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
526
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsRnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2FwaS9nbG9iYWxGdW5jdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0QsTUFBTSxPQUFPLGVBQWU7SUFDMUIsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFhLEVBQUUsT0FBZTtRQUU5QyxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUU1QyxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVB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QUNmLE1BQU07WUFFUixLQUFLLEtBQUs7Z0JBQ1IsT0FBTyxHQUFHLElBQUksQ0FBQztnQkFDZixNQUFNO1lBRVIsS0FBSyxLQUFLO2dCQUNSLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ2YsTUFBTTtZQUVSLEtBQUssS0FBSztnQkFDUixPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNmLE1BQU07WUFFUjtnQkFDRSxNQUFNO1NBQ1Q7UUFDRCxPQUFPLE9BQU8sQ0FBQTtJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgTWVjcmFUdXJsZXJpLCBNZWNyYVR1cmxlcmlTdHIgfSBmcm9tICcuL21vZGVscy9lbnVtcyc7XHJcblxyXG5leHBvcnQgY2xhc3MgR2xvYmFsRnVuY3Rpb25zIHtcclxuICBzdGF0aWMgc2hhZGVDb2xvcihjb2xvcjogc3RyaW5nLCBwZXJjZW50OiBudW1iZXIpIHtcclxuXHJcbiAgICBsZXQgUiA9IHBhcnNlSW50KGNvbG9yLnN1YnN0cmluZygxLCAzKSwgMTYpO1xyXG4gICAgbGV0IEcgPSBwYXJzZUludChjb2xvci5zdWJzdHJpbmcoMywgNSksIDE2KTtcclxuICAgIGxldCBCID0gcGFyc2VJbnQoY29sb3Iuc3Vic3RyaW5nKDUsIDcpLCAxNik7XHJcblxyXG4gICAgUiA9IHBhcnNlSW50KChSICogKDEwMCArIHBlcmNlbnQpIC8gMTAwKS50b1N0cmluZygpLCAwKTtcclxuICAgIEcgPSBwYXJzZUludCgoRyAqICgxMDAgKyBwZXJjZW50KSAvIDEwMCkudG9TdHJpbmcoKSwgMCk7XHJcbiAgICBCID0gcGFyc2VJbnQoKEIgKiAoMTAwICsgcGVyY2VudCkgLyAxMDApLnRvU3RyaW5nKCksIDApO1xyXG5cclxuICAgIFIgPSAoUiA8IDI1NSkgPyBSIDogMjU1O1xyXG4gICAgRyA9IChHIDwgMjU1KSA/IEcgOiAyNTU7XHJcbiAgICBCID0gKEIgPCAyNTUpID8gQiA6IDI1NTtcclxuXHJcbiAgICBjb25zdCBSUiA9ICgoUi50b1N0cmluZygxNikubGVuZ3RoID09PSAxKSA/ICcwJyArIFIudG9TdHJpbmcoMTYpIDogUi50b1N0cmluZygxNikpO1xyXG4gICAgY29uc3QgR0cgPSAoKEcudG9TdHJpbmcoMTYpLmxlbmd0aCA9PT0gMSkgPyAnMCcgKyBHLnRvU3RyaW5nKDE2KSA6IEcudG9TdHJpbmcoMTYpKTtcclxuICAgIGNvbnN0IEJCID0gKChCLnRvU3RyaW5nKDE2KS5sZW5ndGggPT09IDEpID8gJzAnICsgQi50b1N0cmluZygxNikgOiBCLnRvU3RyaW5nKDE2KSk7XHJcblxyXG4gICAgcmV0dXJuICcjJyArIFJSICsgR0cgKyBCQjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB5YXJpbVNhYXRlWXV2YXJsYSh2YWx1ZTogbnVtYmVyLCBzdGVwUGFyYW06IG51bWJlcikge1xyXG4gICAgY29uc3Qgc3RlcCA9IHN0ZXBQYXJhbSB8fCAoc3RlcFBhcmFtID0gMS4wKTtcclxuICAgIGNvbnN0IGludiA9IDEuMCAvIHN0ZXA7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZCh2YWx1ZSAqIGludikgLyBpbnY7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZXZlblJvdW5kKG51bTogbnVtYmVyLCBkZWNpbWFsUGxhY2VzOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgY29uc3QgZCA9IGRlY2ltYWxQbGFjZXMgfHwgMDtcclxuICAgIGNvbnN0IG0gPSBNYXRoLnBvdygxMCwgZCk7XHJcbiAgICBjb25zdCBuID0gKyhkID8gbnVtICogbSA6IG51bSkudG9GaXhlZCg4KTsgLy8gQXZvaWQgcm91bmRpbmcgZXJyb3JzXHJcbiAgICBjb25zdCBpID0gTWF0aC5mbG9vcihuKTtcclxuICAgIGNvbnN0IGYgPSBuIC0gaTtcclxuICAgIGNvbnN0IGUgPSAxZS04OyAvLyBBbGxvdyBmb3Igcm91bmRpbmcgZXJyb3JzIGluIGZcclxuICAgIGNvbnN0IHIgPSAoZiA+IDAuNSAtIGUgJiYgZiA8IDAuNSArIGUpID8gKChpICUgMiA9PT0gMCkgPyBpIDogaSArIDEpIDogTWF0aC5yb3VuZChuKTtcclxuICAgIHJldHVybiBkID8gciAvIG0gOiByO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHJvdW5kSWtpSGFuZShwYXJhbTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKHBhcmFtICogMTAwKSAvIDEwMDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpa2lTYXlpRmFyayhwYXJhbTE6IG51bWJlciwgcGFyYW0yOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQoKHBhcmFtMSAtIHBhcmFtMikgKiAxMDApIC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlraVNheWlUb3BsYShwYXJhbTE6IG51bWJlciwgcGFyYW0yOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIE1hdGgucm91bmQoKHBhcmFtMSArIHBhcmFtMikgKiAxMDApIC8gMTAwO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHN0clRvTnVtYmVyKG1ldGluOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgbGV0IHN0ciA9IG1ldGluO1xyXG4gICAgc3RyID0gc3RyLnNwbGl0KCcsJykuam9pbignLicpO1xyXG4gICAgY29uc3QgcmVnZXggPSAvW15cXGQuLV0vZztcclxuICAgIHN0ciA9IHN0ci5yZXBsYWNlKHJlZ2V4LCAnJyk7XHJcbiAgICBjb25zdCBhcnIgPSBzdHIuc3BsaXQoJy4nKTtcclxuICAgIGlmIChhcnIubGVuZ3RoID4gMikgeyAvLyBCaXJkZW4gw6dvayBub2t0YSB2YXJzYVxyXG4gICAgICBjb25zdCBzb24gPSBhcnIucG9wKCk7XHJcbiAgICAgIHN0ciA9IGFyci5qb2luKCcnKSArICcuJyArIHNvbjtcclxuICAgIH1cclxuICAgIHJldHVybiBOdW1iZXIoc3RyKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBzdXR1blN0clZlcihnZW5pc2xpazogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIGlmIChnZW5pc2xpayA8IDU3NikgeyByZXR1cm4gJ3hzJzsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgNzY4KSB7IHJldHVybiAnc20nOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA5OTIpIHsgcmV0dXJuICdtZCc7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDEyMDApIHsgcmV0dXJuICdsZyc7IH1cclxuICAgIHJldHVybiAneGwnO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHN1dHVuR2VuTm9WZXIoZ2VuaXNsaWs6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCA1NzYpIHsgcmV0dXJuIDE7IH1cclxuICAgIGlmIChnZW5pc2xpayA8IDc2OCkgeyByZXR1cm4gMjsgfVxyXG4gICAgaWYgKGdlbmlzbGlrIDwgOTkyKSB7IHJldHVybiAzOyB9XHJcbiAgICBpZiAoZ2VuaXNsaWsgPCAxMjAwKSB7IHJldHVybiA0OyB9XHJcbiAgICByZXR1cm4gNTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkYXRlVG9UZXh0KHRhcmloOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGlmICgodGFyaWggIT09IHVuZGVmaW5lZCkgJiYgKHRhcmloICE9PSBudWxsKSkge1xyXG4gICAgICByZXR1cm4gdGFyaWguZ2V0RGF0ZSgpLnRvU3RyaW5nKCkgKyAnLicgKyAodGFyaWguZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkgKyAnLicgKyB0YXJpaC5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXlJbGtHdW4oYXk6IG51bWJlciwgeWlsOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh5aWwsIGF5IC0gMSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXlTb25HdW4oYXk6IG51bWJlciwgeWlsOiBudW1iZXIpOiBEYXRlIHtcclxuICAgIHJldHVybiBuZXcgRGF0ZSh5aWwsIGF5LCAwKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBKU09ORGF0ZVRvRGF0ZSh0YXJpaDogRGF0ZSk6IERhdGUge1xyXG4gICAgaWYgKCh0YXJpaCAhPT0gdW5kZWZpbmVkKSAmJiAodGFyaWggIT09IG51bGwpKSB7XHJcbiAgICAgIGNvbnN0IHRlbXAgPSB0YXJpaC50b1N0cmluZygpO1xyXG4gICAgICBpZiAodGVtcCAhPT0gJzAwMDAtMDAtMDAnKSB7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBEYXRlKHRlbXApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5QWRpVmVyKGF5Tm86IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGF5Tm8pIHtcclxuICAgICAgY2FzZSAxOlxyXG4gICAgICAgIHJldHVybiAnT2Nhayc7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICByZXR1cm4gJ8WedWJhdCc7XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICByZXR1cm4gJ01hcnQnO1xyXG4gICAgICBjYXNlIDQ6XHJcbiAgICAgICAgcmV0dXJuICdOaXNhbic7XHJcbiAgICAgIGNhc2UgNTpcclxuICAgICAgICByZXR1cm4gJ01hecSxcyc7XHJcbiAgICAgIGNhc2UgNjpcclxuICAgICAgICByZXR1cm4gJ0hhemlyYW4nO1xyXG4gICAgICBjYXNlIDc6XHJcbiAgICAgICAgcmV0dXJuICdUZW1tdXonO1xyXG4gICAgICBjYXNlIDg6XHJcbiAgICAgICAgcmV0dXJuICdBxJ91c3Rvcyc7XHJcbiAgICAgIGNhc2UgOTpcclxuICAgICAgICByZXR1cm4gJ0V5bMO8bCc7XHJcbiAgICAgIGNhc2UgMTA6XHJcbiAgICAgICAgcmV0dXJuICdFa2ltJztcclxuICAgICAgY2FzZSAxMTpcclxuICAgICAgICByZXR1cm4gJ0thc8SxbSc7XHJcbiAgICAgIGNhc2UgMTI6XHJcbiAgICAgICAgcmV0dXJuICdBcmFsxLFrJztcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5QWRpVmVyS2lzYShheU5vOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChheU5vKSB7XHJcbiAgICAgIGNhc2UgMTpcclxuICAgICAgICByZXR1cm4gJ09jYSc7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICByZXR1cm4gJ8WedWInO1xyXG4gICAgICBjYXNlIDM6XHJcbiAgICAgICAgcmV0dXJuICdNYXInO1xyXG4gICAgICBjYXNlIDQ6XHJcbiAgICAgICAgcmV0dXJuICdOaXMnO1xyXG4gICAgICBjYXNlIDU6XHJcbiAgICAgICAgcmV0dXJuICdNYXknO1xyXG4gICAgICBjYXNlIDY6XHJcbiAgICAgICAgcmV0dXJuICdIYXonO1xyXG4gICAgICBjYXNlIDc6XHJcbiAgICAgICAgcmV0dXJuICdUZW0nO1xyXG4gICAgICBjYXNlIDg6XHJcbiAgICAgICAgcmV0dXJuICdBxJ91JztcclxuICAgICAgY2FzZSA5OlxyXG4gICAgICAgIHJldHVybiAnRXlsJztcclxuICAgICAgY2FzZSAxMDpcclxuICAgICAgICByZXR1cm4gJ0VraSc7XHJcbiAgICAgIGNhc2UgMTE6XHJcbiAgICAgICAgcmV0dXJuICdLYXMnO1xyXG4gICAgICBjYXNlIDEyOlxyXG4gICAgICAgIHJldHVybiAnQXJhJztcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGF5Tm9WZXIoYXk6IHN0cmluZyk6IG51bWJlciB7XHJcbiAgICBzd2l0Y2ggKGF5KSB7XHJcbiAgICAgIGNhc2UgJ09jJzpcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgICAgY2FzZSAnxZ51JzpcclxuICAgICAgICByZXR1cm4gMjtcclxuICAgICAgY2FzZSAnTWEnOlxyXG4gICAgICAgIHJldHVybiAzO1xyXG4gICAgICBjYXNlICdOaSc6XHJcbiAgICAgICAgcmV0dXJuIDQ7XHJcbiAgICAgIGNhc2UgJ015JzpcclxuICAgICAgICByZXR1cm4gNTtcclxuICAgICAgY2FzZSAnSGEnOlxyXG4gICAgICAgIHJldHVybiA2O1xyXG4gICAgICBjYXNlICdUZSc6XHJcbiAgICAgICAgcmV0dXJuIDc7XHJcbiAgICAgIGNhc2UgJ0HEnyc6XHJcbiAgICAgICAgcmV0dXJuIDg7XHJcbiAgICAgIGNhc2UgJ0V5JzpcclxuICAgICAgICByZXR1cm4gOTtcclxuICAgICAgY2FzZSAnRWsnOlxyXG4gICAgICAgIHJldHVybiAxMDtcclxuICAgICAgY2FzZSAnS2EnOlxyXG4gICAgICAgIHJldHVybiAxMTtcclxuICAgICAgY2FzZSAnQXInOlxyXG4gICAgICAgIHJldHVybiAxMjtcclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ3VuQWRpVmVyKGd1bk5vOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgc3dpdGNoIChndW5Obykge1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgcmV0dXJuICdQYXphcnRlc2knO1xyXG4gICAgICBjYXNlIDI6XHJcbiAgICAgICAgcmV0dXJuICdTYWzEsSc7XHJcbiAgICAgIGNhc2UgMzpcclxuICAgICAgICByZXR1cm4gJ8OHYXLFn2FtYmEnO1xyXG4gICAgICBjYXNlIDQ6XHJcbiAgICAgICAgcmV0dXJuICdQZXLFn2VtYmUnO1xyXG4gICAgICBjYXNlIDU6XHJcbiAgICAgICAgcmV0dXJuICdDdW1hJztcclxuICAgICAgY2FzZSA2OlxyXG4gICAgICAgIHJldHVybiAnQ3VtYXJ0ZXNpJztcclxuICAgICAgY2FzZSAwOlxyXG4gICAgICAgIHJldHVybiAnUGF6YXInO1xyXG4gICAgICBkZWZhdWx0OiB7XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ3VuQXJ0dGlyQXphbHQodGFyaWg6IERhdGUsIGd1blNheWlzaTogbnVtYmVyKTogRGF0ZSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUodGFyaWguZ2V0VGltZSgpICsgZ3VuU2F5aXNpICogMjQgKiA2MCAqIDYwICogMTAwMCk7XHJcblxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRhcmloUGFyYW1Ub0RhdGUocGFyYW06IHN0cmluZyk6IERhdGUge1xyXG4gICAgbGV0IHRhcmloOiBEYXRlID0gbmV3IERhdGUoKTtcclxuICAgIGlmIChwYXJhbSAhPT0gbnVsbCkge1xyXG4gICAgICBjb25zdCB0YXJpaEFycjogc3RyaW5nW10gPSBwYXJhbS5zcGxpdCgnLScpO1xyXG4gICAgICBpZiAodGFyaWhBcnIubGVuZ3RoID4gMikge1xyXG4gICAgICAgIGNvbnN0IGd1biA9IE51bWJlcih0YXJpaEFyclswXSk7XHJcbiAgICAgICAgY29uc3QgYXkgPSBOdW1iZXIodGFyaWhBcnJbMV0pIC0gMTtcclxuICAgICAgICBjb25zdCB5aWwgPSBOdW1iZXIodGFyaWhBcnJbMl0pO1xyXG4gICAgICAgIHRhcmloID0gbmV3IERhdGUoeWlsLCBheSwgZ3VuKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRhcmloO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRhdGVUb1RhcmloUGFyYW0ocGFyYW06IERhdGUpOiBzdHJpbmcge1xyXG4gICAgaWYgKHBhcmFtICE9PSBudWxsKSB7XHJcbiAgICAgIGNvbnN0IGd1biA9IHBhcmFtLmdldERhdGUoKTtcclxuICAgICAgY29uc3QgYXkgPSBwYXJhbS5nZXRNb250aCgpICsgMTtcclxuICAgICAgY29uc3QgeWlsID0gcGFyYW0uZ2V0RnVsbFllYXIoKTtcclxuICAgICAgcmV0dXJuIGd1bi50b1N0cmluZygpICsgJy0nICsgYXkudG9TdHJpbmcoKSArICctJyArIHlpbC50b1N0cmluZygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEZpbGVFeHRlbnNpb24oZmlsZTogRmlsZSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gJy4nICsgZmlsZS5uYW1lLnNwbGl0KCcuJykucG9wKCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgaGV4VG9SR0JBKGhleCwgYWxwaGEpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKGhleCk7XHJcbiAgICBjb25zdCByID0gcGFyc2VJbnQoaGV4LnNsaWNlKDEsIDMpLCAxNik7XHJcbiAgICBjb25zdCBnID0gcGFyc2VJbnQoaGV4LnNsaWNlKDMsIDUpLCAxNik7XHJcbiAgICBjb25zdCBiID0gcGFyc2VJbnQoaGV4LnNsaWNlKDUsIDcpLCAxNik7XHJcblxyXG4gICAgLy8gcmV0dXJuIHIgKyAnLCcgKyBnICsgJywnICsgYjtcclxuXHJcbiAgICBpZiAoYWxwaGEpIHtcclxuICAgICAgcmV0dXJuIGByZ2JhKCR7cn0sICR7Z30sICR7Yn0sICR7YWxwaGF9KWA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSlgO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGNvbG9yTmFtZVRvSGV4KGNvbG9yKSB7XHJcbiAgICBjb25zdCBjb2xvcnMgPSB7XHJcbiAgICAgIGFsaWNlYmx1ZTogJyNmMGY4ZmYnLCBhbnRpcXVld2hpdGU6ICcjZmFlYmQ3JywgYXF1YTogJyMwMGZmZmYnLCBhcXVhbWFyaW5lOiAnIzdmZmZkNCcsIGF6dXJlOiAnI2YwZmZmZicsXHJcbiAgICAgIGJlaWdlOiAnI2Y1ZjVkYycsIGJpc3F1ZTogJyNmZmU0YzQnLCBibGFjazogJyMwMDAwMDAnLCBibGFuY2hlZGFsbW9uZDogJyNmZmViY2QnLCBibHVlOiAnIzAwMDBmZicsIGJsdWV2aW9sZXQ6ICcjOGEyYmUyJywgYnJvd246ICcjYTUyYTJhJywgYnVybHl3b29kOiAnI2RlYjg4NycsXHJcbiAgICAgIGNhZGV0Ymx1ZTogJyM1ZjllYTAnLCBjaGFydHJldXNlOiAnIzdmZmYwMCcsIGNob2NvbGF0ZTogJyNkMjY5MWUnLCBjb3JhbDogJyNmZjdmNTAnLCBjb3JuZmxvd2VyYmx1ZTogJyM2NDk1ZWQnLCBjb3Juc2lsazogJyNmZmY4ZGMnLCBjcmltc29uOiAnI2RjMTQzYycsIGN5YW46ICcjMDBmZmZmJyxcclxuICAgICAgZGFya2JsdWU6ICcjMDAwMDhiJywgZGFya2N5YW46ICcjMDA4YjhiJywgZGFya2dvbGRlbnJvZDogJyNiODg2MGInLCBkYXJrZ3JheTogJyNhOWE5YTknLCBkYXJrZ3JlZW46ICcjMDA2NDAwJywgZGFya2toYWtpOiAnI2JkYjc2YicsIGRhcmttYWdlbnRhOiAnIzhiMDA4YicsIGRhcmtvbGl2ZWdyZWVuOiAnIzU1NmIyZicsXHJcbiAgICAgIGRhcmtvcmFuZ2U6ICcjZmY4YzAwJywgZGFya29yY2hpZDogJyM5OTMyY2MnLCBkYXJrcmVkOiAnIzhiMDAwMCcsIGRhcmtzYWxtb246ICcjZTk5NjdhJywgZGFya3NlYWdyZWVuOiAnIzhmYmM4ZicsIGRhcmtzbGF0ZWJsdWU6ICcjNDgzZDhiJywgZGFya3NsYXRlZ3JheTogJyMyZjRmNGYnLCBkYXJrdHVycXVvaXNlOiAnIzAwY2VkMScsXHJcbiAgICAgIGRhcmt2aW9sZXQ6ICcjOTQwMGQzJywgZGVlcHBpbms6ICcjZmYxNDkzJywgZGVlcHNreWJsdWU6ICcjMDBiZmZmJywgZGltZ3JheTogJyM2OTY5NjknLCBkb2RnZXJibHVlOiAnIzFlOTBmZicsXHJcbiAgICAgIGZpcmVicmljazogJyNiMjIyMjInLCBmbG9yYWx3aGl0ZTogJyNmZmZhZjAnLCBmb3Jlc3RncmVlbjogJyMyMjhiMjInLCBmdWNoc2lhOiAnI2ZmMDBmZicsXHJcbiAgICAgIGdhaW5zYm9ybzogJyNkY2RjZGMnLCBnaG9zdHdoaXRlOiAnI2Y4ZjhmZicsIGdvbGQ6ICcjZmZkNzAwJywgZ29sZGVucm9kOiAnI2RhYTUyMCcsIGdyYXk6ICcjODA4MDgwJywgZ3JlZW46ICcjMDA4MDAwJywgZ3JlZW55ZWxsb3c6ICcjYWRmZjJmJyxcclxuICAgICAgaG9uZXlkZXc6ICcjZjBmZmYwJywgaG90cGluazogJyNmZjY5YjQnLFxyXG4gICAgICBpbmRpYW5yZWQ6ICcjY2Q1YzVjJywgaW5kaWdvOiAnIzRiMDA4MicsIGl2b3J5OiAnI2ZmZmZmMCcsIGtoYWtpOiAnI2YwZTY4YycsXHJcbiAgICAgIGxhdmVuZGVyOiAnI2U2ZTZmYScsIGxhdmVuZGVyYmx1c2g6ICcjZmZmMGY1JywgbGF3bmdyZWVuOiAnIzdjZmMwMCcsIGxlbW9uY2hpZmZvbjogJyNmZmZhY2QnLCBsaWdodGJsdWU6ICcjYWRkOGU2JywgbGlnaHRjb3JhbDogJyNmMDgwODAnLCBsaWdodGN5YW46ICcjZTBmZmZmJywgbGlnaHRnb2xkZW5yb2R5ZWxsb3c6ICcjZmFmYWQyJyxcclxuICAgICAgbGlnaHRncmV5OiAnI2QzZDNkMycsIGxpZ2h0Z3JlZW46ICcjOTBlZTkwJywgbGlnaHRwaW5rOiAnI2ZmYjZjMScsIGxpZ2h0c2FsbW9uOiAnI2ZmYTA3YScsIGxpZ2h0c2VhZ3JlZW46ICcjMjBiMmFhJywgbGlnaHRza3libHVlOiAnIzg3Y2VmYScsIGxpZ2h0c2xhdGVncmF5OiAnIzc3ODg5OScsIGxpZ2h0c3RlZWxibHVlOiAnI2IwYzRkZScsXHJcbiAgICAgIGxpZ2h0eWVsbG93OiAnI2ZmZmZlMCcsIGxpbWU6ICcjMDBmZjAwJywgbGltZWdyZWVuOiAnIzMyY2QzMicsIGxpbmVuOiAnI2ZhZjBlNicsXHJcbiAgICAgIG1hZ2VudGE6ICcjZmYwMGZmJywgbWFyb29uOiAnIzgwMDAwMCcsIG1lZGl1bWFxdWFtYXJpbmU6ICcjNjZjZGFhJywgbWVkaXVtYmx1ZTogJyMwMDAwY2QnLCBtZWRpdW1vcmNoaWQ6ICcjYmE1NWQzJywgbWVkaXVtcHVycGxlOiAnIzkzNzBkOCcsIG1lZGl1bXNlYWdyZWVuOiAnIzNjYjM3MScsIG1lZGl1bXNsYXRlYmx1ZTogJyM3YjY4ZWUnLFxyXG4gICAgICBtZWRpdW1zcHJpbmdncmVlbjogJyMwMGZhOWEnLCBtZWRpdW10dXJxdW9pc2U6ICcjNDhkMWNjJywgbWVkaXVtdmlvbGV0cmVkOiAnI2M3MTU4NScsIG1pZG5pZ2h0Ymx1ZTogJyMxOTE5NzAnLCBtaW50Y3JlYW06ICcjZjVmZmZhJywgbWlzdHlyb3NlOiAnI2ZmZTRlMScsIG1vY2Nhc2luOiAnI2ZmZTRiNScsXHJcbiAgICAgIG5hdmFqb3doaXRlOiAnI2ZmZGVhZCcsIG5hdnk6ICcjMDAwMDgwJyxcclxuICAgICAgb2xkbGFjZTogJyNmZGY1ZTYnLCBvbGl2ZTogJyM4MDgwMDAnLCBvbGl2ZWRyYWI6ICcjNmI4ZTIzJywgb3JhbmdlOiAnI2ZmYTUwMCcsIG9yYW5nZXJlZDogJyNmZjQ1MDAnLCBvcmNoaWQ6ICcjZGE3MGQ2JyxcclxuICAgICAgcGFsZWdvbGRlbnJvZDogJyNlZWU4YWEnLCBwYWxlZ3JlZW46ICcjOThmYjk4JywgcGFsZXR1cnF1b2lzZTogJyNhZmVlZWUnLCBwYWxldmlvbGV0cmVkOiAnI2Q4NzA5MycsIHBhcGF5YXdoaXA6ICcjZmZlZmQ1JywgcGVhY2hwdWZmOiAnI2ZmZGFiOScsIHBlcnU6ICcjY2Q4NTNmJywgcGluazogJyNmZmMwY2InLCBwbHVtOiAnI2RkYTBkZCcsIHBvd2RlcmJsdWU6ICcjYjBlMGU2JywgcHVycGxlOiAnIzgwMDA4MCcsXHJcbiAgICAgIHJlYmVjY2FwdXJwbGU6ICcjNjYzMzk5JywgcmVkOiAnI2ZmMDAwMCcsIHJvc3licm93bjogJyNiYzhmOGYnLCByb3lhbGJsdWU6ICcjNDE2OWUxJyxcclxuICAgICAgc2FkZGxlYnJvd246ICcjOGI0NTEzJywgc2FsbW9uOiAnI2ZhODA3MicsIHNhbmR5YnJvd246ICcjZjRhNDYwJywgc2VhZ3JlZW46ICcjMmU4YjU3Jywgc2Vhc2hlbGw6ICcjZmZmNWVlJywgc2llbm5hOiAnI2EwNTIyZCcsIHNpbHZlcjogJyNjMGMwYzAnLCBza3libHVlOiAnIzg3Y2VlYicsIHNsYXRlYmx1ZTogJyM2YTVhY2QnLCBzbGF0ZWdyYXk6ICcjNzA4MDkwJywgc25vdzogJyNmZmZhZmEnLCBzcHJpbmdncmVlbjogJyMwMGZmN2YnLCBzdGVlbGJsdWU6ICcjNDY4MmI0JyxcclxuICAgICAgdGFuOiAnI2QyYjQ4YycsIHRlYWw6ICcjMDA4MDgwJywgdGhpc3RsZTogJyNkOGJmZDgnLCB0b21hdG86ICcjZmY2MzQ3JywgdHVycXVvaXNlOiAnIzQwZTBkMCcsXHJcbiAgICAgIHZpb2xldDogJyNlZTgyZWUnLFxyXG4gICAgICB3aGVhdDogJyNmNWRlYjMnLCB3aGl0ZTogJyNmZmZmZmYnLCB3aGl0ZXNtb2tlOiAnI2Y1ZjVmNScsXHJcbiAgICAgIHllbGxvdzogJyNmZmZmMDAnLCB5ZWxsb3dncmVlbjogJyM5YWNkMzInXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0eXBlb2YgY29sb3JzW2NvbG9yLnRvTG93ZXJDYXNlKCldICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICByZXR1cm4gY29sb3JzW2NvbG9yLnRvTG93ZXJDYXNlKCldO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb2xvcjtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRGaWxlbmFtZUZyb21Db250ZW50RGlzcG9zaXRpb24oY29udGVudERpc3Bvc2l0aW9uOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHJlZ2V4ID0gL2ZpbGVuYW1lW147PVxcbl0qPShVVEYtOChbJ1wiXSopKT8oLiopLztcclxuICAgIGNvbnN0IG1hdGNoZXMgPSByZWdleC5leGVjKGNvbnRlbnREaXNwb3NpdGlvbik7XHJcbiAgICBsZXQgZmlsZW5hbWUgPSAnJztcclxuXHJcbiAgICBpZiAobWF0Y2hlcyAhPSBudWxsICYmIG1hdGNoZXNbM10pIHtcclxuICAgICAgZmlsZW5hbWUgPSBtYXRjaGVzWzNdLnJlcGxhY2UoL1snXCJdL2csICcnKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGVjb2RlVVJJKGZpbGVuYW1lKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB0ZW1hR3VuTm9WZXIoKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IGRuID0gbmV3IERhdGUoKS5nZXREYXkoKTtcclxuICAgIGlmIChkbiA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gNjtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gZG47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgY2lmdEJvc2x1a1Rla1lhcChtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhcmNhbGFyID0gbWV0aW4uc3BsaXQoJyAgJyk7XHJcbiAgICByZXR1cm4gcGFyY2FsYXIuam9pbignICcpO1xyXG4gIH1cclxuXHJcbiAgLypcclxuICBzdGF0aWMgcmFrYW1sYXJpVGVtaXpsZShtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBtZXRpbi5yZXBsYWNlKC9bMC05XS9nLCAnJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYm9zbHVrbGFyaVRlbWl6bGUobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbWV0aW4ucmVwbGFjZSgvIC9nLCAnJyk7XHJcbiAgfVxyXG4qL1xyXG5cclxuICBzdGF0aWMgYnV5dWtIYXJmZUNldmlyKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1ldGluLnRvTG9jYWxlVXBwZXJDYXNlKCd0ci1UUicpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGlsa0hhcmZCdXl1dChtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHV6dW5sdWsgPSBtZXRpbi5sZW5ndGg7XHJcbiAgICBpZiAodXp1bmx1ayA+IDApIHtcclxuICAgICAgaWYgKHV6dW5sdWsgPiAxKSB7XHJcbiAgICAgICAgcmV0dXJuIG1ldGluLnN1YnN0cigwLCAxKS50b0xvY2FsZVVwcGVyQ2FzZSgndHItVFInKSArIG1ldGluLnN1YnN0cigxLCAxMDApLnRvTG9jYWxlTG93ZXJDYXNlKCd0ci1UUicpO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBtZXRpbi5zdWJzdHIoMCwgMSkudG9Mb2NhbGVVcHBlckNhc2UoJ3RyLVRSJyk7XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHR1bUlsa0hhcmZCdXl1dChtZXRpbjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhcmNhbGFyID0gbWV0aW4uc3BsaXQoJyAnKTtcclxuICAgIGNvbnN0IHNvbnVjID0gW107XHJcbiAgICBwYXJjYWxhci5mb3JFYWNoKHBhcmNhID0+IHtcclxuICAgICAgc29udWMucHVzaCh0aGlzLmlsa0hhcmZCdXl1dChwYXJjYSkpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHNvbnVjLmpvaW4oJyAnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyB0dW1Cb3NsdWtTaWwobWV0aW46IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBwYXJjYWxhciA9IG1ldGluLnNwbGl0KCcgJyk7XHJcbiAgICByZXR1cm4gcGFyY2FsYXIuam9pbignJyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdHVya2NlQXlpa2xhKG1ldGluOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHNvbnVjID0gbWV0aW47XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8OcJywgJ1UnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxJ4nLCAnRycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfEsCcsICdJJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8WeJywgJ1MnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw4cnLCAnQycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDlicsICdPJyk7XHJcblxyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfDvCcsICd1Jyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8SfJywgJ2cnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnxLEnLCAnaScpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfFnycsICdzJyk7XHJcbiAgICBzb251YyA9IHNvbnVjLnJlcGxhY2UoJ8OnJywgJ2MnKTtcclxuICAgIHNvbnVjID0gc29udWMucmVwbGFjZSgnw7YnLCAnbycpO1xyXG4gICAgc29udWMgPSBzb251Yy5yZXBsYWNlKCfFvicsICdpJyk7XHJcblxyXG4gICAgLy8gc29udWMgPSBzb251Yy5yZXBsYWNlKC9bXFx1MDMwMC1cXHUwMzZmXS9nLCAnJyk7XHJcbiAgICByZXR1cm4gc29udWM7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbWVjcmFUdXJ1Tm9WZXIobWVjcmFUdXJ1U3RyOiBNZWNyYVR1cmxlcmlTdHIpOiBNZWNyYVR1cmxlcmkge1xyXG4gICAgc3dpdGNoIChtZWNyYVR1cnVTdHIpIHtcclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuVHVtdTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlR1bXU7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5UVjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlRWO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuR2F6ZXRlOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuR2F6ZXRlO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuRGVyZ2k6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5EZXJnaTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLlJhZHlvOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuUmFkeW87XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5TaW5lbWE6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaS5TaW5lbWE7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5PdXRkb29yOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuT3V0ZG9vcjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpU3RyLkludGVybmV0OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuSW50ZXJuZXQ7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5IaWJyaXRUVjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkhpYnJpdFRWO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuU3BvbnNvcmx1azpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLlNwb25zb3JsdWs7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaVN0ci5CZWxpcnNpejpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpLkJlbGlyc2l6O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmlTdHIuQm9zOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmkuQm9zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIG1lY3JhVHVydVN0clZlcihtZWNyYVR1cnVObzogTWVjcmFUdXJsZXJpKTogTWVjcmFUdXJsZXJpU3RyIHtcclxuICAgIHN3aXRjaCAobWVjcmFUdXJ1Tm8pIHtcclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuVHVtdTpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlR1bXU7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5UVjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlRWO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuR2F6ZXRlOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuR2F6ZXRlO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuRGVyZ2k6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5EZXJnaTtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLlJhZHlvOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuUmFkeW87XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5TaW5lbWE6XHJcbiAgICAgICAgcmV0dXJuIE1lY3JhVHVybGVyaVN0ci5TaW5lbWE7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5PdXRkb29yOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuT3V0ZG9vcjtcclxuXHJcbiAgICAgIGNhc2UgTWVjcmFUdXJsZXJpLkludGVybmV0OlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuSW50ZXJuZXQ7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5IaWJyaXRUVjpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkhpYnJpdFRWO1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuU3BvbnNvcmx1azpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLlNwb25zb3JsdWs7XHJcblxyXG4gICAgICBjYXNlIE1lY3JhVHVybGVyaS5CZWxpcnNpejpcclxuICAgICAgICByZXR1cm4gTWVjcmFUdXJsZXJpU3RyLkJlbGlyc2l6O1xyXG5cclxuICAgICAgY2FzZSBNZWNyYVR1cmxlcmkuQm9zOlxyXG4gICAgICAgIHJldHVybiBNZWNyYVR1cmxlcmlTdHIuQm9zO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIHBhZExlYWRpbmdaZXJvcyhudW06IG51bWJlciwgc2l6ZTogbnVtYmVyKSB7XHJcbiAgICBsZXQgcyA9IG51bSArICcnO1xyXG4gICAgd2hpbGUgKHMubGVuZ3RoIDwgc2l6ZSkgcyA9ICcwJyArIHM7XHJcbiAgICByZXR1cm4gcztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBhcnJheVRvU2VsZWN0SXRlbShhcnJheTogc3RyaW5nW10pOiBTZWxlY3RJdGVtPHN0cmluZz5bXSB7XHJcbiAgICByZXR1cm4gYXJyYXkubWFwKGVsZW1lbnQgPT4ge1xyXG4gICAgICByZXR1cm4geyBsYWJlbDogZWxlbWVudCwgdmFsdWU6IGVsZW1lbnQgfTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXJyYXlOdW1iZXJUb1NlbGVjdEl0ZW0oYXJyYXk6IG51bWJlcltdKTogU2VsZWN0SXRlbTxudW1iZXI+W10ge1xyXG4gICAgcmV0dXJuIGFycmF5Lm1hcChlbGVtZW50ID0+IHtcclxuICAgICAgcmV0dXJuIHsgbGFiZWw6IGVsZW1lbnQudG9TdHJpbmcoKSwgdmFsdWU6IGVsZW1lbnQgfTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBzdGF0aWMgVkJTUmVhbFRvVGV4dChzYXlpOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgLy8gcmV0dXJuIHNheWkudG9TdHJpbmcoKS5yZXBsYWNlKC9bLF0vZywgJy4nKVxyXG4gICAgcmV0dXJuIHNheWkudG9TdHJpbmcoKS5yZXBsYWNlKCcsJywgJy4nKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBuZXRzaXNUYXJpaEZvcm1hdGlWZXIodGFyaWg6IERhdGUpOiBzdHJpbmcge1xyXG4gICAgbGV0IGZvcm1hdGxpVGFyaWggPSAnJztcclxuICAgIGZvcm1hdGxpVGFyaWggPSBmb3JtYXREYXRlKHRhcmloLCAneXl5eScsICd0ci1UUicpICsgJy0nICsgZm9ybWF0RGF0ZSh0YXJpaCwgJ01NJywgJ3RyLVRSJyk7XHJcbiAgICBmb3JtYXRsaVRhcmloICs9ICctJyArIGZvcm1hdERhdGUodGFyaWgsICdkZCcsICd0ci1UUicpICsgJyAwMDowMDowMC4wMDAnXHJcbiAgICByZXR1cm4gZm9ybWF0bGlUYXJpaDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBuZXRzaXNEb3ZpelRpcGlWZXIocGFyYUJpcmltaTogc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIHN3aXRjaCAocGFyYUJpcmltaSkge1xyXG4gICAgICBjYXNlICgnJCcgfHwgJ1VTRCcpOlxyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICBjYXNlICgn4oKsJyB8fCAnRXVyJyB8fCAnRVUnIHx8ICdFdXJvJyB8fCAnQXZybycpOlxyXG4gICAgICAgIHJldHVybiAxMztcclxuICAgICAgY2FzZSAoJ8KjJyB8fCAnR0JQJyB8fCAnU3RlcmxpbicgfHwgJ1BvdW5kJyk6XHJcbiAgICAgICAgcmV0dXJuIDM7XHJcbiAgICAgIGNhc2UgKCdTRUsnKTpcclxuICAgICAgICByZXR1cm4gNjtcclxuICAgICAgY2FzZSAoJ0NIRicpOlxyXG4gICAgICAgIHJldHVybiA1O1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIG5ldHNpc0ZhdE5vVmVyKGZhdHVyYU5vOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKGZhdHVyYU5vLmxlbmd0aCA9PT0gMTYpIHtcclxuICAgICAgcmV0dXJuIGZhdHVyYU5vLnNsaWNlKDAsIDcpICsgZmF0dXJhTm8uc2xpY2UoOCwgZmF0dXJhTm8ubGVuZ3RoKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmF0dXJhTm87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgcmVzaW1NaShsaW5rOiBzdHJpbmcpOiBib29sZWFuIHtcclxuICAgIGxldCByZXNpbU1pID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgdXphbnRpID0gbGluay5zcGxpdCgnLicpLnBvcCgpO1xyXG5cclxuICAgIHN3aXRjaCAodXphbnRpKSB7XHJcbiAgICAgIGNhc2UgJ2pwZyc6XHJcbiAgICAgICAgcmVzaW1NaSA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdqcGVnJzpcclxuICAgICAgICByZXNpbU1pID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ2pwZSc6XHJcbiAgICAgICAgcmVzaW1NaSA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdqZmlmJzpcclxuICAgICAgICByZXNpbU1pID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ3RpZic6XHJcbiAgICAgICAgcmVzaW1NaSA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICd0aWZmJzpcclxuICAgICAgICByZXNpbU1pID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ2dpZic6XHJcbiAgICAgICAgcmVzaW1NaSA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlICdHSUYnOlxyXG4gICAgICAgIHJlc2ltTWkgPSB0cnVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSAncG5nJzpcclxuICAgICAgICByZXNpbU1pID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ2JtcCc6XHJcbiAgICAgICAgcmVzaW1NaSA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlc2ltTWlcclxuICB9XHJcbn1cclxuIl19
@@ -105,7 +105,7 @@ export class XLLogo {
105
105
  }
106
106
  export class XLFont {
107
107
  constructor(fontName, fontSize) {
108
- this.name = 'Segoe UI';
108
+ this.name = 'Calibri';
109
109
  this.size = 11;
110
110
  this.color = XLRenk.Black;
111
111
  this.style = FontStyle.Plain;
@@ -434,4 +434,4 @@ export class RowInteriorColor {
434
434
  this.rowNo = rowNo;
435
435
  }
436
436
  }
437
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy94bENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsTUFBTSxPQUFPLFFBQVE7SUF3Qm5CLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQXZCaEQsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBRTNCLHNCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLE9BQU8sQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsUUFBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFFbEIsV0FBTSxHQUFjLEVBQUUsQ0FBQztRQUV2QixXQUFNLEdBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBR25DLElBQUksQ0FBQyxPQUFPLFFBQVEsS0FB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ZSwgTnVtYmVyRm9ybWF0bGFyLCBWYXJpYWJsZVR5cGUsIFhMUmVuayB9IGZyb20gJy4vZm91ckRDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBYbEJvcmRlcldlaWdoLCBYTEZ1bmNzLCBYTEhBbGlnbiwgWExMaW5lU3R5bGUsIFhsVkFsaWduIH0gZnJvbSAnLi94bENvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgY2xhc3MgWExDb25maWcge1xyXG4gIGxvZ28gPSBuZXcgWExMb2dvKCk7XHJcbiAgZGVmYXVsdEZvbnQgPSBuZXcgWExGb250KCk7XHJcblxyXG4gIGN1cnJlbnRUYWJsZVN0eWxlID0gJ1RhYmxlU3R5bGVMaWdodDEwJztcclxuICBjdXJyZW50VGFibGUgPSAxO1xyXG4gIGN1cnJlbnRBcHBsaWNhdGlvbk9iamVjdCA9ICd4bEFwcCc7XHJcbiAgY3VycmVudEJvb2tPYmplY3QgPSAneGxCb29rJztcclxuICBjdXJyZW50U2hlZXRPYmplY3QgPSAneGxTaGVldCc7XHJcbiAgYXV0aG9yID0gJ01lZFBsYW4nO1xyXG4gIHNpZmlybGFyaUJhc21hID0gZmFsc2U7XHJcbiAgc2hlZXROYW1lID0gJyc7XHJcblxyXG4gIHVzdEJpbGdpbGVyOiBYTFVzdEJpbGdpU2F0aXJbXSA9IFtdO1xyXG4gIHVzdEJpbGdpID0gbmV3IFhMVXN0QmlsZ2koKTtcclxuXHJcbiAgbm90bGFyOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHNjcmlwdHM6IHN0cmluZ1tdID0gW107XHJcbiAgbm90ID0gbmV3IFhMTm90KCk7XHJcblxyXG4gIHRhYmxlczogWExUYWJsZVtdID0gW107XHJcblxyXG4gIHNoZWV0czogWExTaGVldFtdID0gW25ldyBYTFNoZWV0KDEpXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAoKHR5cGVvZiBmb250TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHx8ICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRGb250ID0gbmV3IFhMRm9udChmb250TmFtZSwgZm9udFNpemUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGFibGUgPSB0aGlzLmFkZFRhYmxlKCk7XHJcbiAgICB0YWJsZS50YWJsZU5vID0gdGhpcy50YWJsZXMubGVuZ3RoICsgMTtcclxuXHJcbiAgICB0aGlzLnRhYmxlcy5wdXNoKHRhYmxlKTtcclxuXHJcbiAgfVxyXG5cclxuICB1c3RCaWxnaVNhdGlyRWtsZShzYXRpcjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c3RCaWxnaSA9IG5ldyBYTFVzdEJpbGdpU2F0aXIoKTtcclxuICAgIHVzdEJpbGdpLnJvd05vID0gdGhpcy51c3RCaWxnaWxlci5sZW5ndGggKyAxO1xyXG4gICAgdXN0QmlsZ2kudXN0QmlsZ2kgPSBzYXRpcjtcclxuXHJcbiAgICB0aGlzLnVzdEJpbGdpbGVyLnB1c2godXN0QmlsZ2kpO1xyXG4gIH1cclxuXHJcbiAgYWRkVGFibGUoKTogWExUYWJsZSB7XHJcbiAgICBjb25zdCB0YWJsZSA9IG5ldyBYTFRhYmxlKCk7XHJcbiAgICB0YWJsZS5zb2wgPSAxO1xyXG4gICAgdGFibGUudXN0ID0gMTtcclxuICAgIHRhYmxlLmhlYWRlci5iYXNpbGFjYWsgPSB0cnVlO1xyXG4gICAgdGFibGUuZm9vdGVyLmJhc2lsYWNhayA9IGZhbHNlO1xyXG4gICAgdGFibGUuaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICAgIHRhYmxlLmhlYWRlci5pbnRlcmlvci5jb2xvciA9IFhMUmVuay5XaGl0ZTtcclxuICAgIHRhYmxlLmRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICAgIHRhYmxlLmRhdGEuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuV2hpdGU7XHJcbiAgICB0YWJsZS5mb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gICAgdGFibGUuZm9vdGVyLmludGVyaW9yLmNvbG9yID0gWExSZW5rLldoaXRlO1xyXG5cclxuICAgIHRhYmxlLmhpZGRlblJvd3NJbml0KCk7XHJcbiAgICB0YWJsZS5zb3J0SW5pdCgpO1xyXG4gICAgdGFibGUucm93c0luaXQoKTtcclxuICAgIHRhYmxlLmNvbHVtbkZvcm1hdHNJbml0KCk7XHJcblxyXG4gICAgdGFibGUucm93Rm9ybWF0c0luaXQoKTtcclxuICAgIHRhYmxlLmNlbGxGb3JtYXRzSW5pdCgpO1xyXG4gICAgdGFibGUucmFuZ2VGb3JtYXRzSW5pdCgpO1xyXG5cclxuICAgIC8qXHJcbiAgICAgICAgWExfVF9IZWFkZXJCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0RhdGFCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0Zvb3RlckJvcmRlckFsbFNldChVdGlsc0JvcmRlclR1bXU7IHhsQ29udGludW91czsgeGxUaGluOyBjbEJsYWNrKVxyXG4gICAgICAgIFhMX1RfSGVhZGVyRm9udEFsbFNldChYTF9EZWZhdWx0Rm9udE5hbWUgOyBYTF9EZWZhdWx0Rm9udFNpemU7IFBsYWluOyBjbEJsYWNrKVxyXG4gICAgICAgIFhMX1RfRGF0YUZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0Zvb3RlckZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX1NoZWV0TmFtZVNldChYTF9TX0N1cnJlbnQpXHJcbiovXHJcblxyXG4gICAgcmV0dXJuIHRhYmxlO1xyXG4gIH1cclxuXHJcbiAgc2hlZXRSb3dzUm93SGVpZ2h0U2NyaXB0KHJvd0hlaWdodDogbnVtYmVyLCBiYXNsYW5naWNTYXRpcmk6IG51bWJlciwgYml0aXNTYXRpcmk/OiBudW1iZXIsIHNoZWV0TmFtZT86IHN0cmluZykge1xyXG4gICAgbGV0IF9zaGVldE5hbWUgPSB0aGlzLmN1cnJlbnRTaGVldE9iamVjdDtcclxuICAgIGxldCBfYml0aXNTYXRpcmkgPSBiYXNsYW5naWNTYXRpcmk7XHJcblxyXG4gICAgaWYgKChzaGVldE5hbWUgIT09IHVuZGVmaW5lZCkgJiYgKHNoZWV0TmFtZSAhPT0gbnVsbCkpIHtcclxuICAgICAgX3NoZWV0TmFtZSA9IHNoZWV0TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoKGJpdGlzU2F0aXJpICE9PSB1bmRlZmluZWQpICYmIChiaXRpc1NhdGlyaSAhPT0gbnVsbCkpIHtcclxuICAgICAgX2JpdGlzU2F0aXJpID0gYml0aXNTYXRpcmk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGJhc2xhbmdpY1NhdGlyaSA9PT0gX2JpdGlzU2F0aXJpKSB7XHJcbiAgICAgIHRoaXMuc2NyaXB0cy5wdXNoKF9zaGVldE5hbWUgKyAnLlJvd3MoXCInICsgYmFzbGFuZ2ljU2F0aXJpLnRvU3RyaW5nKCkgKyAnXCIpLlJvd0hlaWdodCA9ICcgKyB0aGlzLlZCU1JlYWxUb1RleHQocm93SGVpZ2h0KSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zY3JpcHRzLnB1c2goX3NoZWV0TmFtZSArICcuUm93cyhcIicgKyBiYXNsYW5naWNTYXRpcmkudG9TdHJpbmcoKSArICc6JyArIF9iaXRpc1NhdGlyaS50b1N0cmluZygpICsgJ1wiKS5Sb3dIZWlnaHQgPSAnICsgdGhpcy5WQlNSZWFsVG9UZXh0KHJvd0hlaWdodCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkU2NyaXB0KHNjcmlwdDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNjcmlwdHMucHVzaChzY3JpcHQpO1xyXG4gIH1cclxuXHJcbiAgVkJTUmVhbFRvVGV4dChzYXlpOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHNheWkudG9TdHJpbmcoKS5yZXBsYWNlKC9bLF0vZywgJy4nKVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVXN0QmlsZ2lTYXRpciB7XHJcbiAgcm93Tm8gPSAwO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCcnLCAwKTtcclxuICB1c3RCaWxnaSA9ICcnO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExMb2dvIHtcclxuICBnZW5pc2xpayA9IDA7XHJcbiAgeXVrc2VrbGlrID0gMDtcclxuICB1c3RNYXJqaW4gPSAwO1xyXG4gIHNvbE1hcmppbiA9IDA7XHJcbiAgZWJhdFBpeGVsbWkgPSBmYWxzZTtcclxuICBlYmF0ID0gJyc7XHJcbiAga29udW0gPSAnJztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMRm9udCB7XHJcbiAgbmFtZSA9ICdTZWdvZSBVSSc7XHJcbiAgc2l6ZSA9IDExO1xyXG4gIGNvbG9yID0gWExSZW5rLkJsYWNrO1xyXG4gIHN0eWxlID0gRm9udFN0eWxlLlBsYWluO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihmb250TmFtZT86IHN0cmluZywgZm9udFNpemU/OiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2YgZm9udE5hbWUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMubmFtZSA9IGZvbnROYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuc2l6ZSA9IGZvbnRTaXplO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVXN0QmlsZ2kge1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgY29sdW1uRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U3R5bGVzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihmb250TmFtZT86IHN0cmluZywgZm9udFNpemU/OiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2YgZm9udE5hbWUgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIHRoaXMuZm9udC5uYW1lID0gZm9udE5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBmb250U2l6ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5mb250LnNpemUgPSBmb250U2l6ZTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExOb3Qge1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgY29sdW1uRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250U3R5bGVzOiBzdHJpbmdbXSA9IFtdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExTaGVldCB7XHJcbiAgc2hlZXRObyA9IDA7XHJcbiAgc2hlZXROYW1lID0gMDtcclxuICBjb25zdHJ1Y3RvcihzaGVldE5vOiBudW1iZXIpIHtcclxuICAgIGlmICh0eXBlb2Ygc2hlZXRObyAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5zaGVldE5vID0gc2hlZXRObztcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMSW50ZXJpb3Ige1xyXG4gIGNvbG9yOiBYTFJlbmsgPSBYTFJlbmsuV2hpdGU7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTEJvcmRlciB7XHJcbiAgdHlwZSA9ICdUw7xtw7wnO1xyXG4gIGxpbmVTdHlsZSA9IFhMTGluZVN0eWxlLnhsQ29udGludW91cztcclxuICB3ZWlnaHQgPSBYbEJvcmRlcldlaWdoLnhsVGhpbjtcclxuICBjb2xvciA9IFhMUmVuay5CbGFjaztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5IZWFkZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgaG9yaXpvbnRhbEFsaWdubWVudCA9IFhMSEFsaWduLnhsSEFsaWduTm9uZTtcclxuICB2ZXJ0aWNhbEFsaWdubWVudCA9IFhsVkFsaWduLnhsVkFsaWduTm9uZTtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGludGVyaW9yID0gbmV3IFhMSW50ZXJpb3IoKTtcclxuICBib3JkZXIgPSBuZXcgWExCb3JkZXIoKTtcclxuICBiYXNpbGFjYWsgPSB0cnVlO1xyXG4gIHNhdGlyU2F5aXNpID0gMTtcclxuICBpc011bHRpTGluZSA9IGZhbHNlO1xyXG4gIGNvbnN0cnVjdG9yKGhlYWRlciA9ICcnKSB7XHJcbiAgICB0aGlzLnRpdGxlID0gaGVhZGVyO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5EYXRhIHtcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGludGVyaW9yID0gbmV3IFhMSW50ZXJpb3IoKTtcclxuICBib3JkZXIgPSBuZXcgWExCb3JkZXIoKTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGUge1xyXG4gIGF1dG9GaXQgPSBmYWxzZTtcclxuICBjb2x1bW5zOiBYTFRhYmxlQ29sdW1uW10gPSBbXTtcclxuICBoZWFkZXIgPSBuZXcgWExUYWJsZUNvbHVtbkhlYWRlcigpO1xyXG4gIGRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICBmb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gIHRhYmxlTm8gPSAxO1xyXG4gIGNvbGxlY3Rpb246IHN0cmluZ1tdO1xyXG4gIHNvbCA9IDE7XHJcbiAgdXN0ID0gMTtcclxuICB2ZXJpS2F5bmFnaSA9ICdDb2xsZWN0aW9uJztcclxuICBzaGVldE5hbWUgPSAneGxTaGVldCc7XHJcbiAgaGlkZGVuUm93czogbnVtYmVyW10gPSBbXTtcclxuICBzb3J0OiBudW1iZXJbXSA9IFtdO1xyXG4gIHJvd3M6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjb2x1bW5Gb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY29sdW1uSW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY29sdW1uSGVhZGVySW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY29sdW1uRm9vdGVySW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgcm93Rm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJvd0ZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICByb3dGb250Q29sb3JzOiBSb3dGb250Q29sb3JbXSA9IFtdO1xyXG4gIHJvd0ZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgcm93SW50ZXJpb3JDb2xvcnM6IFJvd0ludGVyaW9yQ29sb3JbXSA9IFtdO1xyXG4gIHJvd0Zvcm1hdHM6IHN0cmluZ1tdID0gW107XHJcbiAgcm93SG9yaXpvbnRhbEFsaWdubWVudHM6IFhMSEFsaWduW10gPSBbXTtcclxuICByb3dWZXJ0aWNhbEFsaWdubWVudHM6IFhsVkFsaWduW10gPSBbXTtcclxuICBjZWxsRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxGb250U2l6ZXM6IG51bWJlcltdID0gW107XHJcbiAgY2VsbEZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgY2VsbEludGVyaW9yQ29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxGb3JtYXRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNlbGxIb3Jpem9udGFsQWxpZ25tZW50czogWExIQWxpZ25bXSA9IFtdO1xyXG4gIGNlbGxWZXJ0aWNhbEFsaWdubWVudHM6IFhsVkFsaWduW10gPSBbXTtcclxuICByYW5nZUZvbnROYW1lczogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICByYW5nZUZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VGb250U3R5bGVzOiBGb250U3R5bGVbXSA9IFtdO1xyXG4gIHJhbmdlSW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VGb3JtYXRzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlSG9yaXpvbnRhbEFsaWdubWVudHM6IFhMSEFsaWduW10gPSBbXTtcclxuICByYW5nZVZlcnRpY2FsQWxpZ25tZW50czogWGxWQWxpZ25bXSA9IFtdO1xyXG5cclxuICBhZGRDb2x1bW4ocHJvcGVydHk6IHN0cmluZywgdHlwZTogVmFyaWFibGVUeXBlID0gMCwgaGVhZGVyID0gJycsIGdlbmlzbGlrID0gMCk6IFhMVGFibGVDb2x1bW4ge1xyXG5cclxuICAgIGNvbnN0IGNvbHVtbiA9IG5ldyBYTFRhYmxlQ29sdW1uKCk7XHJcbiAgICBjb25zdCBjb2x1bW5IZWFkZXIgPSBoZWFkZXIucmVwbGFjZSgnPHA+JywgJ1xccicpO1xyXG4gICAgY29uc3QgY29sdW1uQ291bnQgPSB0aGlzLmNvbHVtbnMubGVuZ3RoICsgMTtcclxuXHJcbiAgICBjb2x1bW4ucHJvcGVydHkgPSBwcm9wZXJ0eTtcclxuICAgIGNvbHVtbi5hcnJheVR5cGUgPSB0eXBlO1xyXG4gICAgY29sdW1uLmNvbHVtbk5vID0gY29sdW1uQ291bnQ7XHJcbiAgICBjb2x1bW4uaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoY29sdW1uSGVhZGVyKTtcclxuXHJcbiAgICBjb2x1bW4uZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICAgIGNvbHVtbi5ob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gICAgY29sdW1uLnZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5CZWxpcnNpejtcclxuICAgIGNvbHVtbi53aWR0aCA9IGdlbmlzbGlrO1xyXG5cclxuICAgIHN3aXRjaCAodHlwZSkge1xyXG4gICAgICBjYXNlIFZhcmlhYmxlVHlwZS5JbnRlZ2VyOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBOdW1iZXJGb3JtYXRsYXIuTG9uZztcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLkxvbmdpbnQ6XHJcbiAgICAgICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5Mb25nO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBWYXJpYWJsZVR5cGUuUmVhbDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gTnVtYmVyRm9ybWF0bGFyLlJlYWw7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFZhcmlhYmxlVHlwZS5EYXRlOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBOdW1iZXJGb3JtYXRsYXIuVGFyaWg7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhlYWRlclNhdGlyQWRldCA9IHRoaXMuaGVhZGVyLnNhdGlyU2F5aXNpO1xyXG4gICAgY29uc3QgdGVtcFNpemUgPSBjb2x1bW5IZWFkZXIuc3BsaXQoJ1xccicpLmxlbmd0aDtcclxuICAgIGlmICh0ZW1wU2l6ZSA+IGhlYWRlclNhdGlyQWRldCkge1xyXG4gICAgICB0aGlzLmhlYWRlci5zYXRpclNheWlzaSA9IHRlbXBTaXplO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29sdW1ucy5wdXNoKGNvbHVtbik7XHJcbiAgICByZXR1cm4gY29sdW1uO1xyXG4gIH1cclxuXHJcbiAgY29sdW1uRm9ybWF0KGZvcm1hdDogTnVtYmVyRm9ybWF0bGFyLCBjb2x1bW5Obz86IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2x1bW5zW19jb2x1bW5ObyAtIDFdLmZvcm1hdCA9IGZvcm1hdDtcclxuICB9XHJcblxyXG4gIHJvd0ZvbnRDb2xvckFkZChjb2xvcjogWExSZW5rLCByb3dObz86IG51bWJlcik6IHZvaWQge1xyXG4gICAgbGV0IF9yb3dObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIHJvd05vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfcm93Tm8gPSB0aGlzLnJvd3MubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX3Jvd05vID0gcm93Tm87XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yb3dGb250Q29sb3JzLnB1c2gobmV3IFJvd0ZvbnRDb2xvcihjb2xvciwgX3Jvd05vKSk7XHJcbiAgfVxyXG5cclxuICByb3dJbnRlcmlvckNvbG9yQWRkKGNvbG9yOiBYTFJlbmssIHJvd05vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX3Jvd05vID0gMDtcclxuICAgIGlmICh0eXBlb2Ygcm93Tm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9yb3dObyA9IHRoaXMucm93cy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfcm93Tm8gPSByb3dObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0ludGVyaW9yQ29sb3JzLnB1c2gobmV3IFJvd0ludGVyaW9yQ29sb3IoY29sb3IsIF9yb3dObykpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29sdW1uRm9vdGVyKHRpdGxlOiBzdHJpbmcsIGNvbHVtbk5vPzogbnVtYmVyKSB7XHJcbiAgICBsZXQgX2NvbHVtbk5vID0gMDtcclxuICAgIGlmICh0eXBlb2YgY29sdW1uTm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IHRoaXMuY29sdW1ucy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29sdW1uTm8gPSBjb2x1bW5ObztcclxuICAgIH1cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm8gLSAxXS5zZXRGb290ZXIodGl0bGUpO1xyXG5cclxuICB9XHJcblxyXG4gIHNldENvbHVtbkZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uOiBYTEZ1bmNzLCBjb2x1bW5Obz86IG51bWJlcikge1xyXG4gICAgbGV0IF9jb2x1bW5ObyA9IDA7XHJcbiAgICBpZiAodHlwZW9mIGNvbHVtbk5vID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgICBfY29sdW1uTm8gPSB0aGlzLmNvbHVtbnMubGVuZ3RoO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgX2NvbHVtbk5vID0gY29sdW1uTm87XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbHVtbnNbX2NvbHVtbk5vIC0gMV0uc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb24pO1xyXG5cclxuICB9XHJcblxyXG4gIGhpZGRlblJvd3NJbml0KCkge1xyXG4gICAgdGhpcy5oaWRkZW5Sb3dzID0gW107XHJcbiAgfVxyXG5cclxuICBzb3J0SW5pdCgpIHtcclxuICAgIHRoaXMuc29ydCA9IFtdO1xyXG4gIH1cclxuXHJcbiAgcm93c0luaXQoKSB7XHJcbiAgICB0aGlzLnJvd3MgPSBbXTtcclxuICB9XHJcblxyXG4gIGNvbHVtbkZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5jb2x1bW5Gb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckludGVyaW9yQ29sb3JzID0gW107XHJcbiAgfVxyXG5cclxuICByb3dGb3JtYXRzSW5pdCgpIHtcclxuICAgIHRoaXMucm93Rm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5yb3dGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJvd0ludGVyaW9yQ29sb3JzID0gW107XHJcbiAgICB0aGlzLnJvd0Zvcm1hdHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLnJvd0hvcml6b250YWxBbGlnbm1lbnRzID0gW107XHJcbiAgICB0aGlzLnJvd1ZlcnRpY2FsQWxpZ25tZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY2VsbEZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5jZWxsRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNlbGxGb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY2VsbEZvcm1hdHMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNlbGxIb3Jpem9udGFsQWxpZ25tZW50cyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsVmVydGljYWxBbGlnbm1lbnRzID0gW107XHJcbiAgfVxyXG5cclxuICByYW5nZUZvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5yYW5nZUZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb250U3R5bGVzID0gW107XHJcbiAgICB0aGlzLnJhbmdlSW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VGb3JtYXRzID0gW107XHJcbiAgICB0aGlzLnJhbmdlSG9yaXpvbnRhbEFsaWdubWVudHMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VWZXJ0aWNhbEFsaWdubWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGdldCBfc2hlZXROYW1lKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zaGVldE5hbWU7XHJcbiAgfVxyXG4gIHNldCBfc2hlZXROYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2hlZXROYW1lID0gdmFsdWU7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVGFibGVDb2x1bW5Gb290ZXIge1xyXG4gIHRpdGxlID0gJyc7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBpbnRlcmlvciA9IG5ldyBYTEludGVyaW9yKCk7XHJcbiAgYm9yZGVyID0gbmV3IFhMQm9yZGVyKCk7XHJcbiAgYmFzaWxhY2FrID0gZmFsc2U7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzRnVuY3Rpb24gPSBmYWxzZTtcclxuICBob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZ1bmN0aW9uID0gWExGdW5jcy5Ob25lO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbiB7XHJcbiAgcHJvcGVydHkgPSAnJztcclxuICBhcnJheVR5cGU6IFZhcmlhYmxlVHlwZSA9IDA7XHJcbiAgY29sdW1uTm8gPSAwO1xyXG4gIGhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgZm9vdGVyID0gbmV3IFhMVGFibGVDb2x1bW5Gb290ZXIoKTtcclxuICBob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZvcm1hdDogTnVtYmVyRm9ybWF0bGFyID0gMDtcclxuICB3aWR0aCA9IDA7XHJcblxyXG4gIHNldEZvb3RlckZ1bmN0aW9uKGZvb3RlckZ1bmN0aW9uOiBYTEZ1bmNzKSB7XHJcbiAgICB0aGlzLmZvb3Rlci5iYXNpbGFjYWsgPSB0cnVlO1xyXG4gICAgdGhpcy5mb290ZXIuZnVuY3Rpb24gPSBmb290ZXJGdW5jdGlvbjtcclxuICAgIHRoaXMuZm9vdGVyLmlzRnVuY3Rpb24gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9vdGVyKHRpdGxlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZm9vdGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0aGlzLmZvb3Rlci50aXRsZSA9IHRpdGxlO1xyXG4gICAgdGhpcy5mb290ZXIuaXNGdW5jdGlvbiA9IGZhbHNlO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd0ZvbnRDb2xvciB7XHJcbiAgY29sb3I6IFhMUmVuaztcclxuICByb3dObzogbnVtYmVyO1xyXG4gIGNvbnN0cnVjdG9yKGNvbG9yOiBYTFJlbmssIHJvd05vOiBudW1iZXIpIHtcclxuICAgIHRoaXMuY29sb3IgPSBjb2xvcjtcclxuICAgIHRoaXMucm93Tm8gPSByb3dObztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSb3dJbnRlcmlvckNvbG9yIHtcclxuICBjb2xvcjogWExSZW5rO1xyXG4gIHJvd05vOiBudW1iZXI7XHJcbiAgY29uc3RydWN0b3IoY29sb3I6IFhMUmVuaywgcm93Tm86IG51bWJlcikge1xyXG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xyXG4gICAgdGhpcy5yb3dObyA9IHJvd05vO1xyXG4gIH1cclxufVxyXG4iXX0=
437
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieGxDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvYXBpL21vZGVscy94bENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEYsTUFBTSxPQUFPLFFBQVE7SUF3Qm5CLFlBQVksUUFBaUIsRUFBRSxRQUFpQjtRQXZCaEQsU0FBSSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBRTNCLHNCQUFpQixHQUFHLG1CQUFtQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLDZCQUF3QixHQUFHLE9BQU8sQ0FBQztRQUNuQyxzQkFBaUIsR0FBRyxRQUFRLENBQUM7UUFDN0IsdUJBQWtCLEdBQUcsU0FBUyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxTQUFTLENBQUM7UUFDbkIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUVmLGdCQUFXLEdBQXNCLEVBQUUsQ0FBQztRQUNwQyxhQUFRLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUU1QixXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLFlBQU8sR0FBYSxFQUFFLENBQUM7UUFDdkIsUUFBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFFbEIsV0FBTSxHQUFjLEVBQUUsQ0FBQztRQUV2QixXQUFNLEdBQWMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBR25DLElBQUksQ0FBQyxPQUFPLFFBQVEsS0FB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ZSwgTnVtYmVyRm9ybWF0bGFyLCBWYXJpYWJsZVR5cGUsIFhMUmVuayB9IGZyb20gJy4vZm91ckRDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBYbEJvcmRlcldlaWdoLCBYTEZ1bmNzLCBYTEhBbGlnbiwgWExMaW5lU3R5bGUsIFhsVkFsaWduIH0gZnJvbSAnLi94bENvbnN0YW50cyc7XHJcblxyXG5leHBvcnQgY2xhc3MgWExDb25maWcge1xyXG4gIGxvZ28gPSBuZXcgWExMb2dvKCk7XHJcbiAgZGVmYXVsdEZvbnQgPSBuZXcgWExGb250KCk7XHJcblxyXG4gIGN1cnJlbnRUYWJsZVN0eWxlID0gJ1RhYmxlU3R5bGVMaWdodDEwJztcclxuICBjdXJyZW50VGFibGUgPSAxO1xyXG4gIGN1cnJlbnRBcHBsaWNhdGlvbk9iamVjdCA9ICd4bEFwcCc7XHJcbiAgY3VycmVudEJvb2tPYmplY3QgPSAneGxCb29rJztcclxuICBjdXJyZW50U2hlZXRPYmplY3QgPSAneGxTaGVldCc7XHJcbiAgYXV0aG9yID0gJ01lZFBsYW4nO1xyXG4gIHNpZmlybGFyaUJhc21hID0gZmFsc2U7XHJcbiAgc2hlZXROYW1lID0gJyc7XHJcblxyXG4gIHVzdEJpbGdpbGVyOiBYTFVzdEJpbGdpU2F0aXJbXSA9IFtdO1xyXG4gIHVzdEJpbGdpID0gbmV3IFhMVXN0QmlsZ2koKTtcclxuXHJcbiAgbm90bGFyOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHNjcmlwdHM6IHN0cmluZ1tdID0gW107XHJcbiAgbm90ID0gbmV3IFhMTm90KCk7XHJcblxyXG4gIHRhYmxlczogWExUYWJsZVtdID0gW107XHJcblxyXG4gIHNoZWV0czogWExTaGVldFtdID0gW25ldyBYTFNoZWV0KDEpXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZm9udE5hbWU/OiBzdHJpbmcsIGZvbnRTaXplPzogbnVtYmVyKSB7XHJcbiAgICBpZiAoKHR5cGVvZiBmb250TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHx8ICh0eXBlb2YgZm9udFNpemUgIT09ICd1bmRlZmluZWQnKSkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRGb250ID0gbmV3IFhMRm9udChmb250TmFtZSwgZm9udFNpemUpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGFibGUgPSB0aGlzLmFkZFRhYmxlKCk7XHJcbiAgICB0YWJsZS50YWJsZU5vID0gdGhpcy50YWJsZXMubGVuZ3RoICsgMTtcclxuXHJcbiAgICB0aGlzLnRhYmxlcy5wdXNoKHRhYmxlKTtcclxuXHJcbiAgfVxyXG5cclxuICB1c3RCaWxnaVNhdGlyRWtsZShzYXRpcjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1c3RCaWxnaSA9IG5ldyBYTFVzdEJpbGdpU2F0aXIoKTtcclxuICAgIHVzdEJpbGdpLnJvd05vID0gdGhpcy51c3RCaWxnaWxlci5sZW5ndGggKyAxO1xyXG4gICAgdXN0QmlsZ2kudXN0QmlsZ2kgPSBzYXRpcjtcclxuXHJcbiAgICB0aGlzLnVzdEJpbGdpbGVyLnB1c2godXN0QmlsZ2kpO1xyXG4gIH1cclxuXHJcbiAgYWRkVGFibGUoKTogWExUYWJsZSB7XHJcbiAgICBjb25zdCB0YWJsZSA9IG5ldyBYTFRhYmxlKCk7XHJcbiAgICB0YWJsZS5zb2wgPSAxO1xyXG4gICAgdGFibGUudXN0ID0gMTtcclxuICAgIHRhYmxlLmhlYWRlci5iYXNpbGFjYWsgPSB0cnVlO1xyXG4gICAgdGFibGUuZm9vdGVyLmJhc2lsYWNhayA9IGZhbHNlO1xyXG4gICAgdGFibGUuaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICAgIHRhYmxlLmhlYWRlci5pbnRlcmlvci5jb2xvciA9IFhMUmVuay5XaGl0ZTtcclxuICAgIHRhYmxlLmRhdGEgPSBuZXcgWExUYWJsZUNvbHVtbkRhdGEoKTtcclxuICAgIHRhYmxlLmRhdGEuaW50ZXJpb3IuY29sb3IgPSBYTFJlbmsuV2hpdGU7XHJcbiAgICB0YWJsZS5mb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gICAgdGFibGUuZm9vdGVyLmludGVyaW9yLmNvbG9yID0gWExSZW5rLldoaXRlO1xyXG5cclxuICAgIHRhYmxlLmhpZGRlblJvd3NJbml0KCk7XHJcbiAgICB0YWJsZS5zb3J0SW5pdCgpO1xyXG4gICAgdGFibGUucm93c0luaXQoKTtcclxuICAgIHRhYmxlLmNvbHVtbkZvcm1hdHNJbml0KCk7XHJcblxyXG4gICAgdGFibGUucm93Rm9ybWF0c0luaXQoKTtcclxuICAgIHRhYmxlLmNlbGxGb3JtYXRzSW5pdCgpO1xyXG4gICAgdGFibGUucmFuZ2VGb3JtYXRzSW5pdCgpO1xyXG5cclxuICAgIC8qXHJcbiAgICAgICAgWExfVF9IZWFkZXJCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0RhdGFCb3JkZXJBbGxTZXQoVXRpbHNCb3JkZXJUdW11OyB4bENvbnRpbnVvdXM7IHhsVGhpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0Zvb3RlckJvcmRlckFsbFNldChVdGlsc0JvcmRlclR1bXU7IHhsQ29udGludW91czsgeGxUaGluOyBjbEJsYWNrKVxyXG4gICAgICAgIFhMX1RfSGVhZGVyRm9udEFsbFNldChYTF9EZWZhdWx0Rm9udE5hbWUgOyBYTF9EZWZhdWx0Rm9udFNpemU7IFBsYWluOyBjbEJsYWNrKVxyXG4gICAgICAgIFhMX1RfRGF0YUZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX0Zvb3RlckZvbnRBbGxTZXQoWExfRGVmYXVsdEZvbnROYW1lIDsgWExfRGVmYXVsdEZvbnRTaXplOyBQbGFpbjsgY2xCbGFjaylcclxuICAgICAgICBYTF9UX1NoZWV0TmFtZVNldChYTF9TX0N1cnJlbnQpXHJcbiovXHJcblxyXG4gICAgcmV0dXJuIHRhYmxlO1xyXG4gIH1cclxuXHJcbiAgc2hlZXRSb3dzUm93SGVpZ2h0U2NyaXB0KHJvd0hlaWdodDogbnVtYmVyLCBiYXNsYW5naWNTYXRpcmk6IG51bWJlciwgYml0aXNTYXRpcmk/OiBudW1iZXIsIHNoZWV0TmFtZT86IHN0cmluZykge1xyXG4gICAgbGV0IF9zaGVldE5hbWUgPSB0aGlzLmN1cnJlbnRTaGVldE9iamVjdDtcclxuICAgIGxldCBfYml0aXNTYXRpcmkgPSBiYXNsYW5naWNTYXRpcmk7XHJcblxyXG4gICAgaWYgKChzaGVldE5hbWUgIT09IHVuZGVmaW5lZCkgJiYgKHNoZWV0TmFtZSAhPT0gbnVsbCkpIHtcclxuICAgICAgX3NoZWV0TmFtZSA9IHNoZWV0TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoKGJpdGlzU2F0aXJpICE9PSB1bmRlZmluZWQpICYmIChiaXRpc1NhdGlyaSAhPT0gbnVsbCkpIHtcclxuICAgICAgX2JpdGlzU2F0aXJpID0gYml0aXNTYXRpcmk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGJhc2xhbmdpY1NhdGlyaSA9PT0gX2JpdGlzU2F0aXJpKSB7XHJcbiAgICAgIHRoaXMuc2NyaXB0cy5wdXNoKF9zaGVldE5hbWUgKyAnLlJvd3MoXCInICsgYmFzbGFuZ2ljU2F0aXJpLnRvU3RyaW5nKCkgKyAnXCIpLlJvd0hlaWdodCA9ICcgKyB0aGlzLlZCU1JlYWxUb1RleHQocm93SGVpZ2h0KSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zY3JpcHRzLnB1c2goX3NoZWV0TmFtZSArICcuUm93cyhcIicgKyBiYXNsYW5naWNTYXRpcmkudG9TdHJpbmcoKSArICc6JyArIF9iaXRpc1NhdGlyaS50b1N0cmluZygpICsgJ1wiKS5Sb3dIZWlnaHQgPSAnICsgdGhpcy5WQlNSZWFsVG9UZXh0KHJvd0hlaWdodCkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkU2NyaXB0KHNjcmlwdDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNjcmlwdHMucHVzaChzY3JpcHQpO1xyXG4gIH1cclxuXHJcbiAgVkJTUmVhbFRvVGV4dChzYXlpOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHNheWkudG9TdHJpbmcoKS5yZXBsYWNlKC9bLF0vZywgJy4nKVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMVXN0QmlsZ2lTYXRpciB7XHJcbiAgcm93Tm8gPSAwO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCcnLCAwKTtcclxuICB1c3RCaWxnaSA9ICcnO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExMb2dvIHtcclxuICBnZW5pc2xpayA9IDA7XHJcbiAgeXVrc2VrbGlrID0gMDtcclxuICB1c3RNYXJqaW4gPSAwO1xyXG4gIHNvbE1hcmppbiA9IDA7XHJcbiAgZWJhdFBpeGVsbWkgPSBmYWxzZTtcclxuICBlYmF0ID0gJyc7XHJcbiAga29udW0gPSAnJztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMRm9udCB7XHJcbiAgbmFtZSA9ICdDYWxpYnJpJztcclxuICBzaXplID0gMTE7XHJcbiAgY29sb3IgPSBYTFJlbmsuQmxhY2s7XHJcbiAgc3R5bGUgPSBGb250U3R5bGUuUGxhaW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZvbnROYW1lPzogc3RyaW5nLCBmb250U2l6ZT86IG51bWJlcikge1xyXG4gICAgaWYgKHR5cGVvZiBmb250TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5uYW1lID0gZm9udE5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBmb250U2l6ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5zaXplID0gZm9udFNpemU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExVc3RCaWxnaSB7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBjb2x1bW5Gb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRTdHlsZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKGZvbnROYW1lPzogc3RyaW5nLCBmb250U2l6ZT86IG51bWJlcikge1xyXG4gICAgaWYgKHR5cGVvZiBmb250TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgdGhpcy5mb250Lm5hbWUgPSBmb250TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGZvbnRTaXplICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLmZvbnQuc2l6ZSA9IGZvbnRTaXplO1xyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTE5vdCB7XHJcbiAgZm9udCA9IG5ldyBYTEZvbnQoKTtcclxuICBjb2x1bW5Gb250Q29sb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRTdHlsZXM6IHN0cmluZ1tdID0gW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFNoZWV0IHtcclxuICBzaGVldE5vID0gMDtcclxuICBzaGVldE5hbWUgPSAwO1xyXG4gIGNvbnN0cnVjdG9yKHNoZWV0Tm86IG51bWJlcikge1xyXG4gICAgaWYgKHR5cGVvZiBzaGVldE5vICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICB0aGlzLnNoZWV0Tm8gPSBzaGVldE5vO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExJbnRlcmlvciB7XHJcbiAgY29sb3I6IFhMUmVuayA9IFhMUmVuay5XaGl0ZTtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFhMQm9yZGVyIHtcclxuICB0eXBlID0gJ1TDvG3DvCc7XHJcbiAgbGluZVN0eWxlID0gWExMaW5lU3R5bGUueGxDb250aW51b3VzO1xyXG4gIHdlaWdodCA9IFhsQm9yZGVyV2VpZ2gueGxUaGluO1xyXG4gIGNvbG9yID0gWExSZW5rLkJsYWNrO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbkhlYWRlciB7XHJcbiAgdGl0bGUgPSAnJztcclxuICBob3Jpem9udGFsQWxpZ25tZW50ID0gWExIQWxpZ24ueGxIQWxpZ25Ob25lO1xyXG4gIHZlcnRpY2FsQWxpZ25tZW50ID0gWGxWQWxpZ24ueGxWQWxpZ25Ob25lO1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG4gIGJhc2lsYWNhayA9IHRydWU7XHJcbiAgc2F0aXJTYXlpc2kgPSAxO1xyXG4gIGlzTXVsdGlMaW5lID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoaGVhZGVyID0gJycpIHtcclxuICAgIHRoaXMudGl0bGUgPSBoZWFkZXI7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbkRhdGEge1xyXG4gIGZvbnQgPSBuZXcgWExGb250KCk7XHJcbiAgaW50ZXJpb3IgPSBuZXcgWExJbnRlcmlvcigpO1xyXG4gIGJvcmRlciA9IG5ldyBYTEJvcmRlcigpO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZSB7XHJcbiAgYXV0b0ZpdCA9IGZhbHNlO1xyXG4gIGNvbHVtbnM6IFhMVGFibGVDb2x1bW5bXSA9IFtdO1xyXG4gIGhlYWRlciA9IG5ldyBYTFRhYmxlQ29sdW1uSGVhZGVyKCk7XHJcbiAgZGF0YSA9IG5ldyBYTFRhYmxlQ29sdW1uRGF0YSgpO1xyXG4gIGZvb3RlciA9IG5ldyBYTFRhYmxlQ29sdW1uRm9vdGVyKCk7XHJcbiAgdGFibGVObyA9IDE7XHJcbiAgY29sbGVjdGlvbjogc3RyaW5nW107XHJcbiAgc29sID0gMTtcclxuICB1c3QgPSAxO1xyXG4gIHZlcmlLYXluYWdpID0gJ0NvbGxlY3Rpb24nO1xyXG4gIHNoZWV0TmFtZSA9ICd4bFNoZWV0JztcclxuICBoaWRkZW5Sb3dzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHNvcnQ6IG51bWJlcltdID0gW107XHJcbiAgcm93czogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNvbHVtbkZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjb2x1bW5JbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNvbHVtbkhlYWRlckZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uSGVhZGVyRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjb2x1bW5IZWFkZXJJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIGNvbHVtbkZvb3RlckZvbnRDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY29sdW1uRm9vdGVyRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjb2x1bW5Gb290ZXJJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICByb3dGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgcm93Rm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHJvd0ZvbnRDb2xvcnM6IFJvd0ZvbnRDb2xvcltdID0gW107XHJcbiAgcm93Rm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICByb3dJbnRlcmlvckNvbG9yczogUm93SW50ZXJpb3JDb2xvcltdID0gW107XHJcbiAgcm93Rm9ybWF0czogc3RyaW5nW10gPSBbXTtcclxuICByb3dIb3Jpem9udGFsQWxpZ25tZW50czogWExIQWxpZ25bXSA9IFtdO1xyXG4gIHJvd1ZlcnRpY2FsQWxpZ25tZW50czogWGxWQWxpZ25bXSA9IFtdO1xyXG4gIGNlbGxGb250TmFtZXM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEZvbnRTaXplczogbnVtYmVyW10gPSBbXTtcclxuICBjZWxsRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICBjZWxsRm9udFN0eWxlczogRm9udFN0eWxlW10gPSBbXTtcclxuICBjZWxsSW50ZXJpb3JDb2xvcnM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEZvcm1hdHM6IHN0cmluZ1tdID0gW107XHJcbiAgY2VsbEhvcml6b250YWxBbGlnbm1lbnRzOiBYTEhBbGlnbltdID0gW107XHJcbiAgY2VsbFZlcnRpY2FsQWxpZ25tZW50czogWGxWQWxpZ25bXSA9IFtdO1xyXG4gIHJhbmdlRm9udE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHJhbmdlRm9udFNpemVzOiBudW1iZXJbXSA9IFtdO1xyXG4gIHJhbmdlRm9udENvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUZvbnRTdHlsZXM6IEZvbnRTdHlsZVtdID0gW107XHJcbiAgcmFuZ2VJbnRlcmlvckNvbG9yczogc3RyaW5nW10gPSBbXTtcclxuICByYW5nZUZvcm1hdHM6IHN0cmluZ1tdID0gW107XHJcbiAgcmFuZ2VIb3Jpem9udGFsQWxpZ25tZW50czogWExIQWxpZ25bXSA9IFtdO1xyXG4gIHJhbmdlVmVydGljYWxBbGlnbm1lbnRzOiBYbFZBbGlnbltdID0gW107XHJcblxyXG4gIGFkZENvbHVtbihwcm9wZXJ0eTogc3RyaW5nLCB0eXBlOiBWYXJpYWJsZVR5cGUgPSAwLCBoZWFkZXIgPSAnJywgZ2VuaXNsaWsgPSAwKTogWExUYWJsZUNvbHVtbiB7XHJcblxyXG4gICAgY29uc3QgY29sdW1uID0gbmV3IFhMVGFibGVDb2x1bW4oKTtcclxuICAgIGNvbnN0IGNvbHVtbkhlYWRlciA9IGhlYWRlci5yZXBsYWNlKCc8cD4nLCAnXFxyJyk7XHJcbiAgICBjb25zdCBjb2x1bW5Db3VudCA9IHRoaXMuY29sdW1ucy5sZW5ndGggKyAxO1xyXG5cclxuICAgIGNvbHVtbi5wcm9wZXJ0eSA9IHByb3BlcnR5O1xyXG4gICAgY29sdW1uLmFycmF5VHlwZSA9IHR5cGU7XHJcbiAgICBjb2x1bW4uY29sdW1uTm8gPSBjb2x1bW5Db3VudDtcclxuICAgIGNvbHVtbi5oZWFkZXIgPSBuZXcgWExUYWJsZUNvbHVtbkhlYWRlcihjb2x1bW5IZWFkZXIpO1xyXG5cclxuICAgIGNvbHVtbi5mb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gICAgY29sdW1uLmhvcml6b250YWxBbGlnbm1lbnQgPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgICBjb2x1bW4udmVydGljYWxBbGlnbm1lbnQgPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgICBjb2x1bW4uZm9ybWF0ID0gTnVtYmVyRm9ybWF0bGFyLkJlbGlyc2l6O1xyXG4gICAgY29sdW1uLndpZHRoID0gZ2VuaXNsaWs7XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLkludGVnZXI6XHJcbiAgICAgICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5Mb25nO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBWYXJpYWJsZVR5cGUuTG9uZ2ludDpcclxuICAgICAgICBjb2x1bW4uZm9ybWF0ID0gTnVtYmVyRm9ybWF0bGFyLkxvbmc7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIFZhcmlhYmxlVHlwZS5SZWFsOlxyXG4gICAgICAgIGNvbHVtbi5mb3JtYXQgPSBOdW1iZXJGb3JtYXRsYXIuUmVhbDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgVmFyaWFibGVUeXBlLkRhdGU6XHJcbiAgICAgICAgY29sdW1uLmZvcm1hdCA9IE51bWJlckZvcm1hdGxhci5UYXJpaDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaGVhZGVyU2F0aXJBZGV0ID0gdGhpcy5oZWFkZXIuc2F0aXJTYXlpc2k7XHJcbiAgICBjb25zdCB0ZW1wU2l6ZSA9IGNvbHVtbkhlYWRlci5zcGxpdCgnXFxyJykubGVuZ3RoO1xyXG4gICAgaWYgKHRlbXBTaXplID4gaGVhZGVyU2F0aXJBZGV0KSB7XHJcbiAgICAgIHRoaXMuaGVhZGVyLnNhdGlyU2F5aXNpID0gdGVtcFNpemU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb2x1bW5zLnB1c2goY29sdW1uKTtcclxuICAgIHJldHVybiBjb2x1bW47XHJcbiAgfVxyXG5cclxuICBjb2x1bW5Gb3JtYXQoZm9ybWF0OiBOdW1iZXJGb3JtYXRsYXIsIGNvbHVtbk5vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX2NvbHVtbk5vID0gMDtcclxuICAgIGlmICh0eXBlb2YgY29sdW1uTm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IHRoaXMuY29sdW1ucy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29sdW1uTm8gPSBjb2x1bW5ObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbHVtbnNbX2NvbHVtbk5vIC0gMV0uZm9ybWF0ID0gZm9ybWF0O1xyXG4gIH1cclxuXHJcbiAgcm93Rm9udENvbG9yQWRkKGNvbG9yOiBYTFJlbmssIHJvd05vPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgX3Jvd05vID0gMDtcclxuICAgIGlmICh0eXBlb2Ygcm93Tm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9yb3dObyA9IHRoaXMucm93cy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfcm93Tm8gPSByb3dObztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvd0ZvbnRDb2xvcnMucHVzaChuZXcgUm93Rm9udENvbG9yKGNvbG9yLCBfcm93Tm8pKTtcclxuICB9XHJcblxyXG4gIHJvd0ludGVyaW9yQ29sb3JBZGQoY29sb3I6IFhMUmVuaywgcm93Tm8/OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBfcm93Tm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiByb3dObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX3Jvd05vID0gdGhpcy5yb3dzLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9yb3dObyA9IHJvd05vO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucm93SW50ZXJpb3JDb2xvcnMucHVzaChuZXcgUm93SW50ZXJpb3JDb2xvcihjb2xvciwgX3Jvd05vKSk7XHJcbiAgfVxyXG5cclxuICBzZXRDb2x1bW5Gb290ZXIodGl0bGU6IHN0cmluZywgY29sdW1uTm8/OiBudW1iZXIpIHtcclxuICAgIGxldCBfY29sdW1uTm8gPSAwO1xyXG4gICAgaWYgKHR5cGVvZiBjb2x1bW5ObyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgX2NvbHVtbk5vID0gdGhpcy5jb2x1bW5zLmxlbmd0aDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IGNvbHVtbk5vO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb2x1bW5zW19jb2x1bW5ObyAtIDFdLnNldEZvb3Rlcih0aXRsZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgc2V0Q29sdW1uRm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb246IFhMRnVuY3MsIGNvbHVtbk5vPzogbnVtYmVyKSB7XHJcbiAgICBsZXQgX2NvbHVtbk5vID0gMDtcclxuICAgIGlmICh0eXBlb2YgY29sdW1uTm8gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIF9jb2x1bW5ObyA9IHRoaXMuY29sdW1ucy5sZW5ndGg7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBfY29sdW1uTm8gPSBjb2x1bW5ObztcclxuICAgIH1cclxuICAgIHRoaXMuY29sdW1uc1tfY29sdW1uTm8gLSAxXS5zZXRGb290ZXJGdW5jdGlvbihmb290ZXJGdW5jdGlvbik7XHJcblxyXG4gIH1cclxuXHJcbiAgaGlkZGVuUm93c0luaXQoKSB7XHJcbiAgICB0aGlzLmhpZGRlblJvd3MgPSBbXTtcclxuICB9XHJcblxyXG4gIHNvcnRJbml0KCkge1xyXG4gICAgdGhpcy5zb3J0ID0gW107XHJcbiAgfVxyXG5cclxuICByb3dzSW5pdCgpIHtcclxuICAgIHRoaXMucm93cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgY29sdW1uRm9ybWF0c0luaXQoKSB7XHJcbiAgICB0aGlzLmNvbHVtbkZvbnROYW1lcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb250U2l6ZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5Gb250U3R5bGVzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5JbnRlcmlvckNvbG9ycyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uSGVhZGVyRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jb2x1bW5IZWFkZXJGb250Q29sb3JzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckZvbnRTdHlsZXMgPSBbXTtcclxuXHJcbiAgICB0aGlzLmNvbHVtbkhlYWRlckludGVyaW9yQ29sb3JzID0gW107XHJcblxyXG4gICAgdGhpcy5jb2x1bW5Gb290ZXJGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLmNvbHVtbkZvb3RlckZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMuY29sdW1uRm9vdGVyRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY29sdW1uRm9vdGVySW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuICB9XHJcblxyXG4gIHJvd0Zvcm1hdHNJbml0KCkge1xyXG4gICAgdGhpcy5yb3dGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMucm93Rm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLnJvd0ZvbnRDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucm93Rm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMucm93SW50ZXJpb3JDb2xvcnMgPSBbXTtcclxuICAgIHRoaXMucm93Rm9ybWF0cyA9IFtdO1xyXG5cclxuICAgIHRoaXMucm93SG9yaXpvbnRhbEFsaWdubWVudHMgPSBbXTtcclxuICAgIHRoaXMucm93VmVydGljYWxBbGlnbm1lbnRzID0gW107XHJcbiAgfVxyXG5cclxuICBjZWxsRm9ybWF0c0luaXQoKSB7XHJcbiAgICB0aGlzLmNlbGxGb250TmFtZXMgPSBbXTtcclxuICAgIHRoaXMuY2VsbEZvbnRTaXplcyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5jZWxsRm9udFN0eWxlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY2VsbEludGVyaW9yQ29sb3JzID0gW107XHJcblxyXG4gICAgdGhpcy5jZWxsRm9ybWF0cyA9IFtdO1xyXG5cclxuICAgIHRoaXMuY2VsbEhvcml6b250YWxBbGlnbm1lbnRzID0gW107XHJcbiAgICB0aGlzLmNlbGxWZXJ0aWNhbEFsaWdubWVudHMgPSBbXTtcclxuICB9XHJcblxyXG4gIHJhbmdlRm9ybWF0c0luaXQoKSB7XHJcbiAgICB0aGlzLnJhbmdlRm9udE5hbWVzID0gW107XHJcbiAgICB0aGlzLnJhbmdlRm9udFNpemVzID0gW107XHJcbiAgICB0aGlzLnJhbmdlRm9udENvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvbnRTdHlsZXMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VJbnRlcmlvckNvbG9ycyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZUZvcm1hdHMgPSBbXTtcclxuICAgIHRoaXMucmFuZ2VIb3Jpem9udGFsQWxpZ25tZW50cyA9IFtdO1xyXG4gICAgdGhpcy5yYW5nZVZlcnRpY2FsQWxpZ25tZW50cyA9IFtdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IF9zaGVldE5hbWUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLnNoZWV0TmFtZTtcclxuICB9XHJcbiAgc2V0IF9zaGVldE5hbWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zaGVldE5hbWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgWExUYWJsZUNvbHVtbkZvb3RlciB7XHJcbiAgdGl0bGUgPSAnJztcclxuICBmb250ID0gbmV3IFhMRm9udCgpO1xyXG4gIGludGVyaW9yID0gbmV3IFhMSW50ZXJpb3IoKTtcclxuICBib3JkZXIgPSBuZXcgWExCb3JkZXIoKTtcclxuICBiYXNpbGFjYWsgPSBmYWxzZTtcclxuICBzYXRpclNheWlzaSA9IDE7XHJcbiAgaXNGdW5jdGlvbiA9IGZhbHNlO1xyXG4gIGhvcml6b250YWxBbGlnbm1lbnQgPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQgPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgZnVuY3Rpb24gPSBYTEZ1bmNzLk5vbmU7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBYTFRhYmxlQ29sdW1uIHtcclxuICBwcm9wZXJ0eSA9ICcnO1xyXG4gIGFycmF5VHlwZTogVmFyaWFibGVUeXBlID0gMDtcclxuICBjb2x1bW5ObyA9IDA7XHJcbiAgaGVhZGVyID0gbmV3IFhMVGFibGVDb2x1bW5IZWFkZXIoKTtcclxuICBmb290ZXIgPSBuZXcgWExUYWJsZUNvbHVtbkZvb3RlcigpO1xyXG4gIGhvcml6b250YWxBbGlnbm1lbnQgPSBYTEhBbGlnbi54bEhBbGlnbk5vbmU7XHJcbiAgdmVydGljYWxBbGlnbm1lbnQgPSBYbFZBbGlnbi54bFZBbGlnbk5vbmU7XHJcbiAgZm9ybWF0OiBOdW1iZXJGb3JtYXRsYXIgPSAwO1xyXG4gIHdpZHRoID0gMDtcclxuXHJcbiAgc2V0Rm9vdGVyRnVuY3Rpb24oZm9vdGVyRnVuY3Rpb246IFhMRnVuY3MpIHtcclxuICAgIHRoaXMuZm9vdGVyLmJhc2lsYWNhayA9IHRydWU7XHJcbiAgICB0aGlzLmZvb3Rlci5mdW5jdGlvbiA9IGZvb3RlckZ1bmN0aW9uO1xyXG4gICAgdGhpcy5mb290ZXIuaXNGdW5jdGlvbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzZXRGb290ZXIodGl0bGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5mb290ZXIuYmFzaWxhY2FrID0gdHJ1ZTtcclxuICAgIHRoaXMuZm9vdGVyLnRpdGxlID0gdGl0bGU7XHJcbiAgICB0aGlzLmZvb3Rlci5pc0Z1bmN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgUm93Rm9udENvbG9yIHtcclxuICBjb2xvcjogWExSZW5rO1xyXG4gIHJvd05vOiBudW1iZXI7XHJcbiAgY29uc3RydWN0b3IoY29sb3I6IFhMUmVuaywgcm93Tm86IG51bWJlcikge1xyXG4gICAgdGhpcy5jb2xvciA9IGNvbG9yO1xyXG4gICAgdGhpcy5yb3dObyA9IHJvd05vO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFJvd0ludGVyaW9yQ29sb3Ige1xyXG4gIGNvbG9yOiBYTFJlbms7XHJcbiAgcm93Tm86IG51bWJlcjtcclxuICBjb25zdHJ1Y3Rvcihjb2xvcjogWExSZW5rLCByb3dObzogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmNvbG9yID0gY29sb3I7XHJcbiAgICB0aGlzLnJvd05vID0gcm93Tm87XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -2008,7 +2008,7 @@ class XLLogo {
2008
2008
  }
2009
2009
  class XLFont {
2010
2010
  constructor(fontName, fontSize) {
2011
- this.name = 'Segoe UI';
2011
+ this.name = 'Calibri';
2012
2012
  this.size = 11;
2013
2013
  this.color = XLRenk.Black;
2014
2014
  this.style = FontStyle.Plain;