@magic-xpa/engine 4.1101.0-dev4111.331 → 4.1101.0-dev4111.332

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,2 @@
1
- export let CurrentClientVersion = '4.1101.0-dev4111.331';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VycmVudENsaWVudFZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL0N1cnJlbnRDbGllbnRWZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFJLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGxldCBDdXJyZW50Q2xpZW50VmVyc2lvbiA9ICc0LjExMDEuMC1kZXY0MTExLjMzMSc7Il19
1
+ export let CurrentClientVersion = '4.1101.0-dev4111.332';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VycmVudENsaWVudFZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL0N1cnJlbnRDbGllbnRWZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFJLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGxldCBDdXJyZW50Q2xpZW50VmVyc2lvbiA9ICc0LjExMDEuMC1kZXY0MTExLjMzMic7Il19
@@ -22,7 +22,7 @@ export class MirrorString {
22
22
  mirrorToXML() {
23
23
  return ConstInterface.MG_ATTR_ENV_VALUE + "=\"" + XmlParser.escape(this._value) + "\"";
24
24
  }
25
- init(name, xmlParser) {
25
+ init(name, xmlParser, unescapeFlag) {
26
26
  let valueStart, valueEnd, reserveStart, paramEnd;
27
27
  let xmlData = xmlParser.getXMLdata();
28
28
  let valueAttr = ConstInterface.MG_ATTR_ENV_VALUE + "=\"";
@@ -35,6 +35,8 @@ export class MirrorString {
35
35
  ? xmlData.indexOf(ConstInterface.MG_ATTR_ENV_RESERVED + "=\"", valueStart) - 2
36
36
  : paramEnd - 1;
37
37
  this._value = xmlData.substr(valueStart, valueEnd - valueStart).trim();
38
+ if (unescapeFlag)
39
+ this._value = XmlParser.unescape(this._value);
38
40
  if (reserveStart !== -1) {
39
41
  reserveStart += ConstInterface.MG_ATTR_ENV_RESERVED.length + 2;
40
42
  this._reserved = (xmlData[reserveStart] === 'Y');
@@ -62,4 +64,4 @@ export class MirrorString {
62
64
  return this._reserved;
63
65
  }
64
66
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlycm9yU3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9lbnYvTWlycm9yU3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxNQUFNLE9BQU8sWUFBWTtJQUNmLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDM0IsTUFBTSxHQUFXLElBQUksQ0FBQztJQUk5QixZQUFZLENBQVU7UUFDcEIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBS08sYUFBYTtRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBS08sYUFBYSxDQUFDLENBQVM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUtELFdBQVc7UUFDVCxPQUFPLGNBQWMsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ3pGLENBQUM7SUFPTSxJQUFJLENBQUMsSUFBWSxFQUFFLFNBQW9CO1FBQzVDLElBQUksVUFBa0IsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQztRQUN6RCxJQUFJLE9BQU8sR0FBVyxTQUFTLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDN0MsSUFBSSxTQUFTLEdBQVcsY0FBYyxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztRQUVqRSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFHM0QsVUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUMsWUFBWSxFQUFFLEVBQUUsUUFBUSxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ2hILElBQUksVUFBVSxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ3JCLFVBQVUsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQy9CLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxFQUFFLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFDM0csUUFBUSxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBRXZDLFFBQVEsR0FBRyxZQUFZLEtBQUssQ0FBQyxDQUFDO2dCQUM1QixDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUM7Z0JBQzlFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBR2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3ZFLElBQUksWUFBWSxLQUFLLENBQUMsQ0FBQyxFQUFFO2dCQUN2QixZQUFZLElBQUksY0FBYyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQy9ELElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7YUFDbEQ7O2dCQUVDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBRXpCLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7WUFHakMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxrQ0FBa0MsQ0FBQztnQkFDcEUsT0FBTyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUM7O2dCQUUzQixPQUFPLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztTQUNuQzthQUNJLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxRQUFRLEdBQUcsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFHM0ksT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7U0FDaEM7YUFDSTtZQUNILEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDLENBQUM7WUFDdkMsT0FBTyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBTUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBTUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lNaXJyb3JYTUx9IGZyb20gXCIuLi91dGlsL0lNaXJyb3JYTUxcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7UGFyYW1QYXJzZVJlc3VsdH0gZnJvbSBcIi4uL3V0aWwvUGFyYW1QYXJzZVJlc3VsdFwiO1xyXG5pbXBvcnQge1htbFBhcnNlcn0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtEZWJ1ZywgTlN0cmluZ30gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgTWlycm9yU3RyaW5nIGltcGxlbWVudHMgSU1pcnJvclhNTCB7XHJcbiAgcHJpdmF0ZSBfcmVzZXJ2ZWQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8gSXMgdGhpcyB2YXJpYWJsZSByZXNlcnZlZCAtIGNhbiBub3QgYmUgY2hhbmdlZCBieSB0aGUgdXNlclxyXG4gIHByaXZhdGUgX3ZhbHVlOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpO1xyXG4gIGNvbnN0cnVjdG9yKHM6IHN0cmluZyk7XHJcbiAgY29uc3RydWN0b3Iocz86IHN0cmluZykge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3Rvcl8wKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuY29uc3RydWN0b3JfMShzKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBDVE9SXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yXzAoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9yZXNlcnZlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMShzOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gcztcclxuICAgIHRoaXMuX3Jlc2VydmVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgcmV0dXJucyB0aGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB2YXJpYWJsZSwgZm9yIHRoZSBYTUxcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIG1pcnJvclRvWE1MKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9FTlZfVkFMVUUgKyBcIj1cXFwiXCIgKyBYbWxQYXJzZXIuZXNjYXBlKHRoaXMuX3ZhbHVlKSArIFwiXFxcIlwiO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGluaXRpYWxpemUgdGhlIG9iamVjdCBmcm9tIHRoZSBYTUwgYXR0cmlidXRlcyBvZiBhIHNpbmdsZSBwYXJhbS4gVGhlIGV4cGVjdGVkXHJcbiAgLy8vICAgZm9ybWF0IGlzOiBcInZhbHVlPVwiLi4uXCIgcmVzZXJ2ZWQ9XCIuXCIvPlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ4bWxQYXJzZXJcIj48L3BhcmFtPlxyXG4gIHB1YmxpYyBpbml0KG5hbWU6IFN0cmluZywgeG1sUGFyc2VyOiBYbWxQYXJzZXIpOiBQYXJhbVBhcnNlUmVzdWx0IHtcclxuICAgIGxldCB2YWx1ZVN0YXJ0OiBudW1iZXIsIHZhbHVlRW5kLCByZXNlcnZlU3RhcnQsIHBhcmFtRW5kO1xyXG4gICAgbGV0IHhtbERhdGE6IHN0cmluZyA9IHhtbFBhcnNlci5nZXRYTUxkYXRhKCk7XHJcbiAgICBsZXQgdmFsdWVBdHRyOiBzdHJpbmcgPSBDb25zdEludGVyZmFjZS5NR19BVFRSX0VOVl9WQUxVRSArIFwiPVxcXCJcIjtcclxuXHJcbiAgICBwYXJhbUVuZCA9IHhtbERhdGEuaW5kZXhPZihcIi8+XCIsIHhtbFBhcnNlci5nZXRDdXJySW5kZXgoKSk7XHJcblxyXG4gICAgLy8gZ2V0IHRoZSBvZmZzZXRzIGludG8gdGhlIFhNTCBkYXRhOiBzdGFydCBvZiB2YWx1ZSwgZW5kIG9mIHZhbHVlLCBsb2NhdGlvbiBvZiByZXNlcnZlZCBjaGFyXHJcbiAgICB2YWx1ZVN0YXJ0ID0gTlN0cmluZy5JbmRleE9mKHhtbERhdGEsIHZhbHVlQXR0ciwgeG1sUGFyc2VyLmdldEN1cnJJbmRleCgpLCBwYXJhbUVuZCAtIHhtbFBhcnNlci5nZXRDdXJySW5kZXgoKSk7XHJcbiAgICBpZiAodmFsdWVTdGFydCAhPT0gLTEpIHtcclxuICAgICAgdmFsdWVTdGFydCArPSB2YWx1ZUF0dHIubGVuZ3RoO1xyXG4gICAgICByZXNlcnZlU3RhcnQgPSBOU3RyaW5nLkluZGV4T2YoeG1sRGF0YSwgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9FTlZfUkVTRVJWRUQgKyBcIj1cXFwiXCIsIHhtbFBhcnNlci5nZXRDdXJySW5kZXgoKSxcclxuICAgICAgICBwYXJhbUVuZCAtIHhtbFBhcnNlci5nZXRDdXJySW5kZXgoKSk7XHJcblxyXG4gICAgICB2YWx1ZUVuZCA9IHJlc2VydmVTdGFydCAhPT0gLTFcclxuICAgICAgICA/IHhtbERhdGEuaW5kZXhPZihDb25zdEludGVyZmFjZS5NR19BVFRSX0VOVl9SRVNFUlZFRCArIFwiPVxcXCJcIiwgdmFsdWVTdGFydCkgLSAyXHJcbiAgICAgICAgOiBwYXJhbUVuZCAtIDE7XHJcblxyXG4gICAgICAvLyBmaWxsIHRoZSBvYmplY3QncyBkYXRhXHJcbiAgICAgIHRoaXMuX3ZhbHVlID0geG1sRGF0YS5zdWJzdHIodmFsdWVTdGFydCwgdmFsdWVFbmQgLSB2YWx1ZVN0YXJ0KS50cmltKCk7XHJcbiAgICAgIGlmIChyZXNlcnZlU3RhcnQgIT09IC0xKSB7XHJcbiAgICAgICAgcmVzZXJ2ZVN0YXJ0ICs9IENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfRU5WX1JFU0VSVkVELmxlbmd0aCArIDI7IC8vIHNraXAgPSdcclxuICAgICAgICB0aGlzLl9yZXNlcnZlZCA9ICh4bWxEYXRhW3Jlc2VydmVTdGFydF0gPT09ICdZJyk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuX3Jlc2VydmVkID0gZmFsc2U7XHJcblxyXG4gICAgICB4bWxQYXJzZXIuc2V0Q3VyckluZGV4KHZhbHVlRW5kKTtcclxuXHJcbiAgICAgIC8vIExvZ2ljYWwgbmFtZXMgYXJlIGNhc2Ugc2Vuc2l0aXZlLiBvdGhlcnMgdmFyaWFibGVzIHNob3VsZCBiZSBjaGFuZ2VkIHRvIHVwcGVyIGNhc2VcclxuICAgICAgaWYgKG5hbWUuc3RhcnRzV2l0aChDb25zdEludGVyZmFjZS5JTklfU0VDVElPTl9MT0dJQ0FMX05BTUVTX0JSQUNLRVRTKSlcclxuICAgICAgICByZXR1cm4gUGFyYW1QYXJzZVJlc3VsdC5PSztcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHJldHVybiBQYXJhbVBhcnNlUmVzdWx0LlRPVVBQRVI7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmIChOU3RyaW5nLkluZGV4T2YoeG1sRGF0YSwgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9FTlZfUkVNT1ZFRCwgeG1sUGFyc2VyLmdldEN1cnJJbmRleCgpLCBwYXJhbUVuZCAtIHhtbFBhcnNlci5nZXRDdXJySW5kZXgoKSkgIT09IC0xKSB7XHJcblxyXG4gICAgICAvLyByZW1vdmUgdGhpcyB2YXJpYWJsZSBmcm9tIHRoZSB0YWJsZVxyXG4gICAgICByZXR1cm4gUGFyYW1QYXJzZVJlc3VsdC5ERUxFVEU7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgRGVidWcuQXNzZXJ0KGZhbHNlLCBcImJhZCBYTUwgcGFyc2luZ1wiKTtcclxuICAgICAgcmV0dXJuIFBhcmFtUGFyc2VSZXN1bHQuRkFJTEVEO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIHJldHVybiB0aGUgc3RyaW5nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIFRvU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgaXMgdGhlIHZhcmlhYmxlIHJlc2VydmVkP1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBpc1Jlc2VydmVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jlc2VydmVkO1xyXG4gIH1cclxufVxyXG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlycm9yU3RyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9lbnYvTWlycm9yU3RyaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxNQUFNLE9BQU8sWUFBWTtJQUNmLFNBQVMsR0FBWSxLQUFLLENBQUM7SUFDM0IsTUFBTSxHQUFXLElBQUksQ0FBQztJQUk5QixZQUFZLENBQVU7UUFDcEIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDckIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBS08sYUFBYTtRQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN6QixDQUFDO0lBS08sYUFBYSxDQUFDLENBQVM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUtELFdBQVc7UUFDVCxPQUFPLGNBQWMsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQ3pGLENBQUM7SUFPTSxJQUFJLENBQUMsSUFBWSxFQUFFLFNBQW9CLEVBQUUsWUFBb0I7UUFDbEUsSUFBSSxVQUFrQixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDO1FBQ3pELElBQUksT0FBTyxHQUFXLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM3QyxJQUFJLFNBQVMsR0FBVyxjQUFjLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1FBRWpFLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUczRCxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxRQUFRLEdBQUcsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDaEgsSUFBSSxVQUFVLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDckIsVUFBVSxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDL0IsWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLEVBQUUsU0FBUyxDQUFDLFlBQVksRUFBRSxFQUMzRyxRQUFRLEdBQUcsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7WUFFdkMsUUFBUSxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUM7Z0JBQzVCLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQztnQkFDOUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFHakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLEdBQUcsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFdkUsSUFBRyxZQUFZO2dCQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFaEQsSUFBSSxZQUFZLEtBQUssQ0FBQyxDQUFDLEVBQUU7Z0JBQ3ZCLFlBQVksSUFBSSxjQUFjLENBQUMsb0JBQW9CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDL0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQzthQUNsRDs7Z0JBRUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFFekIsU0FBUyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUdqQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLGtDQUFrQyxDQUFDO2dCQUNwRSxPQUFPLGdCQUFnQixDQUFDLEVBQUUsQ0FBQzs7Z0JBRTNCLE9BQU8sZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1NBQ25DO2FBQ0ksSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLFlBQVksRUFBRSxFQUFFLFFBQVEsR0FBRyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUczSSxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztTQUNoQzthQUNJO1lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztZQUN2QyxPQUFPLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztTQUNoQztJQUNILENBQUM7SUFNRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFNRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SU1pcnJvclhNTH0gZnJvbSBcIi4uL3V0aWwvSU1pcnJvclhNTFwiO1xyXG5pbXBvcnQge0NvbnN0SW50ZXJmYWNlfSBmcm9tIFwiLi4vQ29uc3RJbnRlcmZhY2VcIjtcclxuaW1wb3J0IHtQYXJhbVBhcnNlUmVzdWx0fSBmcm9tIFwiLi4vdXRpbC9QYXJhbVBhcnNlUmVzdWx0XCI7XHJcbmltcG9ydCB7WG1sUGFyc2VyfSBmcm9tIFwiQG1hZ2ljLXhwYS91dGlsc1wiO1xyXG5pbXBvcnQge0RlYnVnLCBOU3RyaW5nfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBNaXJyb3JTdHJpbmcgaW1wbGVtZW50cyBJTWlycm9yWE1MIHtcclxuICBwcml2YXRlIF9yZXNlcnZlZDogYm9vbGVhbiA9IGZhbHNlOyAvLyBJcyB0aGlzIHZhcmlhYmxlIHJlc2VydmVkIC0gY2FuIG5vdCBiZSBjaGFuZ2VkIGJ5IHRoZSB1c2VyXHJcbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCk7XHJcbiAgY29uc3RydWN0b3Ioczogc3RyaW5nKTtcclxuICBjb25zdHJ1Y3RvcihzPzogc3RyaW5nKSB7XHJcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmNvbnN0cnVjdG9yXzAoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jb25zdHJ1Y3Rvcl8xKHMpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIENUT1JcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHByaXZhdGUgY29uc3RydWN0b3JfMCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3Jlc2VydmVkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgQ1RPUlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcl8xKHM6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5fdmFsdWUgPSBzO1xyXG4gICAgdGhpcy5fcmVzZXJ2ZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICByZXR1cm5zIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHZhcmlhYmxlLCBmb3IgdGhlIFhNTFxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgbWlycm9yVG9YTUwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBDb25zdEludGVyZmFjZS5NR19BVFRSX0VOVl9WQUxVRSArIFwiPVxcXCJcIiArIFhtbFBhcnNlci5lc2NhcGUodGhpcy5fdmFsdWUpICsgXCJcXFwiXCI7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgaW5pdGlhbGl6ZSB0aGUgb2JqZWN0IGZyb20gdGhlIFhNTCBhdHRyaWJ1dGVzIG9mIGEgc2luZ2xlIHBhcmFtLiBUaGUgZXhwZWN0ZWRcclxuICAvLy8gICBmb3JtYXQgaXM6IFwidmFsdWU9XCIuLi5cIiByZXNlcnZlZD1cIi5cIi8+XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInhtbFBhcnNlclwiPjwvcGFyYW0+XHJcbiAgcHVibGljIGluaXQobmFtZTogU3RyaW5nLCB4bWxQYXJzZXI6IFhtbFBhcnNlciwgdW5lc2NhcGVGbGFnOmJvb2xlYW4pOiBQYXJhbVBhcnNlUmVzdWx0IHtcclxuICAgIGxldCB2YWx1ZVN0YXJ0OiBudW1iZXIsIHZhbHVlRW5kLCByZXNlcnZlU3RhcnQsIHBhcmFtRW5kO1xyXG4gICAgbGV0IHhtbERhdGE6IHN0cmluZyA9IHhtbFBhcnNlci5nZXRYTUxkYXRhKCk7XHJcbiAgICBsZXQgdmFsdWVBdHRyOiBzdHJpbmcgPSBDb25zdEludGVyZmFjZS5NR19BVFRSX0VOVl9WQUxVRSArIFwiPVxcXCJcIjtcclxuXHJcbiAgICBwYXJhbUVuZCA9IHhtbERhdGEuaW5kZXhPZihcIi8+XCIsIHhtbFBhcnNlci5nZXRDdXJySW5kZXgoKSk7XHJcblxyXG4gICAgLy8gZ2V0IHRoZSBvZmZzZXRzIGludG8gdGhlIFhNTCBkYXRhOiBzdGFydCBvZiB2YWx1ZSwgZW5kIG9mIHZhbHVlLCBsb2NhdGlvbiBvZiByZXNlcnZlZCBjaGFyXHJcbiAgICB2YWx1ZVN0YXJ0ID0gTlN0cmluZy5JbmRleE9mKHhtbERhdGEsIHZhbHVlQXR0ciwgeG1sUGFyc2VyLmdldEN1cnJJbmRleCgpLCBwYXJhbUVuZCAtIHhtbFBhcnNlci5nZXRDdXJySW5kZXgoKSk7XHJcbiAgICBpZiAodmFsdWVTdGFydCAhPT0gLTEpIHtcclxuICAgICAgdmFsdWVTdGFydCArPSB2YWx1ZUF0dHIubGVuZ3RoO1xyXG4gICAgICByZXNlcnZlU3RhcnQgPSBOU3RyaW5nLkluZGV4T2YoeG1sRGF0YSwgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9FTlZfUkVTRVJWRUQgKyBcIj1cXFwiXCIsIHhtbFBhcnNlci5nZXRDdXJySW5kZXgoKSxcclxuICAgICAgICBwYXJhbUVuZCAtIHhtbFBhcnNlci5nZXRDdXJySW5kZXgoKSk7XHJcblxyXG4gICAgICB2YWx1ZUVuZCA9IHJlc2VydmVTdGFydCAhPT0gLTFcclxuICAgICAgICA/IHhtbERhdGEuaW5kZXhPZihDb25zdEludGVyZmFjZS5NR19BVFRSX0VOVl9SRVNFUlZFRCArIFwiPVxcXCJcIiwgdmFsdWVTdGFydCkgLSAyXHJcbiAgICAgICAgOiBwYXJhbUVuZCAtIDE7XHJcblxyXG4gICAgICAvLyBmaWxsIHRoZSBvYmplY3QncyBkYXRhXHJcbiAgICAgIHRoaXMuX3ZhbHVlID0geG1sRGF0YS5zdWJzdHIodmFsdWVTdGFydCwgdmFsdWVFbmQgLSB2YWx1ZVN0YXJ0KS50cmltKCk7XHJcblxyXG4gICAgICBpZih1bmVzY2FwZUZsYWcpXHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBYbWxQYXJzZXIudW5lc2NhcGUodGhpcy5fdmFsdWUpO1xyXG5cclxuICAgICAgaWYgKHJlc2VydmVTdGFydCAhPT0gLTEpIHtcclxuICAgICAgICByZXNlcnZlU3RhcnQgKz0gQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9FTlZfUkVTRVJWRUQubGVuZ3RoICsgMjsgLy8gc2tpcCA9J1xyXG4gICAgICAgIHRoaXMuX3Jlc2VydmVkID0gKHhtbERhdGFbcmVzZXJ2ZVN0YXJ0XSA9PT0gJ1knKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5fcmVzZXJ2ZWQgPSBmYWxzZTtcclxuXHJcbiAgICAgIHhtbFBhcnNlci5zZXRDdXJySW5kZXgodmFsdWVFbmQpO1xyXG5cclxuICAgICAgLy8gTG9naWNhbCBuYW1lcyBhcmUgY2FzZSBzZW5zaXRpdmUuIG90aGVycyB2YXJpYWJsZXMgc2hvdWxkIGJlIGNoYW5nZWQgdG8gdXBwZXIgY2FzZVxyXG4gICAgICBpZiAobmFtZS5zdGFydHNXaXRoKENvbnN0SW50ZXJmYWNlLklOSV9TRUNUSU9OX0xPR0lDQUxfTkFNRVNfQlJBQ0tFVFMpKVxyXG4gICAgICAgIHJldHVybiBQYXJhbVBhcnNlUmVzdWx0Lk9LO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgcmV0dXJuIFBhcmFtUGFyc2VSZXN1bHQuVE9VUFBFUjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKE5TdHJpbmcuSW5kZXhPZih4bWxEYXRhLCBDb25zdEludGVyZmFjZS5NR19BVFRSX0VOVl9SRU1PVkVELCB4bWxQYXJzZXIuZ2V0Q3VyckluZGV4KCksIHBhcmFtRW5kIC0geG1sUGFyc2VyLmdldEN1cnJJbmRleCgpKSAhPT0gLTEpIHtcclxuXHJcbiAgICAgIC8vIHJlbW92ZSB0aGlzIHZhcmlhYmxlIGZyb20gdGhlIHRhYmxlXHJcbiAgICAgIHJldHVybiBQYXJhbVBhcnNlUmVzdWx0LkRFTEVURTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICBEZWJ1Zy5Bc3NlcnQoZmFsc2UsIFwiYmFkIFhNTCBwYXJzaW5nXCIpO1xyXG4gICAgICByZXR1cm4gUGFyYW1QYXJzZVJlc3VsdC5GQUlMRUQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgcmV0dXJuIHRoZSBzdHJpbmdcclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz48L3JldHVybnM+XHJcbiAgVG9TdHJpbmcoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBpcyB0aGUgdmFyaWFibGUgcmVzZXJ2ZWQ/XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIGlzUmVzZXJ2ZWQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVzZXJ2ZWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==