@vendasta/meetings 0.93.1 → 0.93.5

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.
@@ -365,6 +365,9 @@ export class Preferences {
365
365
  if (proto.noticeTime) {
366
366
  m.noticeTime = parseInt(proto.noticeTime, 10);
367
367
  }
368
+ if (proto.bufferDurationBeforeMeeting) {
369
+ m.bufferDurationBeforeMeeting = parseInt(proto.bufferDurationBeforeMeeting, 10);
370
+ }
368
371
  return m;
369
372
  }
370
373
  constructor(kwargs) {
@@ -393,6 +396,9 @@ export class Preferences {
393
396
  if (typeof this.calendarSlug !== 'undefined') {
394
397
  toReturn['calendarSlug'] = this.calendarSlug;
395
398
  }
399
+ if (typeof this.bufferDurationBeforeMeeting !== 'undefined') {
400
+ toReturn['bufferDurationBeforeMeeting'] = this.bufferDurationBeforeMeeting;
401
+ }
396
402
  return toReturn;
397
403
  }
398
404
  }
@@ -425,4 +431,4 @@ export class TimeRange {
425
431
  return toReturn;
426
432
  }
427
433
  }
428
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvX2ludGVybmFsL29iamVjdHMvc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTlCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFZLEVBQUUsS0FBYTtJQUM5RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sT0FBTyxNQUFNO0lBTWYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDckIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtZQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQWtCLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQUM7UUFDM0YsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUEwQjtRQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxXQUFXLEVBQUU7WUFBQyxR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LENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLElBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUFDO1FBQ3ZKLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLEVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUFDO1FBQzNJLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRpbWVab25lLCBUaW1lT2ZEYXkgfSBmcm9tICcuLyc7XG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1TdHJpbmdUb1ZhbHVlPEU+KGVudW1SZWY6IGFueSwgdmFsdWU6IHN0cmluZyk6IEUge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZW51bVJlZlt2YWx1ZV07XG59XG5cbmV4cG9ydCBjbGFzcyBBbnN3ZXIgaW1wbGVtZW50cyBpLkFuc3dlckludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHR5cGU6IGUuRm9ybUZpZWxkVHlwZTtcbiAgICBhbnN3ZXI6IHN0cmluZ1tdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQW5zd2VyIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQW5zd2VyKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnR5cGUpIHttLnR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLkZvcm1GaWVsZFR5cGU+KGUuRm9ybUZpZWxkVHlwZSwgcHJvdG8udHlwZSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkFuc3dlckludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5sYWJlbCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbGFiZWwnXSA9IHRoaXMubGFiZWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndHlwZSddID0gdGhpcy50eXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFuc3dlciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYW5zd2VyJ10gPSB0aGlzLmFuc3dlcjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBbnN3ZXJzIGltcGxlbWVudHMgaS5BbnN3ZXJzSW50ZXJmYWNlIHtcbiAgICBmb3JtQW5zd2VyczogQW5zd2VyW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBbnN3ZXJzIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQW5zd2VycygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5mb3JtQW5zd2Vycykge20uZm9ybUFuc3dlcnMgPSBwcm90by5mb3JtQW5zd2Vycy5tYXAoQW5zd2VyLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkFuc3dlcnNJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5mb3JtQW5zd2VycyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5mb3JtQW5zd2VycyAhPT0gbnVsbCkge3RvUmV0dXJuWydmb3JtQW5zd2VycyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5mb3JtQW5zd2VycyA/ICh0aGlzLmZvcm1BbnN3ZXJzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZvcm1BbnN3ZXJzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQXBwbGljYXRpb25Db250ZXh0RW50cnkgaW1wbGVtZW50cyBpLkNhbGVuZGFyQXBwbGljYXRpb25Db250ZXh0RW50cnlJbnRlcmZhY2Uge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDYWxlbmRhckFwcGxpY2F0aW9uQ29udGV4dEVudHJ5IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ2FsZW5kYXJBcHBsaWNhdGlvbkNvbnRleHRFbnRyeSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ2FsZW5kYXJBcHBsaWNhdGlvbkNvbnRleHRFbnRyeUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmtleSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsna2V5J10gPSB0aGlzLmtleTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndmFsdWUnXSA9IHRoaXMudmFsdWU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudCBpbXBsZW1lbnRzIGkuQXR0YWNobWVudEludGVyZmFjZSB7XG4gICAgZmlsZVRpdGxlOiBzdHJpbmc7XG4gICAgZmlsZVVybDogc3RyaW5nO1xuICAgIGZpbGVUeXBlOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBdHRhY2htZW50IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQXR0YWNobWVudCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXR0YWNobWVudEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpbGVUaXRsZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmlsZVRpdGxlJ10gPSB0aGlzLmZpbGVUaXRsZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maWxlVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmaWxlVXJsJ10gPSB0aGlzLmZpbGVVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmlsZVR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ZpbGVUeXBlJ10gPSB0aGlzLmZpbGVUeXBlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEF0dGVuZGVlIGltcGxlbWVudHMgaS5BdHRlbmRlZUludGVyZmFjZSB7XG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XG4gICAgbGFzdE5hbWU6IHN0cmluZztcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHBob25lTnVtYmVyOiBzdHJpbmc7XG4gICAgdGltZVpvbmU6IHN0cmluZztcbiAgICBpc1ByaW1hcnk6IGJvb2xlYW47XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBdHRlbmRlZSB7XG4gICAgICAgIGxldCBtID0gbmV3IEF0dGVuZGVlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BdHRlbmRlZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpcnN0TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmlyc3ROYW1lJ10gPSB0aGlzLmZpcnN0TmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5sYXN0TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbGFzdE5hbWUnXSA9IHRoaXMubGFzdE5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZW1haWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VtYWlsJ10gPSB0aGlzLmVtYWlsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBob25lTnVtYmVyICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwaG9uZU51bWJlciddID0gdGhpcy5waG9uZU51bWJlcjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50aW1lWm9uZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndGltZVpvbmUnXSA9IHRoaXMudGltZVpvbmU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaXNQcmltYXJ5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpc1ByaW1hcnknXSA9IHRoaXMuaXNQcmltYXJ5O31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbGVuZGFyIGltcGxlbWVudHMgaS5DYWxlbmRhckludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIGRpc3BsYXlQcm9maWxlVXJsOiBzdHJpbmc7XG4gICAgZGlzcGxheUxvZ29Vcmw6IHN0cmluZztcbiAgICBib29raW5nVXJsOiBzdHJpbmc7XG4gICAgc2x1Zzogc3RyaW5nO1xuICAgIGV4dGVybmFsSWQ6IHN0cmluZztcbiAgICBjcmVhdG9yVXNlcklkOiBzdHJpbmc7XG4gICAgaG9zdFVzZXJJZHM6IHN0cmluZ1tdO1xuICAgIGFwcGxpY2F0aW9uQ29udGV4dDoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG4gICAgY2FsZW5kYXJUeXBlOiBlLkNhbGVuZGFyVHlwZTtcbiAgICBlbmNvZGVkQXBwbGljYXRpb25Db250ZXh0OiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDYWxlbmRhciB7XG4gICAgICAgIGxldCBtID0gbmV3IENhbGVuZGFyKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmFwcGxpY2F0aW9uQ29udGV4dCkge20uYXBwbGljYXRpb25Db250ZXh0ID0gT2JqZWN0LmtleXMocHJvdG8uYXBwbGljYXRpb25Db250ZXh0KS5yZWR1Y2U8YW55Pigob2JqLCBrKSA9PiB7IG9ialtrXSA9IHByb3RvLmFwcGxpY2F0aW9uQ29udGV4dFtrXTsgcmV0dXJuIG9iajsgfSwge30pO31cbiAgICAgICAgaWYgKHByb3RvLmNhbGVuZGFyVHlwZSkge20uY2FsZW5kYXJUeXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5DYWxlbmRhclR5cGU+KGUuQ2FsZW5kYXJUeXBlLCBwcm90by5jYWxlbmRhclR5cGUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DYWxlbmRhckludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kaXNwbGF5TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGlzcGxheU5hbWUnXSA9IHRoaXMuZGlzcGxheU5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGlzcGxheVByb2ZpbGVVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rpc3BsYXlQcm9maWxlVXJsJ10gPSB0aGlzLmRpc3BsYXlQcm9maWxlVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRpc3BsYXlMb2dvVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkaXNwbGF5TG9nb1VybCddID0gdGhpcy5kaXNwbGF5TG9nb1VybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5ib29raW5nVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydib29raW5nVXJsJ10gPSB0aGlzLmJvb2tpbmdVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2x1ZyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc2x1ZyddID0gdGhpcy5zbHVnO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmV4dGVybmFsSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2V4dGVybmFsSWQnXSA9IHRoaXMuZXh0ZXJuYWxJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVhdG9yVXNlcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjcmVhdG9yVXNlcklkJ10gPSB0aGlzLmNyZWF0b3JVc2VySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaG9zdFVzZXJJZHMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2hvc3RVc2VySWRzJ10gPSB0aGlzLmhvc3RVc2VySWRzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFwcGxpY2F0aW9uQ29udGV4dCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5hcHBsaWNhdGlvbkNvbnRleHQgIT09IG51bGwpIHt0b1JldHVyblsnYXBwbGljYXRpb25Db250ZXh0J10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmFwcGxpY2F0aW9uQ29udGV4dCA/ICh0aGlzLmFwcGxpY2F0aW9uQ29udGV4dCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hcHBsaWNhdGlvbkNvbnRleHQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2FsZW5kYXJUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjYWxlbmRhclR5cGUnXSA9IHRoaXMuY2FsZW5kYXJUeXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVuY29kZWRBcHBsaWNhdGlvbkNvbnRleHQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VuY29kZWRBcHBsaWNhdGlvbkNvbnRleHQnXSA9IHRoaXMuZW5jb2RlZEFwcGxpY2F0aW9uQ29udGV4dDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb250YWN0IGltcGxlbWVudHMgaS5Db250YWN0SW50ZXJmYWNlIHtcbiAgICBmaXJzdE5hbWU6IHN0cmluZztcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xuICAgIHBob25lTnVtYmVyOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICB0aW1lWm9uZTogIFRpbWVab25lO1xuICAgIGlzUHJpbWFyeTogYm9vbGVhbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENvbnRhY3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBDb250YWN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnRpbWVab25lKSB7bS50aW1lWm9uZSA9ICBUaW1lWm9uZS5mcm9tUHJvdG8ocHJvdG8udGltZVpvbmUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db250YWN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmlyc3ROYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmaXJzdE5hbWUnXSA9IHRoaXMuZmlyc3ROYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmxhc3ROYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydsYXN0TmFtZSddID0gdGhpcy5sYXN0TmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5waG9uZU51bWJlciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGhvbmVOdW1iZXInXSA9IHRoaXMucGhvbmVOdW1iZXI7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZW1haWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VtYWlsJ10gPSB0aGlzLmVtYWlsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpbWVab25lICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRpbWVab25lICE9PSBudWxsKSB7dG9SZXR1cm5bJ3RpbWVab25lJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRpbWVab25lID8gKHRoaXMudGltZVpvbmUgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudGltZVpvbmU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaXNQcmltYXJ5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpc1ByaW1hcnknXSA9IHRoaXMuaXNQcmltYXJ5O31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEhvc3QgaW1wbGVtZW50cyBpLkhvc3RJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBkaXNwbGF5UHJvZmlsZVVybDogc3RyaW5nO1xuICAgIGRpc3BsYXlMb2dvVXJsOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBIb3N0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgSG9zdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuSG9zdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kaXNwbGF5TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGlzcGxheU5hbWUnXSA9IHRoaXMuZGlzcGxheU5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGlzcGxheVByb2ZpbGVVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rpc3BsYXlQcm9maWxlVXJsJ10gPSB0aGlzLmRpc3BsYXlQcm9maWxlVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRpc3BsYXlMb2dvVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkaXNwbGF5TG9nb1VybCddID0gdGhpcy5kaXNwbGF5TG9nb1VybDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBIb3N0VXNlciBpbXBsZW1lbnRzIGkuSG9zdFVzZXJJbnRlcmZhY2Uge1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgaXNDb25maWd1cmVkOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogSG9zdFVzZXIge1xuICAgICAgICBsZXQgbSA9IG5ldyBIb3N0VXNlcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuSG9zdFVzZXJJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZXJJZCddID0gdGhpcy51c2VySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGlzcGxheU5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rpc3BsYXlOYW1lJ10gPSB0aGlzLmRpc3BsYXlOYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlzQ29uZmlndXJlZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaXNDb25maWd1cmVkJ10gPSB0aGlzLmlzQ29uZmlndXJlZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQYWdlZFJlcXVlc3RPcHRpb25zIGltcGxlbWVudHMgaS5QYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlIHtcbiAgICBjdXJzb3I6IHN0cmluZztcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUGFnZWRSZXF1ZXN0T3B0aW9ucyB7XG4gICAgICAgIGxldCBtID0gbmV3IFBhZ2VkUmVxdWVzdE9wdGlvbnMoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ucGFnZVNpemUpIHttLnBhZ2VTaXplID0gcGFyc2VJbnQocHJvdG8ucGFnZVNpemUsIDEwKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmN1cnNvciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3Vyc29yJ10gPSB0aGlzLmN1cnNvcjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYWdlU2l6ZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFnZVNpemUnXSA9IHRoaXMucGFnZVNpemU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGFnZWRSZXNwb25zZU1ldGFkYXRhIGltcGxlbWVudHMgaS5QYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2Uge1xuICAgIG5leHRDdXJzb3I6IHN0cmluZztcbiAgICBoYXNNb3JlOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUGFnZWRSZXNwb25zZU1ldGFkYXRhIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUGFnZWRSZXNwb25zZU1ldGFkYXRhKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5QYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uZXh0Q3Vyc29yICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduZXh0Q3Vyc29yJ10gPSB0aGlzLm5leHRDdXJzb3I7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaGFzTW9yZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaGFzTW9yZSddID0gdGhpcy5oYXNNb3JlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByZWZlcmVuY2VzIGltcGxlbWVudHMgaS5QcmVmZXJlbmNlc0ludGVyZmFjZSB7XG4gICAgdGltZXpvbmU6ICBUaW1lWm9uZTtcbiAgICBtZWV0aW5nSW50ZWdyYXRpb246IGUuTWVldGluZ1NvdXJjZTtcbiAgICBhdmFpbGFiaWxpdHlJbmNyZW1lbnQ6IG51bWJlcjtcbiAgICBidWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZzogbnVtYmVyO1xuICAgIG5vdGljZVRpbWU6IG51bWJlcjtcbiAgICBjYWxlbmRhclNsdWc6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFByZWZlcmVuY2VzIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUHJlZmVyZW5jZXMoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udGltZXpvbmUpIHttLnRpbWV6b25lID0gIFRpbWVab25lLmZyb21Qcm90byhwcm90by50aW1lem9uZSk7fVxuICAgICAgICBpZiAocHJvdG8ubWVldGluZ0ludGVncmF0aW9uKSB7bS5tZWV0aW5nSW50ZWdyYXRpb24gPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLk1lZXRpbmdTb3VyY2U+KGUuTWVldGluZ1NvdXJjZSwgcHJvdG8ubWVldGluZ0ludGVncmF0aW9uKTt9XG4gICAgICAgIGlmIChwcm90by5hdmFpbGFiaWxpdHlJbmNyZW1lbnQpIHttLmF2YWlsYWJpbGl0eUluY3JlbWVudCA9IHBhcnNlSW50KHByb3RvLmF2YWlsYWJpbGl0eUluY3JlbWVudCwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLmJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nKSB7bS5idWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZyA9IHBhcnNlSW50KHByb3RvLmJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nLCAxMCk7fVxuICAgICAgICBpZiAocHJvdG8ubm90aWNlVGltZSkge20ubm90aWNlVGltZSA9IHBhcnNlSW50KHByb3RvLm5vdGljZVRpbWUsIDEwKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUHJlZmVyZW5jZXNJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50aW1lem9uZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50aW1lem9uZSAhPT0gbnVsbCkge3RvUmV0dXJuWyd0aW1lem9uZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50aW1lem9uZSA/ICh0aGlzLnRpbWV6b25lIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRpbWV6b25lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lZXRpbmdJbnRlZ3JhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVldGluZ0ludGVncmF0aW9uJ10gPSB0aGlzLm1lZXRpbmdJbnRlZ3JhdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdmFpbGFiaWxpdHlJbmNyZW1lbnQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F2YWlsYWJpbGl0eUluY3JlbWVudCddID0gdGhpcy5hdmFpbGFiaWxpdHlJbmNyZW1lbnQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYnVmZmVyRHVyYXRpb25BZnRlck1lZXRpbmcgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2J1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nJ10gPSB0aGlzLmJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5vdGljZVRpbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25vdGljZVRpbWUnXSA9IHRoaXMubm90aWNlVGltZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jYWxlbmRhclNsdWcgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NhbGVuZGFyU2x1ZyddID0gdGhpcy5jYWxlbmRhclNsdWc7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGltZVJhbmdlIGltcGxlbWVudHMgaS5UaW1lUmFuZ2VJbnRlcmZhY2Uge1xuICAgIGZyb206ICBUaW1lT2ZEYXk7XG4gICAgdG86ICBUaW1lT2ZEYXk7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBUaW1lUmFuZ2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBUaW1lUmFuZ2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZnJvbSkge20uZnJvbSA9ICBUaW1lT2ZEYXkuZnJvbVByb3RvKHByb3RvLmZyb20pO31cbiAgICAgICAgaWYgKHByb3RvLnRvKSB7bS50byA9ICBUaW1lT2ZEYXkuZnJvbVByb3RvKHByb3RvLnRvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVGltZVJhbmdlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZnJvbSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5mcm9tICE9PSBudWxsKSB7dG9SZXR1cm5bJ2Zyb20nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZnJvbSA/ICh0aGlzLmZyb20gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZnJvbTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50byAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50byAhPT0gbnVsbCkge3RvUmV0dXJuWyd0byddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50byA/ICh0aGlzLnRvIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRvO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
434
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvX2ludGVybmFsL29iamVjdHMvc2hhcmVkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3pDLE9BQU8sS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTlCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFZLEVBQUUsS0FBYTtJQUM5RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDeEIsQ0FBQztBQUVELE1BQU0sT0FBTyxNQUFNO0lBTWYsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7UUFDckIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtZQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQWtCLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQUM7UUFDM0YsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUEwQjtRQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUUsS0FBSyxXQUFXLEVBQUU7WUFBQyxR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QztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQTZCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxPQUFPO1NBQ1Y7UUFDRCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLElBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUFDO1FBQ3ZKLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRTtZQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLEVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUFDO1FBQzNJLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IFRpbWVab25lLCBUaW1lT2ZEYXkgfSBmcm9tICcuLyc7XG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1TdHJpbmdUb1ZhbHVlPEU+KGVudW1SZWY6IGFueSwgdmFsdWU6IHN0cmluZyk6IEUge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZW51bVJlZlt2YWx1ZV07XG59XG5cbmV4cG9ydCBjbGFzcyBBbnN3ZXIgaW1wbGVtZW50cyBpLkFuc3dlckludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIHR5cGU6IGUuRm9ybUZpZWxkVHlwZTtcbiAgICBhbnN3ZXI6IHN0cmluZ1tdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQW5zd2VyIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQW5zd2VyKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnR5cGUpIHttLnR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLkZvcm1GaWVsZFR5cGU+KGUuRm9ybUZpZWxkVHlwZSwgcHJvdG8udHlwZSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkFuc3dlckludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5sYWJlbCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbGFiZWwnXSA9IHRoaXMubGFiZWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndHlwZSddID0gdGhpcy50eXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFuc3dlciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYW5zd2VyJ10gPSB0aGlzLmFuc3dlcjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBbnN3ZXJzIGltcGxlbWVudHMgaS5BbnN3ZXJzSW50ZXJmYWNlIHtcbiAgICBmb3JtQW5zd2VyczogQW5zd2VyW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBbnN3ZXJzIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQW5zd2VycygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5mb3JtQW5zd2Vycykge20uZm9ybUFuc3dlcnMgPSBwcm90by5mb3JtQW5zd2Vycy5tYXAoQW5zd2VyLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkFuc3dlcnNJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5mb3JtQW5zd2VycyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5mb3JtQW5zd2VycyAhPT0gbnVsbCkge3RvUmV0dXJuWydmb3JtQW5zd2VycyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5mb3JtQW5zd2VycyA/ICh0aGlzLmZvcm1BbnN3ZXJzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmZvcm1BbnN3ZXJzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQXBwbGljYXRpb25Db250ZXh0RW50cnkgaW1wbGVtZW50cyBpLkNhbGVuZGFyQXBwbGljYXRpb25Db250ZXh0RW50cnlJbnRlcmZhY2Uge1xuICAgIGtleTogc3RyaW5nO1xuICAgIHZhbHVlOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDYWxlbmRhckFwcGxpY2F0aW9uQ29udGV4dEVudHJ5IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ2FsZW5kYXJBcHBsaWNhdGlvbkNvbnRleHRFbnRyeSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ2FsZW5kYXJBcHBsaWNhdGlvbkNvbnRleHRFbnRyeUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmtleSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsna2V5J10gPSB0aGlzLmtleTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndmFsdWUnXSA9IHRoaXMudmFsdWU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQXR0YWNobWVudCBpbXBsZW1lbnRzIGkuQXR0YWNobWVudEludGVyZmFjZSB7XG4gICAgZmlsZVRpdGxlOiBzdHJpbmc7XG4gICAgZmlsZVVybDogc3RyaW5nO1xuICAgIGZpbGVUeXBlOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBdHRhY2htZW50IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQXR0YWNobWVudCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQXR0YWNobWVudEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpbGVUaXRsZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmlsZVRpdGxlJ10gPSB0aGlzLmZpbGVUaXRsZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maWxlVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmaWxlVXJsJ10gPSB0aGlzLmZpbGVVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmlsZVR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ZpbGVUeXBlJ10gPSB0aGlzLmZpbGVUeXBlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEF0dGVuZGVlIGltcGxlbWVudHMgaS5BdHRlbmRlZUludGVyZmFjZSB7XG4gICAgZmlyc3ROYW1lOiBzdHJpbmc7XG4gICAgbGFzdE5hbWU6IHN0cmluZztcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHBob25lTnVtYmVyOiBzdHJpbmc7XG4gICAgdGltZVpvbmU6IHN0cmluZztcbiAgICBpc1ByaW1hcnk6IGJvb2xlYW47XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBBdHRlbmRlZSB7XG4gICAgICAgIGxldCBtID0gbmV3IEF0dGVuZGVlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BdHRlbmRlZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmZpcnN0TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmlyc3ROYW1lJ10gPSB0aGlzLmZpcnN0TmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5sYXN0TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbGFzdE5hbWUnXSA9IHRoaXMubGFzdE5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZW1haWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VtYWlsJ10gPSB0aGlzLmVtYWlsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBob25lTnVtYmVyICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwaG9uZU51bWJlciddID0gdGhpcy5waG9uZU51bWJlcjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50aW1lWm9uZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndGltZVpvbmUnXSA9IHRoaXMudGltZVpvbmU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaXNQcmltYXJ5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpc1ByaW1hcnknXSA9IHRoaXMuaXNQcmltYXJ5O31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbGVuZGFyIGltcGxlbWVudHMgaS5DYWxlbmRhckludGVyZmFjZSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIGRpc3BsYXlQcm9maWxlVXJsOiBzdHJpbmc7XG4gICAgZGlzcGxheUxvZ29Vcmw6IHN0cmluZztcbiAgICBib29raW5nVXJsOiBzdHJpbmc7XG4gICAgc2x1Zzogc3RyaW5nO1xuICAgIGV4dGVybmFsSWQ6IHN0cmluZztcbiAgICBjcmVhdG9yVXNlcklkOiBzdHJpbmc7XG4gICAgaG9zdFVzZXJJZHM6IHN0cmluZ1tdO1xuICAgIGFwcGxpY2F0aW9uQ29udGV4dDoge1trZXk6IHN0cmluZ106IHN0cmluZ307XG4gICAgY2FsZW5kYXJUeXBlOiBlLkNhbGVuZGFyVHlwZTtcbiAgICBlbmNvZGVkQXBwbGljYXRpb25Db250ZXh0OiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDYWxlbmRhciB7XG4gICAgICAgIGxldCBtID0gbmV3IENhbGVuZGFyKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmFwcGxpY2F0aW9uQ29udGV4dCkge20uYXBwbGljYXRpb25Db250ZXh0ID0gT2JqZWN0LmtleXMocHJvdG8uYXBwbGljYXRpb25Db250ZXh0KS5yZWR1Y2U8YW55Pigob2JqLCBrKSA9PiB7IG9ialtrXSA9IHByb3RvLmFwcGxpY2F0aW9uQ29udGV4dFtrXTsgcmV0dXJuIG9iajsgfSwge30pO31cbiAgICAgICAgaWYgKHByb3RvLmNhbGVuZGFyVHlwZSkge20uY2FsZW5kYXJUeXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5DYWxlbmRhclR5cGU+KGUuQ2FsZW5kYXJUeXBlLCBwcm90by5jYWxlbmRhclR5cGUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DYWxlbmRhckludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kaXNwbGF5TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGlzcGxheU5hbWUnXSA9IHRoaXMuZGlzcGxheU5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGlzcGxheVByb2ZpbGVVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rpc3BsYXlQcm9maWxlVXJsJ10gPSB0aGlzLmRpc3BsYXlQcm9maWxlVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRpc3BsYXlMb2dvVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkaXNwbGF5TG9nb1VybCddID0gdGhpcy5kaXNwbGF5TG9nb1VybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5ib29raW5nVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydib29raW5nVXJsJ10gPSB0aGlzLmJvb2tpbmdVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2x1ZyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc2x1ZyddID0gdGhpcy5zbHVnO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmV4dGVybmFsSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2V4dGVybmFsSWQnXSA9IHRoaXMuZXh0ZXJuYWxJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVhdG9yVXNlcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjcmVhdG9yVXNlcklkJ10gPSB0aGlzLmNyZWF0b3JVc2VySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaG9zdFVzZXJJZHMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2hvc3RVc2VySWRzJ10gPSB0aGlzLmhvc3RVc2VySWRzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFwcGxpY2F0aW9uQ29udGV4dCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5hcHBsaWNhdGlvbkNvbnRleHQgIT09IG51bGwpIHt0b1JldHVyblsnYXBwbGljYXRpb25Db250ZXh0J10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmFwcGxpY2F0aW9uQ29udGV4dCA/ICh0aGlzLmFwcGxpY2F0aW9uQ29udGV4dCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5hcHBsaWNhdGlvbkNvbnRleHQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2FsZW5kYXJUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjYWxlbmRhclR5cGUnXSA9IHRoaXMuY2FsZW5kYXJUeXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVuY29kZWRBcHBsaWNhdGlvbkNvbnRleHQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VuY29kZWRBcHBsaWNhdGlvbkNvbnRleHQnXSA9IHRoaXMuZW5jb2RlZEFwcGxpY2F0aW9uQ29udGV4dDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb250YWN0IGltcGxlbWVudHMgaS5Db250YWN0SW50ZXJmYWNlIHtcbiAgICBmaXJzdE5hbWU6IHN0cmluZztcbiAgICBsYXN0TmFtZTogc3RyaW5nO1xuICAgIHBob25lTnVtYmVyOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICB0aW1lWm9uZTogIFRpbWVab25lO1xuICAgIGlzUHJpbWFyeTogYm9vbGVhbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENvbnRhY3Qge1xuICAgICAgICBsZXQgbSA9IG5ldyBDb250YWN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnRpbWVab25lKSB7bS50aW1lWm9uZSA9ICBUaW1lWm9uZS5mcm9tUHJvdG8ocHJvdG8udGltZVpvbmUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Db250YWN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmlyc3ROYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydmaXJzdE5hbWUnXSA9IHRoaXMuZmlyc3ROYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmxhc3ROYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydsYXN0TmFtZSddID0gdGhpcy5sYXN0TmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5waG9uZU51bWJlciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGhvbmVOdW1iZXInXSA9IHRoaXMucGhvbmVOdW1iZXI7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZW1haWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VtYWlsJ10gPSB0aGlzLmVtYWlsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpbWVab25lICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRpbWVab25lICE9PSBudWxsKSB7dG9SZXR1cm5bJ3RpbWVab25lJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRpbWVab25lID8gKHRoaXMudGltZVpvbmUgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudGltZVpvbmU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaXNQcmltYXJ5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpc1ByaW1hcnknXSA9IHRoaXMuaXNQcmltYXJ5O31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEhvc3QgaW1wbGVtZW50cyBpLkhvc3RJbnRlcmZhY2Uge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBkaXNwbGF5UHJvZmlsZVVybDogc3RyaW5nO1xuICAgIGRpc3BsYXlMb2dvVXJsOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBIb3N0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgSG9zdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuSG9zdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kaXNwbGF5TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGlzcGxheU5hbWUnXSA9IHRoaXMuZGlzcGxheU5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGlzcGxheVByb2ZpbGVVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rpc3BsYXlQcm9maWxlVXJsJ10gPSB0aGlzLmRpc3BsYXlQcm9maWxlVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRpc3BsYXlMb2dvVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkaXNwbGF5TG9nb1VybCddID0gdGhpcy5kaXNwbGF5TG9nb1VybDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBIb3N0VXNlciBpbXBsZW1lbnRzIGkuSG9zdFVzZXJJbnRlcmZhY2Uge1xuICAgIHVzZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG4gICAgaXNDb25maWd1cmVkOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogSG9zdFVzZXIge1xuICAgICAgICBsZXQgbSA9IG5ldyBIb3N0VXNlcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuSG9zdFVzZXJJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VySWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZXJJZCddID0gdGhpcy51c2VySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGlzcGxheU5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Rpc3BsYXlOYW1lJ10gPSB0aGlzLmRpc3BsYXlOYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlzQ29uZmlndXJlZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaXNDb25maWd1cmVkJ10gPSB0aGlzLmlzQ29uZmlndXJlZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQYWdlZFJlcXVlc3RPcHRpb25zIGltcGxlbWVudHMgaS5QYWdlZFJlcXVlc3RPcHRpb25zSW50ZXJmYWNlIHtcbiAgICBjdXJzb3I6IHN0cmluZztcbiAgICBwYWdlU2l6ZTogbnVtYmVyO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUGFnZWRSZXF1ZXN0T3B0aW9ucyB7XG4gICAgICAgIGxldCBtID0gbmV3IFBhZ2VkUmVxdWVzdE9wdGlvbnMoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ucGFnZVNpemUpIHttLnBhZ2VTaXplID0gcGFyc2VJbnQocHJvdG8ucGFnZVNpemUsIDEwKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmN1cnNvciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3Vyc29yJ10gPSB0aGlzLmN1cnNvcjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYWdlU2l6ZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFnZVNpemUnXSA9IHRoaXMucGFnZVNpemU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGFnZWRSZXNwb25zZU1ldGFkYXRhIGltcGxlbWVudHMgaS5QYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2Uge1xuICAgIG5leHRDdXJzb3I6IHN0cmluZztcbiAgICBoYXNNb3JlOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUGFnZWRSZXNwb25zZU1ldGFkYXRhIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUGFnZWRSZXNwb25zZU1ldGFkYXRhKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5QYWdlZFJlc3BvbnNlTWV0YWRhdGFJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uZXh0Q3Vyc29yICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduZXh0Q3Vyc29yJ10gPSB0aGlzLm5leHRDdXJzb3I7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaGFzTW9yZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaGFzTW9yZSddID0gdGhpcy5oYXNNb3JlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByZWZlcmVuY2VzIGltcGxlbWVudHMgaS5QcmVmZXJlbmNlc0ludGVyZmFjZSB7XG4gICAgdGltZXpvbmU6ICBUaW1lWm9uZTtcbiAgICBtZWV0aW5nSW50ZWdyYXRpb246IGUuTWVldGluZ1NvdXJjZTtcbiAgICBhdmFpbGFiaWxpdHlJbmNyZW1lbnQ6IG51bWJlcjtcbiAgICBidWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZzogbnVtYmVyO1xuICAgIG5vdGljZVRpbWU6IG51bWJlcjtcbiAgICBjYWxlbmRhclNsdWc6IHN0cmluZztcbiAgICBidWZmZXJEdXJhdGlvbkJlZm9yZU1lZXRpbmc6IG51bWJlcjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFByZWZlcmVuY2VzIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUHJlZmVyZW5jZXMoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8udGltZXpvbmUpIHttLnRpbWV6b25lID0gIFRpbWVab25lLmZyb21Qcm90byhwcm90by50aW1lem9uZSk7fVxuICAgICAgICBpZiAocHJvdG8ubWVldGluZ0ludGVncmF0aW9uKSB7bS5tZWV0aW5nSW50ZWdyYXRpb24gPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLk1lZXRpbmdTb3VyY2U+KGUuTWVldGluZ1NvdXJjZSwgcHJvdG8ubWVldGluZ0ludGVncmF0aW9uKTt9XG4gICAgICAgIGlmIChwcm90by5hdmFpbGFiaWxpdHlJbmNyZW1lbnQpIHttLmF2YWlsYWJpbGl0eUluY3JlbWVudCA9IHBhcnNlSW50KHByb3RvLmF2YWlsYWJpbGl0eUluY3JlbWVudCwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLmJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nKSB7bS5idWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZyA9IHBhcnNlSW50KHByb3RvLmJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nLCAxMCk7fVxuICAgICAgICBpZiAocHJvdG8ubm90aWNlVGltZSkge20ubm90aWNlVGltZSA9IHBhcnNlSW50KHByb3RvLm5vdGljZVRpbWUsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by5idWZmZXJEdXJhdGlvbkJlZm9yZU1lZXRpbmcpIHttLmJ1ZmZlckR1cmF0aW9uQmVmb3JlTWVldGluZyA9IHBhcnNlSW50KHByb3RvLmJ1ZmZlckR1cmF0aW9uQmVmb3JlTWVldGluZywgMTApO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5QcmVmZXJlbmNlc0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpbWV6b25lICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnRpbWV6b25lICE9PSBudWxsKSB7dG9SZXR1cm5bJ3RpbWV6b25lJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRpbWV6b25lID8gKHRoaXMudGltZXpvbmUgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudGltZXpvbmU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVldGluZ0ludGVncmF0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtZWV0aW5nSW50ZWdyYXRpb24nXSA9IHRoaXMubWVldGluZ0ludGVncmF0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF2YWlsYWJpbGl0eUluY3JlbWVudCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYXZhaWxhYmlsaXR5SW5jcmVtZW50J10gPSB0aGlzLmF2YWlsYWJpbGl0eUluY3JlbWVudDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYnVmZmVyRHVyYXRpb25BZnRlck1lZXRpbmcnXSA9IHRoaXMuYnVmZmVyRHVyYXRpb25BZnRlck1lZXRpbmc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubm90aWNlVGltZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbm90aWNlVGltZSddID0gdGhpcy5ub3RpY2VUaW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNhbGVuZGFyU2x1ZyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY2FsZW5kYXJTbHVnJ10gPSB0aGlzLmNhbGVuZGFyU2x1Zzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idWZmZXJEdXJhdGlvbkJlZm9yZU1lZXRpbmcgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2J1ZmZlckR1cmF0aW9uQmVmb3JlTWVldGluZyddID0gdGhpcy5idWZmZXJEdXJhdGlvbkJlZm9yZU1lZXRpbmc7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgVGltZVJhbmdlIGltcGxlbWVudHMgaS5UaW1lUmFuZ2VJbnRlcmZhY2Uge1xuICAgIGZyb206ICBUaW1lT2ZEYXk7XG4gICAgdG86ICBUaW1lT2ZEYXk7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBUaW1lUmFuZ2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBUaW1lUmFuZ2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZnJvbSkge20uZnJvbSA9ICBUaW1lT2ZEYXkuZnJvbVByb3RvKHByb3RvLmZyb20pO31cbiAgICAgICAgaWYgKHByb3RvLnRvKSB7bS50byA9ICBUaW1lT2ZEYXkuZnJvbVByb3RvKHByb3RvLnRvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuVGltZVJhbmdlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZnJvbSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5mcm9tICE9PSBudWxsKSB7dG9SZXR1cm5bJ2Zyb20nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZnJvbSA/ICh0aGlzLmZyb20gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZnJvbTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50byAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50byAhPT0gbnVsbCkge3RvUmV0dXJuWyd0byddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50byA/ICh0aGlzLnRvIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRvO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
@@ -39,8 +39,9 @@ export function MeetingTypeFromApi(req) {
39
39
  form: form,
40
40
  hostUserIds: req.meetingTypeApi.hostUserIds || [],
41
41
  availabilityIncrement: req.meetingTypeApi.availabilityIncrement || -1,
42
- bufferDurationAfterMeeting: req.meetingTypeApi.bufferDurationAfterMeeting || -1,
43
- noticeTime: req.meetingTypeApi.noticeTime || -1,
42
+ bufferDurationAfterMeeting: req.meetingTypeApi.bufferDurationAfterMeeting || 0,
43
+ bufferDurationBeforeMeeting: req.meetingTypeApi.bufferDurationBeforeMeeting || 0,
44
+ noticeTime: req.meetingTypeApi.noticeTime || 0,
44
45
  location: req.meetingTypeApi.location || '',
45
46
  locationGuidelines: req.meetingTypeApi.locationGuidelines || '',
46
47
  isClientChoice: req.meetingTypeApi.isClientChoice || false,
@@ -70,8 +71,8 @@ export function MeetingTypeToApi(req) {
70
71
  form: m.form || undefined,
71
72
  hostUserIds: m.hostUserIds || undefined,
72
73
  availabilityIncrement: m.availabilityIncrement || undefined,
73
- bufferDurationAfterMeeting: m.bufferDurationAfterMeeting || undefined,
74
- noticeTime: m.noticeTime || undefined,
74
+ bufferDurationAfterMeeting: m.bufferDurationAfterMeeting || 0,
75
+ noticeTime: m.noticeTime || 0,
75
76
  location: m.location || undefined,
76
77
  locationGuidelines: m.locationGuidelines || undefined,
77
78
  emailSubject: m.emailSubject || undefined,
@@ -83,6 +84,7 @@ export function MeetingTypeToApi(req) {
83
84
  teamName: m.teamName || undefined,
84
85
  isVideoLinkDisabled: m.isVideoLinkDisabled || false,
85
86
  locationType: m.locationType || MeetingLocationType.VIDEO,
87
+ bufferDurationBeforeMeeting: m.bufferDurationBeforeMeeting || 0,
86
88
  };
87
89
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvc2hhcmVkL21lZXRpbmctdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUUsMkJBQTJCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDbEYsT0FBTyxFQUFDLGFBQWEsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBNEN0RSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FNbEM7SUFDRyxJQUFJLFVBQVUsR0FBRyxHQUFHLEVBQUUsY0FBYyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFDdkQsSUFBSSxVQUFVLEtBQUssRUFBRSxFQUFFO1FBQ25CLFVBQVUsR0FBRywyQkFBMkIsQ0FBQztZQUNyQyxXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7WUFDNUIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVO1lBQzFCLGVBQWUsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLGVBQWUsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxFQUFFO1lBQ2xGLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUTtZQUN0QixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7U0FDakMsQ0FBQyxDQUFDO0tBQ047U0FBTTtRQUNILFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFDLENBQUMsQ0FBQztLQUMzRjtJQUVELE1BQU0sSUFBSSxHQUFvQjtRQUMxQixHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksRUFBQyxNQUFNLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFDNUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUks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QVM7UUFDaEMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksU0FBUztRQUNqQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsbUJBQW1CLElBQUksS0FBSztRQUNuRCxZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVksSUFBSSxtQkFBbUIsQ0FBQyxLQUFLO0tBQzVELENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBGaWVsZEludGVyZmFjZSxcbiAgICBGb3JtSW50ZXJmYWNlLFxuICAgIEhvc3RVc2VySW50ZXJmYWNlLFxuICAgIE1lZXRpbmdUeXBlSW50ZXJmYWNlIGFzIEFwaU1lZXRpbmdUeXBlXG59IGZyb20gJy4uL19pbnRlcm5hbC9pbnRlcmZhY2VzJztcbmltcG9ydCB7YWRkTWV0YWRhdGFUb0Jvb2tpbmdMaW5rLCBnZXRCb29raW5nVXJsSW1wbGVtZW50YXRpb259IGZyb20gJy4uL2hvc3QvdXJsJztcbmltcG9ydCB7Rm9ybUZpZWxkVHlwZSwgTWVldGluZ0xvY2F0aW9uVHlwZX0gZnJvbSAnLi4vX2ludGVybmFsL2VudW1zJztcbmltcG9ydCB7RW52aXJvbm1lbnR9IGZyb20gXCIuL2Vudmlyb25tZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVldGluZ1R5cGUge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8vIHN0cmluZyBmb3JtYXR0ZWQgYXM6IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9yZWZlcmVuY2UvamF2YS9jb20vZ29vZ2xlL3Byb3RvYnVmL0R1cmF0aW9uXG4gICAgLy8gdXNlIGhlbHBlcnMgaW4gZHVyYXRpb24udHMgZm9yIGhlbHBlcnMgb3IgcGFzcyBpbnRvIG1vbWVudC5cbiAgICBkdXJhdGlvbjogc3RyaW5nO1xuICAgIGNhbGVuZGFySWQ6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGhleENvbG9yOiBzdHJpbmc7XG4gICAgLy8gaHR0cHM6Ly92ZW5kYXN0YS5qaXJhLmNvbS93aWtpL3NwYWNlcy9CT09LTUUvcGFnZXMvMjI3ODM2MTU3L1Rlcm1pbm9sb2d5I01lZXRpbmctVHlwZS1TbHVnXG4gICAgbWVldGluZ1R5cGVTbHVnOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgbWVldGluZ1R5cGVTbHVnIGluc3RlYWRcbiAgICAgKi9cbiAgICBib29raW5nTGluaz86IHN0cmluZztcbiAgICBob3N0VXNlcklkczogc3RyaW5nW107XG5cbiAgICAvLyByZWFkb25seSBmaWVsZHMuIGhhcyBubyBpbXBhY3Qgd2hlbiB1cGRhdGluZy5cbiAgICAvLyBUaGlzIGlzIHRoZSBmdWxsIHVybCBhIHBlcnNvbiBjb3VsZCBuYXZpZ2F0ZSB0byBmb3IgYm9va2luZy4gTWF5IGluY2x1ZGUgbWV0YWRhdGEgcXVlcnkgcGFyYW1zLlxuICAgIGJvb2tpbmdVcmw6IHN0cmluZztcbiAgICBmb3JtOiBNZWV0aW5nVHlwZUZvcm0sXG4gICAgYXZhaWxhYmlsaXR5SW5jcmVtZW50PzogbnVtYmVyLFxuICAgIGJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nPzogbnVtYmVyLFxuICAgIG5vdGljZVRpbWU/IDogbnVtYmVyLFxuICAgIGxvY2F0aW9uPyA6IHN0cmluZyxcbiAgICBsb2NhdGlvbkd1aWRlbGluZXM/IDogc3RyaW5nLFxuICAgIGVtYWlsU3ViamVjdD86IHN0cmluZztcbiAgICBlbWFpbERlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIGlzQ2xpZW50Q2hvaWNlPzpib29sZWFuXG4gICAgaXNQaW5uZWQ/OiBib29sZWFuXG4gICAgQ2FsZW5kYXJUeXBlPzogc3RyaW5nXG4gICAgaG9zdFVzZXJzOiBIb3N0VXNlckludGVyZmFjZVtdO1xuICAgIHRlYW1OYW1lPzogc3RyaW5nXG4gICAgaXNWaWRlb0xpbmtEaXNhYmxlZD86IGJvb2xlYW5cbiAgICBsb2NhdGlvblR5cGU/OiBNZWV0aW5nTG9jYXRpb25UeXBlXG59XG5cbmV4cG9ydCB0eXBlIE1lZXRpbmdUeXBlRm9ybUZpZWxkID0gUmVxdWlyZWQ8RmllbGRJbnRlcmZhY2U+O1xuZXhwb3J0IHR5cGUgTWVldGluZ1R5cGVGb3JtID0gUmVxdWlyZWQ8T21pdDxGb3JtSW50ZXJmYWNlLCAnZmllbGRzJz4+ICYgeyBmaWVsZHM6IE1lZXRpbmdUeXBlRm9ybUZpZWxkW10gfTtcblxuZXhwb3J0IGZ1bmN0aW9uIE1lZXRpbmdUeXBlRnJvbUFwaShyZXE6IHtcbiAgICBtZWV0aW5nVHlwZUFwaTogQXBpTWVldGluZ1R5cGUsXG4gICAgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50LFxuICAgIGNhbGVuZGFySWQ6IHN0cmluZyxcbiAgICBtZXRhZGF0YT86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9LFxuICAgIGNhbGVuZGFyU2x1Zz86IHN0cmluZyxcbn0pOiBNZWV0aW5nVHlwZSB7XG4gICAgbGV0IGJvb2tpbmdVcmwgPSByZXE/Lm1lZXRpbmdUeXBlQXBpPy5ib29raW5nVXJsIHx8ICcnO1xuICAgIGlmIChib29raW5nVXJsID09PSAnJykge1xuICAgICAgICBib29raW5nVXJsID0gZ2V0Qm9va2luZ1VybEltcGxlbWVudGF0aW9uKHtcbiAgICAgICAgICAgIGVudmlyb25tZW50OiByZXEuZW52aXJvbm1lbnQsXG4gICAgICAgICAgICBjYWxlbmRhcklkOiByZXEuY2FsZW5kYXJJZCxcbiAgICAgICAgICAgIG1lZXRpbmdUeXBlU2x1ZzogcmVxLm1lZXRpbmdUeXBlQXBpLm1lZXRpbmdUeXBlU2x1ZyB8fCByZXEubWVldGluZ1R5cGVBcGkuaWQgfHwgJycsXG4gICAgICAgICAgICBtZXRhZGF0YTogcmVxLm1ldGFkYXRhLFxuICAgICAgICAgICAgY2FsZW5kYXJTbHVnOiByZXEuY2FsZW5kYXJTbHVnLFxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBib29raW5nVXJsID0gYWRkTWV0YWRhdGFUb0Jvb2tpbmdMaW5rKHtsaW5rOiBib29raW5nVXJsLCBtZXRhZGF0YTogcmVxLm1ldGFkYXRhIHx8IHt9fSk7XG4gICAgfVxuXG4gICAgY29uc3QgZm9ybTogTWVldGluZ1R5cGVGb3JtID0ge1xuICAgICAgICAuLi4ocmVxLm1lZXRpbmdUeXBlQXBpLmZvcm0gfHwge2ZpZWxkczogW119KSxcbiAgICAgICAgZmllbGRzOiAocmVxLm1lZXRpbmdUeXBlQXBpLmZvcm0gJiYgcmVxLm1lZXRpbmdUeXBlQXBpLmZvcm0uZmllbGRzID8gcmVxLm1lZXRpbmdUeXBlQXBpLmZvcm0uZmllbGRzIDogW10pLm1hcChmaWVsZCA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgICAgICAgIGlkOiBmaWVsZC5pZCB8fCAnJyxcbiAgICAgICAgICAgICAgICBsYWJlbDogZmllbGQubGFiZWwgfHwgJycsXG4gICAgICAgICAgICAgICAgdHlwZTogZmllbGQudHlwZSB8fCBGb3JtRmllbGRUeXBlLkZPUk1fRklFTERfVFlQRV9JTlZBTElELFxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBmaWVsZC5yZXF1aXJlZCB8fCBmYWxzZSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiByZXEubWVldGluZ1R5cGVBcGkuaWQgfHwgJycsXG4gICAgICAgIGNhbGVuZGFySWQ6IHJlcS5tZWV0aW5nVHlwZUFwaS5jYWxlbmRhcklkIHx8ICcnLFxuICAgICAgICBuYW1lOiByZXEubWVldGluZ1R5cGVBcGkubmFtZSB8fCAnJyxcbiAgICAgICAgZHVyYXRpb246IHJlcS5tZWV0aW5nVHlwZUFwaS5kdXJhdGlvbiB8fCAnJyxcbiAgICAgICAgYm9va2luZ1VybDogYm9va2luZ1VybCxcbiAgICAgICAgYm9va2luZ0xpbms6IHJlcS5tZWV0aW5nVHlwZUFwaS5tZWV0aW5nVHlwZVNsdWcgfHwgJycsXG4gICAgICAgIG1lZXRpbmdUeXBlU2x1ZzogcmVxLm1lZXRpbmdUeXBlQXBpLm1lZXRpbmdUeXBlU2x1ZyB8fCAnJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHJlcS5tZWV0aW5nVHlwZUFwaS5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgICAgaGV4Q29sb3I6IHJlcS5tZWV0aW5nVHlwZUFwaS5oZXhDb2xvciB8fCAnJyxcbiAgICAgICAgZm9ybTogZm9ybSxcbiAgICAgICAgaG9zdFVzZXJJZHM6IHJlcS5tZWV0aW5nVHlwZUFwaS5ob3N0VXNlcklkcyB8fCBbXSxcbiAgICAgICAgYXZhaWxhYmlsaXR5SW5jcmVtZW50OiByZXEubWVldGluZ1R5cGVBcGkuYXZhaWxhYmlsaXR5SW5jcmVtZW50IHx8IC0xLFxuICAgICAgICBidWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZzogcmVxLm1lZXRpbmdUeXBlQXBpLmJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nIHx8IC0xLFxuICAgICAgICBub3RpY2VUaW1lOiByZXEubWVldGluZ1R5cGVBcGkubm90aWNlVGltZSB8fCAtMSxcbiAgICAgICAgbG9jYXRpb246IHJlcS5tZWV0aW5nVHlwZUFwaS5sb2NhdGlvbiB8fCAnJyxcbiAgICAgICAgbG9jYXRpb25HdWlkZWxpbmVzOiByZXEubWVldGluZ1R5cGVBcGkubG9jYXRpb25HdWlkZWxpbmVzIHx8ICcnLFxuICAgICAgICBpc0NsaWVudENob2ljZTogcmVxLm1lZXRpbmdUeXBlQXBpLmlzQ2xpZW50Q2hvaWNlIHx8IGZhbHNlLFxuICAgICAgICBlbWFpbFN1YmplY3Q6IHJlcS5tZWV0aW5nVHlwZUFwaS5lbWFpbFN1YmplY3QgfHwgJycsXG4gICAgICAgIGVtYWlsRGVzY3JpcHRpb246IHJlcS5tZWV0aW5nVHlwZUFwaS5lbWFpbERlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICBpc1Bpbm5lZDogcmVxLm1lZXRpbmdUeXBlQXBpLmlzUGlubmVkIHx8IGZhbHNlLFxuICAgICAgICBDYWxlbmRhclR5cGU6IHJlcS5tZWV0aW5nVHlwZUFwaS5jYWxlbmRhclR5cGUgfHwgJycsXG4gICAgICAgIGhvc3RVc2VyczogcmVxLm1lZXRpbmdUeXBlQXBpLmhvc3RVc2VycyB8fCBbXSxcbiAgICAgICAgdGVhbU5hbWU6IHJlcS5tZWV0aW5nVHlwZUFwaS50ZWFtTmFtZSB8fCAnJyxcbiAgICAgICAgaXNWaWRlb0xpbmtEaXNhYmxlZDogcmVxLm1lZXRpbmdUeXBlQXBpLmlzVmlkZW9MaW5rRGlzYWJsZWQgfHwgZmFsc2UsXG4gICAgICAgIGxvY2F0aW9uVHlwZTogcmVxLm1lZXRpbmdUeXBlQXBpLmxvY2F0aW9uVHlwZSB8fCBNZWV0aW5nTG9jYXRpb25UeXBlLlZJREVPLFxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1lZXRpbmdUeXBlVG9BcGkocmVxOiB7IG1lZXRpbmdUeXBlOiBQYXJ0aWFsPE1lZXRpbmdUeXBlPiB9KTogQXBpTWVldGluZ1R5cGUge1xuICAgIGNvbnN0IG0gPSByZXEubWVldGluZ1R5cGU7XG4gICAgaWYgKCFtKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IG0uaWQgfHwgdW5kZWZpbmVkLFxuICAgICAgICBuYW1lOiBtLm5hbWUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBoZXhDb2xvcjogbS5oZXhDb2xvciB8fCB1bmRlZmluZWQsXG4gICAgICAgIG1lZXRpbmdUeXBlU2x1ZzogbS5tZWV0aW5nVHlwZVNsdWcgfHwgbS5ib29raW5nTGluayB8fCB1bmRlZmluZWQsXG4gICAgICAgIGNhbGVuZGFySWQ6IG0uY2FsZW5kYXJJZCB8fCB1bmRlZmluZWQsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBtLmRlc2NyaXB0aW9uIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZHVyYXRpb246IG0uZHVyYXRpb24gPyBtLmR1cmF0aW9uIDogdW5kZWZpbmVkLFxuICAgICAgICBmb3JtOiBtLmZvcm0gfHwgdW5kZWZpbmVkLFxuICAgICAgICBob3N0VXNlcklkczogbS5ob3N0VXNlcklkcyB8fCB1bmRlZmluZWQsXG4gICAgICAgIGF2YWlsYWJpbGl0eUluY3JlbWVudCA6IG0uYXZhaWxhYmlsaXR5SW5jcmVtZW50IHx8IHVuZGVmaW5lZCxcbiAgICAgICAgYnVmZmVyRHVyYXRpb25BZnRlck1lZXRpbmc6IG0uYnVmZmVyRHVyYXRpb25BZnRlck1lZXRpbmcgfHwgdW5kZWZpbmVkLFxuICAgICAgICBub3RpY2VUaW1lOiBtLm5vdGljZVRpbWUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBsb2NhdGlvbjogbS5sb2NhdGlvbiB8fCB1bmRlZmluZWQsXG4gICAgICAgIGxvY2F0aW9uR3VpZGVsaW5lczogbS5sb2NhdGlvbkd1aWRlbGluZXMgfHwgdW5kZWZpbmVkLFxuICAgICAgICBlbWFpbFN1YmplY3Q6IG0uZW1haWxTdWJqZWN0IHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZW1haWxEZXNjcmlwdGlvbjogbS5lbWFpbERlc2NyaXB0aW9uIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaXNDbGllbnRDaG9pY2U6bS5pc0NsaWVudENob2ljZXx8dW5kZWZpbmVkLFxuICAgICAgICBpc1Bpbm5lZDptLmlzUGlubmVkIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgY2FsZW5kYXJUeXBlOiBtLkNhbGVuZGFyVHlwZSB8fCB1bmRlZmluZWQsXG4gICAgICAgIGhvc3RVc2VyczptLmhvc3RVc2Vyc3x8dW5kZWZpbmVkLFxuICAgICAgICB0ZWFtTmFtZTogbS50ZWFtTmFtZSB8fCB1bmRlZmluZWQsXG4gICAgICAgIGlzVmlkZW9MaW5rRGlzYWJsZWQ6IG0uaXNWaWRlb0xpbmtEaXNhYmxlZCB8fCBmYWxzZSxcbiAgICAgICAgbG9jYXRpb25UeXBlOiBtLmxvY2F0aW9uVHlwZSB8fCBNZWV0aW5nTG9jYXRpb25UeXBlLlZJREVPLFxuICAgIH07XG59XG4iXX0=
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVldGluZy10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbWVldGluZ3Nfc2RrL3NyYy9saWIvc2hhcmVkL21lZXRpbmctdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUMsd0JBQXdCLEVBQUUsMkJBQTJCLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFDbEYsT0FBTyxFQUFDLGFBQWEsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBNkN0RSxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FNbEM7SUFDRyxJQUFJLFVBQVUsR0FBRyxHQUFHLEVBQUUsY0FBYyxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7SUFDdkQsSUFBSSxVQUFVLEtBQUssRUFBRSxFQUFFO1FBQ25CLFVBQVUsR0FBRywyQkFBMkIsQ0FBQztZQUNyQyxXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVc7WUFDNUIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVO1lBQzFCLGVBQWUsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFDLGVBQWUsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxFQUFFO1lBQ2xGLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUTtZQUN0QixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7U0FDakMsQ0FBQyxDQUFDO0tBQ047U0FBTTtRQUNILFVBQVUsR0FBRyx3QkFBd0IsQ0FBQyxFQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFDLENBQUMsQ0FBQztLQUMzRjtJQUVELE1BQU0sSUFBSSxHQUFvQjtRQUMxQixHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUksRUFBQyxNQUFNLEVBQUUsRUFBRSxFQUFDLENBQUM7UUFDNUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLElBQUks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SSxTQUFTO1FBQ3pDLFNBQVMsRUFBQyxDQUFDLENBQUMsU0FBUyxJQUFFLFNBQVM7UUFDaEMsUUFBUSxFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksU0FBUztRQUNqQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsbUJBQW1CLElBQUksS0FBSztRQUNuRCxZQUFZLEVBQUUsQ0FBQyxDQUFDLFlBQVksSUFBSSxtQkFBbUIsQ0FBQyxLQUFLO1FBQ3pELDJCQUEyQixFQUFFLENBQUMsQ0FBQywyQkFBMkIsSUFBSSxDQUFDO0tBQ2xFLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBGaWVsZEludGVyZmFjZSxcbiAgICBGb3JtSW50ZXJmYWNlLFxuICAgIEhvc3RVc2VySW50ZXJmYWNlLFxuICAgIE1lZXRpbmdUeXBlSW50ZXJmYWNlIGFzIEFwaU1lZXRpbmdUeXBlXG59IGZyb20gJy4uL19pbnRlcm5hbC9pbnRlcmZhY2VzJztcbmltcG9ydCB7YWRkTWV0YWRhdGFUb0Jvb2tpbmdMaW5rLCBnZXRCb29raW5nVXJsSW1wbGVtZW50YXRpb259IGZyb20gJy4uL2hvc3QvdXJsJztcbmltcG9ydCB7Rm9ybUZpZWxkVHlwZSwgTWVldGluZ0xvY2F0aW9uVHlwZX0gZnJvbSAnLi4vX2ludGVybmFsL2VudW1zJztcbmltcG9ydCB7RW52aXJvbm1lbnR9IGZyb20gXCIuL2Vudmlyb25tZW50XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVldGluZ1R5cGUge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIC8vIHN0cmluZyBmb3JtYXR0ZWQgYXM6IGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9yZWZlcmVuY2UvamF2YS9jb20vZ29vZ2xlL3Byb3RvYnVmL0R1cmF0aW9uXG4gICAgLy8gdXNlIGhlbHBlcnMgaW4gZHVyYXRpb24udHMgZm9yIGhlbHBlcnMgb3IgcGFzcyBpbnRvIG1vbWVudC5cbiAgICBkdXJhdGlvbjogc3RyaW5nO1xuICAgIGNhbGVuZGFySWQ6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGhleENvbG9yOiBzdHJpbmc7XG4gICAgLy8gaHR0cHM6Ly92ZW5kYXN0YS5qaXJhLmNvbS93aWtpL3NwYWNlcy9CT09LTUUvcGFnZXMvMjI3ODM2MTU3L1Rlcm1pbm9sb2d5I01lZXRpbmctVHlwZS1TbHVnXG4gICAgbWVldGluZ1R5cGVTbHVnOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgbWVldGluZ1R5cGVTbHVnIGluc3RlYWRcbiAgICAgKi9cbiAgICBib29raW5nTGluaz86IHN0cmluZztcbiAgICBob3N0VXNlcklkczogc3RyaW5nW107XG5cbiAgICAvLyByZWFkb25seSBmaWVsZHMuIGhhcyBubyBpbXBhY3Qgd2hlbiB1cGRhdGluZy5cbiAgICAvLyBUaGlzIGlzIHRoZSBmdWxsIHVybCBhIHBlcnNvbiBjb3VsZCBuYXZpZ2F0ZSB0byBmb3IgYm9va2luZy4gTWF5IGluY2x1ZGUgbWV0YWRhdGEgcXVlcnkgcGFyYW1zLlxuICAgIGJvb2tpbmdVcmw6IHN0cmluZztcbiAgICBmb3JtOiBNZWV0aW5nVHlwZUZvcm0sXG4gICAgYXZhaWxhYmlsaXR5SW5jcmVtZW50PzogbnVtYmVyLFxuICAgIGJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nPzogbnVtYmVyLFxuICAgIGJ1ZmZlckR1cmF0aW9uQmVmb3JlTWVldGluZz86IG51bWJlcixcbiAgICBub3RpY2VUaW1lPyA6IG51bWJlcixcbiAgICBsb2NhdGlvbj8gOiBzdHJpbmcsXG4gICAgbG9jYXRpb25HdWlkZWxpbmVzPyA6IHN0cmluZyxcbiAgICBlbWFpbFN1YmplY3Q/OiBzdHJpbmc7XG4gICAgZW1haWxEZXNjcmlwdGlvbj86IHN0cmluZztcbiAgICBpc0NsaWVudENob2ljZT86Ym9vbGVhblxuICAgIGlzUGlubmVkPzogYm9vbGVhblxuICAgIENhbGVuZGFyVHlwZT86IHN0cmluZ1xuICAgIGhvc3RVc2VyczogSG9zdFVzZXJJbnRlcmZhY2VbXTtcbiAgICB0ZWFtTmFtZT86IHN0cmluZ1xuICAgIGlzVmlkZW9MaW5rRGlzYWJsZWQ/OiBib29sZWFuXG4gICAgbG9jYXRpb25UeXBlPzogTWVldGluZ0xvY2F0aW9uVHlwZVxufVxuXG5leHBvcnQgdHlwZSBNZWV0aW5nVHlwZUZvcm1GaWVsZCA9IFJlcXVpcmVkPEZpZWxkSW50ZXJmYWNlPjtcbmV4cG9ydCB0eXBlIE1lZXRpbmdUeXBlRm9ybSA9IFJlcXVpcmVkPE9taXQ8Rm9ybUludGVyZmFjZSwgJ2ZpZWxkcyc+PiAmIHsgZmllbGRzOiBNZWV0aW5nVHlwZUZvcm1GaWVsZFtdIH07XG5cbmV4cG9ydCBmdW5jdGlvbiBNZWV0aW5nVHlwZUZyb21BcGkocmVxOiB7XG4gICAgbWVldGluZ1R5cGVBcGk6IEFwaU1lZXRpbmdUeXBlLFxuICAgIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCxcbiAgICBjYWxlbmRhcklkOiBzdHJpbmcsXG4gICAgbWV0YWRhdGE/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICBjYWxlbmRhclNsdWc/OiBzdHJpbmcsXG59KTogTWVldGluZ1R5cGUge1xuICAgIGxldCBib29raW5nVXJsID0gcmVxPy5tZWV0aW5nVHlwZUFwaT8uYm9va2luZ1VybCB8fCAnJztcbiAgICBpZiAoYm9va2luZ1VybCA9PT0gJycpIHtcbiAgICAgICAgYm9va2luZ1VybCA9IGdldEJvb2tpbmdVcmxJbXBsZW1lbnRhdGlvbih7XG4gICAgICAgICAgICBlbnZpcm9ubWVudDogcmVxLmVudmlyb25tZW50LFxuICAgICAgICAgICAgY2FsZW5kYXJJZDogcmVxLmNhbGVuZGFySWQsXG4gICAgICAgICAgICBtZWV0aW5nVHlwZVNsdWc6IHJlcS5tZWV0aW5nVHlwZUFwaS5tZWV0aW5nVHlwZVNsdWcgfHwgcmVxLm1lZXRpbmdUeXBlQXBpLmlkIHx8ICcnLFxuICAgICAgICAgICAgbWV0YWRhdGE6IHJlcS5tZXRhZGF0YSxcbiAgICAgICAgICAgIGNhbGVuZGFyU2x1ZzogcmVxLmNhbGVuZGFyU2x1ZyxcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgYm9va2luZ1VybCA9IGFkZE1ldGFkYXRhVG9Cb29raW5nTGluayh7bGluazogYm9va2luZ1VybCwgbWV0YWRhdGE6IHJlcS5tZXRhZGF0YSB8fCB7fX0pO1xuICAgIH1cblxuICAgIGNvbnN0IGZvcm06IE1lZXRpbmdUeXBlRm9ybSA9IHtcbiAgICAgICAgLi4uKHJlcS5tZWV0aW5nVHlwZUFwaS5mb3JtIHx8IHtmaWVsZHM6IFtdfSksXG4gICAgICAgIGZpZWxkczogKHJlcS5tZWV0aW5nVHlwZUFwaS5mb3JtICYmIHJlcS5tZWV0aW5nVHlwZUFwaS5mb3JtLmZpZWxkcyA/IHJlcS5tZWV0aW5nVHlwZUFwaS5mb3JtLmZpZWxkcyA6IFtdKS5tYXAoZmllbGQgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICAgICAgICBpZDogZmllbGQuaWQgfHwgJycsXG4gICAgICAgICAgICAgICAgbGFiZWw6IGZpZWxkLmxhYmVsIHx8ICcnLFxuICAgICAgICAgICAgICAgIHR5cGU6IGZpZWxkLnR5cGUgfHwgRm9ybUZpZWxkVHlwZS5GT1JNX0ZJRUxEX1RZUEVfSU5WQUxJRCxcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogZmllbGQucmVxdWlyZWQgfHwgZmFsc2UsXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBpZDogcmVxLm1lZXRpbmdUeXBlQXBpLmlkIHx8ICcnLFxuICAgICAgICBjYWxlbmRhcklkOiByZXEubWVldGluZ1R5cGVBcGkuY2FsZW5kYXJJZCB8fCAnJyxcbiAgICAgICAgbmFtZTogcmVxLm1lZXRpbmdUeXBlQXBpLm5hbWUgfHwgJycsXG4gICAgICAgIGR1cmF0aW9uOiByZXEubWVldGluZ1R5cGVBcGkuZHVyYXRpb24gfHwgJycsXG4gICAgICAgIGJvb2tpbmdVcmw6IGJvb2tpbmdVcmwsXG4gICAgICAgIGJvb2tpbmdMaW5rOiByZXEubWVldGluZ1R5cGVBcGkubWVldGluZ1R5cGVTbHVnIHx8ICcnLFxuICAgICAgICBtZWV0aW5nVHlwZVNsdWc6IHJlcS5tZWV0aW5nVHlwZUFwaS5tZWV0aW5nVHlwZVNsdWcgfHwgJycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiByZXEubWVldGluZ1R5cGVBcGkuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICAgIGhleENvbG9yOiByZXEubWVldGluZ1R5cGVBcGkuaGV4Q29sb3IgfHwgJycsXG4gICAgICAgIGZvcm06IGZvcm0sXG4gICAgICAgIGhvc3RVc2VySWRzOiByZXEubWVldGluZ1R5cGVBcGkuaG9zdFVzZXJJZHMgfHwgW10sXG4gICAgICAgIGF2YWlsYWJpbGl0eUluY3JlbWVudDogcmVxLm1lZXRpbmdUeXBlQXBpLmF2YWlsYWJpbGl0eUluY3JlbWVudCB8fCAtMSxcbiAgICAgICAgYnVmZmVyRHVyYXRpb25BZnRlck1lZXRpbmc6IHJlcS5tZWV0aW5nVHlwZUFwaS5idWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZyB8fCAwLFxuICAgICAgICBidWZmZXJEdXJhdGlvbkJlZm9yZU1lZXRpbmc6IHJlcS5tZWV0aW5nVHlwZUFwaS5idWZmZXJEdXJhdGlvbkJlZm9yZU1lZXRpbmcgfHwgMCxcbiAgICAgICAgbm90aWNlVGltZTogcmVxLm1lZXRpbmdUeXBlQXBpLm5vdGljZVRpbWUgfHwgMCxcbiAgICAgICAgbG9jYXRpb246IHJlcS5tZWV0aW5nVHlwZUFwaS5sb2NhdGlvbiB8fCAnJyxcbiAgICAgICAgbG9jYXRpb25HdWlkZWxpbmVzOiByZXEubWVldGluZ1R5cGVBcGkubG9jYXRpb25HdWlkZWxpbmVzIHx8ICcnLFxuICAgICAgICBpc0NsaWVudENob2ljZTogcmVxLm1lZXRpbmdUeXBlQXBpLmlzQ2xpZW50Q2hvaWNlIHx8IGZhbHNlLFxuICAgICAgICBlbWFpbFN1YmplY3Q6IHJlcS5tZWV0aW5nVHlwZUFwaS5lbWFpbFN1YmplY3QgfHwgJycsXG4gICAgICAgIGVtYWlsRGVzY3JpcHRpb246IHJlcS5tZWV0aW5nVHlwZUFwaS5lbWFpbERlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgICBpc1Bpbm5lZDogcmVxLm1lZXRpbmdUeXBlQXBpLmlzUGlubmVkIHx8IGZhbHNlLFxuICAgICAgICBDYWxlbmRhclR5cGU6IHJlcS5tZWV0aW5nVHlwZUFwaS5jYWxlbmRhclR5cGUgfHwgJycsXG4gICAgICAgIGhvc3RVc2VyczogcmVxLm1lZXRpbmdUeXBlQXBpLmhvc3RVc2VycyB8fCBbXSxcbiAgICAgICAgdGVhbU5hbWU6IHJlcS5tZWV0aW5nVHlwZUFwaS50ZWFtTmFtZSB8fCAnJyxcbiAgICAgICAgaXNWaWRlb0xpbmtEaXNhYmxlZDogcmVxLm1lZXRpbmdUeXBlQXBpLmlzVmlkZW9MaW5rRGlzYWJsZWQgfHwgZmFsc2UsXG4gICAgICAgIGxvY2F0aW9uVHlwZTogcmVxLm1lZXRpbmdUeXBlQXBpLmxvY2F0aW9uVHlwZSB8fCBNZWV0aW5nTG9jYXRpb25UeXBlLlZJREVPLFxuICAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE1lZXRpbmdUeXBlVG9BcGkocmVxOiB7IG1lZXRpbmdUeXBlOiBQYXJ0aWFsPE1lZXRpbmdUeXBlPiB9KTogQXBpTWVldGluZ1R5cGUge1xuICAgIGNvbnN0IG0gPSByZXEubWVldGluZ1R5cGU7XG4gICAgaWYgKCFtKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IG0uaWQgfHwgdW5kZWZpbmVkLFxuICAgICAgICBuYW1lOiBtLm5hbWUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBoZXhDb2xvcjogbS5oZXhDb2xvciB8fCB1bmRlZmluZWQsXG4gICAgICAgIG1lZXRpbmdUeXBlU2x1ZzogbS5tZWV0aW5nVHlwZVNsdWcgfHwgbS5ib29raW5nTGluayB8fCB1bmRlZmluZWQsXG4gICAgICAgIGNhbGVuZGFySWQ6IG0uY2FsZW5kYXJJZCB8fCB1bmRlZmluZWQsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBtLmRlc2NyaXB0aW9uIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgZHVyYXRpb246IG0uZHVyYXRpb24gPyBtLmR1cmF0aW9uIDogdW5kZWZpbmVkLFxuICAgICAgICBmb3JtOiBtLmZvcm0gfHwgdW5kZWZpbmVkLFxuICAgICAgICBob3N0VXNlcklkczogbS5ob3N0VXNlcklkcyB8fCB1bmRlZmluZWQsXG4gICAgICAgIGF2YWlsYWJpbGl0eUluY3JlbWVudCA6IG0uYXZhaWxhYmlsaXR5SW5jcmVtZW50IHx8IHVuZGVmaW5lZCxcbiAgICAgICAgYnVmZmVyRHVyYXRpb25BZnRlck1lZXRpbmc6IG0uYnVmZmVyRHVyYXRpb25BZnRlck1lZXRpbmcgfHwgMCxcbiAgICAgICAgbm90aWNlVGltZTogbS5ub3RpY2VUaW1lIHx8IDAsXG4gICAgICAgIGxvY2F0aW9uOiBtLmxvY2F0aW9uIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgbG9jYXRpb25HdWlkZWxpbmVzOiBtLmxvY2F0aW9uR3VpZGVsaW5lcyB8fCB1bmRlZmluZWQsXG4gICAgICAgIGVtYWlsU3ViamVjdDogbS5lbWFpbFN1YmplY3QgfHwgdW5kZWZpbmVkLFxuICAgICAgICBlbWFpbERlc2NyaXB0aW9uOiBtLmVtYWlsRGVzY3JpcHRpb24gfHwgdW5kZWZpbmVkLFxuICAgICAgICBpc0NsaWVudENob2ljZTptLmlzQ2xpZW50Q2hvaWNlfHx1bmRlZmluZWQsXG4gICAgICAgIGlzUGlubmVkOm0uaXNQaW5uZWQgfHwgdW5kZWZpbmVkLFxuICAgICAgICBjYWxlbmRhclR5cGU6IG0uQ2FsZW5kYXJUeXBlIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaG9zdFVzZXJzOm0uaG9zdFVzZXJzfHx1bmRlZmluZWQsXG4gICAgICAgIHRlYW1OYW1lOiBtLnRlYW1OYW1lIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaXNWaWRlb0xpbmtEaXNhYmxlZDogbS5pc1ZpZGVvTGlua0Rpc2FibGVkIHx8IGZhbHNlLFxuICAgICAgICBsb2NhdGlvblR5cGU6IG0ubG9jYXRpb25UeXBlIHx8IE1lZXRpbmdMb2NhdGlvblR5cGUuVklERU8sXG4gICAgICAgIGJ1ZmZlckR1cmF0aW9uQmVmb3JlTWVldGluZzogbS5idWZmZXJEdXJhdGlvbkJlZm9yZU1lZXRpbmcgfHwgMCxcbiAgICB9O1xufVxuIl19
@@ -5,8 +5,9 @@ export function PreferencesFromApi(preferences) {
5
5
  meetingIntegration: preferences.meetingIntegration || MeetingSource.MEETING_SOURCE_INVALID,
6
6
  availabilityIncrement: preferences.availabilityIncrement || 0,
7
7
  bufferDurationAfterMeeting: preferences.bufferDurationAfterMeeting || 0,
8
+ bufferDurationBeforeMeeting: preferences.bufferDurationBeforeMeeting || 0,
8
9
  noticeTime: preferences.noticeTime || 0,
9
10
  calendarSlug: preferences.calendarSlug || '',
10
11
  };
11
12
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tZWV0aW5nc19zZGsvc3JjL2xpYi9zaGFyZWQvcHJlZmVyZW5jZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBWWpELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxXQUEyQjtJQUMxRCxPQUFPO1FBQ0gsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRO1FBQzlCLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxrQkFBa0IsSUFBSSxhQUFhLENBQUMsc0JBQXNCO1FBQzFGLHFCQUFxQixFQUFFLFdBQVcsQ0FBQyxxQkFBcUIsSUFBSSxDQUFDO1FBQzdELDBCQUEwQixFQUFFLFdBQVcsQ0FBQywwQkFBMEIsSUFBSSxDQUFDO1FBQ3ZFLFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVSxJQUFJLENBQUM7UUFDdkMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxZQUFZLElBQUksRUFBRTtLQUMvQyxDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UHJlZmVyZW5jZXMgYXMgQVBJUHJlZmVyZW5jZXN9IGZyb20gJy4uL19pbnRlcm5hbC9vYmplY3RzJztcbmltcG9ydCB7TWVldGluZ1NvdXJjZX0gZnJvbSAnLi4vX2ludGVybmFsL2VudW1zJztcbmltcG9ydCB7VGltZVpvbmVJbnRlcmZhY2V9IGZyb20gJy4uL19pbnRlcm5hbC9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcmVmZXJlbmNlcyB7XG4gICAgdGltZXpvbmU6IFRpbWVab25lSW50ZXJmYWNlO1xuICAgIG1lZXRpbmdJbnRlZ3JhdGlvbjogTWVldGluZ1NvdXJjZTtcbiAgICBhdmFpbGFiaWxpdHlJbmNyZW1lbnQ6IG51bWJlcjtcbiAgICBidWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZzogbnVtYmVyO1xuICAgIG5vdGljZVRpbWU6IG51bWJlcjtcbiAgICBjYWxlbmRhclNsdWc6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByZWZlcmVuY2VzRnJvbUFwaShwcmVmZXJlbmNlczogQVBJUHJlZmVyZW5jZXMpOiBQcmVmZXJlbmNlcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGltZXpvbmU6IHByZWZlcmVuY2VzLnRpbWV6b25lLFxuICAgICAgICBtZWV0aW5nSW50ZWdyYXRpb246IHByZWZlcmVuY2VzLm1lZXRpbmdJbnRlZ3JhdGlvbiB8fCBNZWV0aW5nU291cmNlLk1FRVRJTkdfU09VUkNFX0lOVkFMSUQsXG4gICAgICAgIGF2YWlsYWJpbGl0eUluY3JlbWVudDogcHJlZmVyZW5jZXMuYXZhaWxhYmlsaXR5SW5jcmVtZW50IHx8IDAsXG4gICAgICAgIGJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nOiBwcmVmZXJlbmNlcy5idWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZyB8fCAwLFxuICAgICAgICBub3RpY2VUaW1lOiBwcmVmZXJlbmNlcy5ub3RpY2VUaW1lIHx8IDAsXG4gICAgICAgIGNhbGVuZGFyU2x1ZzogcHJlZmVyZW5jZXMuY2FsZW5kYXJTbHVnIHx8ICcnLFxuICAgIH1cbn1cbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tZWV0aW5nc19zZGsvc3JjL2xpYi9zaGFyZWQvcHJlZmVyZW5jZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBYWpELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxXQUEyQjtJQUMxRCxPQUFPO1FBQ0gsUUFBUSxFQUFFLFdBQVcsQ0FBQyxRQUFRO1FBQzlCLGtCQUFrQixFQUFFLFdBQVcsQ0FBQyxrQkFBa0IsSUFBSSxhQUFhLENBQUMsc0JBQXNCO1FBQzFGLHFCQUFxQixFQUFFLFdBQVcsQ0FBQyxxQkFBcUIsSUFBSSxDQUFDO1FBQzdELDBCQUEwQixFQUFFLFdBQVcsQ0FBQywwQkFBMEIsSUFBSSxDQUFDO1FBQ3ZFLDJCQUEyQixFQUFFLFdBQVcsQ0FBQywyQkFBMkIsSUFBSSxDQUFDO1FBQ3pFLFVBQVUsRUFBRSxXQUFXLENBQUMsVUFBVSxJQUFJLENBQUM7UUFDdkMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxZQUFZLElBQUksRUFBRTtLQUMvQyxDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UHJlZmVyZW5jZXMgYXMgQVBJUHJlZmVyZW5jZXN9IGZyb20gJy4uL19pbnRlcm5hbC9vYmplY3RzJztcbmltcG9ydCB7TWVldGluZ1NvdXJjZX0gZnJvbSAnLi4vX2ludGVybmFsL2VudW1zJztcbmltcG9ydCB7VGltZVpvbmVJbnRlcmZhY2V9IGZyb20gJy4uL19pbnRlcm5hbC9pbnRlcmZhY2VzJztcblxuZXhwb3J0IGludGVyZmFjZSBQcmVmZXJlbmNlcyB7XG4gICAgdGltZXpvbmU6IFRpbWVab25lSW50ZXJmYWNlO1xuICAgIG1lZXRpbmdJbnRlZ3JhdGlvbjogTWVldGluZ1NvdXJjZTtcbiAgICBhdmFpbGFiaWxpdHlJbmNyZW1lbnQ6IG51bWJlcjtcbiAgICBidWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZzogbnVtYmVyO1xuICAgIGJ1ZmZlckR1cmF0aW9uQmVmb3JlTWVldGluZzogbnVtYmVyO1xuICAgIG5vdGljZVRpbWU6IG51bWJlcjtcbiAgICBjYWxlbmRhclNsdWc6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByZWZlcmVuY2VzRnJvbUFwaShwcmVmZXJlbmNlczogQVBJUHJlZmVyZW5jZXMpOiBQcmVmZXJlbmNlcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGltZXpvbmU6IHByZWZlcmVuY2VzLnRpbWV6b25lLFxuICAgICAgICBtZWV0aW5nSW50ZWdyYXRpb246IHByZWZlcmVuY2VzLm1lZXRpbmdJbnRlZ3JhdGlvbiB8fCBNZWV0aW5nU291cmNlLk1FRVRJTkdfU09VUkNFX0lOVkFMSUQsXG4gICAgICAgIGF2YWlsYWJpbGl0eUluY3JlbWVudDogcHJlZmVyZW5jZXMuYXZhaWxhYmlsaXR5SW5jcmVtZW50IHx8IDAsXG4gICAgICAgIGJ1ZmZlckR1cmF0aW9uQWZ0ZXJNZWV0aW5nOiBwcmVmZXJlbmNlcy5idWZmZXJEdXJhdGlvbkFmdGVyTWVldGluZyB8fCAwLFxuICAgICAgICBidWZmZXJEdXJhdGlvbkJlZm9yZU1lZXRpbmc6IHByZWZlcmVuY2VzLmJ1ZmZlckR1cmF0aW9uQmVmb3JlTWVldGluZyB8fCAwLFxuICAgICAgICBub3RpY2VUaW1lOiBwcmVmZXJlbmNlcy5ub3RpY2VUaW1lIHx8IDAsXG4gICAgICAgIGNhbGVuZGFyU2x1ZzogcHJlZmVyZW5jZXMuY2FsZW5kYXJTbHVnIHx8ICcnLFxuICAgIH1cbn1cbiJdfQ==
@@ -1076,12 +1076,6 @@ class MeetingSourceInfo {
1076
1076
  if (proto.status) {
1077
1077
  m.status = enumStringToValue$9(MeetingSourceStatus, proto.status);
1078
1078
  }
1079
- if (proto.created) {
1080
- m.created = new Date(proto.created);
1081
- }
1082
- if (proto.updated) {
1083
- m.updated = new Date(proto.updated);
1084
- }
1085
1079
  return m;
1086
1080
  }
1087
1081
  constructor(kwargs) {
@@ -1101,12 +1095,6 @@ class MeetingSourceInfo {
1101
1095
  if (typeof this.connectDisconnectUrl !== 'undefined') {
1102
1096
  toReturn['connectDisconnectUrl'] = this.connectDisconnectUrl;
1103
1097
  }
1104
- if (typeof this.created !== 'undefined' && this.created !== null) {
1105
- toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;
1106
- }
1107
- if (typeof this.updated !== 'undefined' && this.updated !== null) {
1108
- toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;
1109
- }
1110
1098
  return toReturn;
1111
1099
  }
1112
1100
  }
@@ -1560,6 +1548,9 @@ class Preferences {
1560
1548
  if (proto.noticeTime) {
1561
1549
  m.noticeTime = parseInt(proto.noticeTime, 10);
1562
1550
  }
1551
+ if (proto.bufferDurationBeforeMeeting) {
1552
+ m.bufferDurationBeforeMeeting = parseInt(proto.bufferDurationBeforeMeeting, 10);
1553
+ }
1563
1554
  return m;
1564
1555
  }
1565
1556
  constructor(kwargs) {
@@ -1588,6 +1579,9 @@ class Preferences {
1588
1579
  if (typeof this.calendarSlug !== 'undefined') {
1589
1580
  toReturn['calendarSlug'] = this.calendarSlug;
1590
1581
  }
1582
+ if (typeof this.bufferDurationBeforeMeeting !== 'undefined') {
1583
+ toReturn['bufferDurationBeforeMeeting'] = this.bufferDurationBeforeMeeting;
1584
+ }
1591
1585
  return toReturn;
1592
1586
  }
1593
1587
  }
@@ -1704,6 +1698,9 @@ class MeetingType {
1704
1698
  if (proto.hostUsers) {
1705
1699
  m.hostUsers = proto.hostUsers.map(HostUser.fromProto);
1706
1700
  }
1701
+ if (proto.bufferDurationBeforeMeeting) {
1702
+ m.bufferDurationBeforeMeeting = parseInt(proto.bufferDurationBeforeMeeting, 10);
1703
+ }
1707
1704
  return m;
1708
1705
  }
1709
1706
  constructor(kwargs) {
@@ -1792,6 +1789,9 @@ class MeetingType {
1792
1789
  if (typeof this.isVideoLinkDisabled !== 'undefined') {
1793
1790
  toReturn['isVideoLinkDisabled'] = this.isVideoLinkDisabled;
1794
1791
  }
1792
+ if (typeof this.bufferDurationBeforeMeeting !== 'undefined') {
1793
+ toReturn['bufferDurationBeforeMeeting'] = this.bufferDurationBeforeMeeting;
1794
+ }
1795
1795
  return toReturn;
1796
1796
  }
1797
1797
  }
@@ -5040,8 +5040,9 @@ function MeetingTypeFromApi(req) {
5040
5040
  form: form,
5041
5041
  hostUserIds: req.meetingTypeApi.hostUserIds || [],
5042
5042
  availabilityIncrement: req.meetingTypeApi.availabilityIncrement || -1,
5043
- bufferDurationAfterMeeting: req.meetingTypeApi.bufferDurationAfterMeeting || -1,
5044
- noticeTime: req.meetingTypeApi.noticeTime || -1,
5043
+ bufferDurationAfterMeeting: req.meetingTypeApi.bufferDurationAfterMeeting || 0,
5044
+ bufferDurationBeforeMeeting: req.meetingTypeApi.bufferDurationBeforeMeeting || 0,
5045
+ noticeTime: req.meetingTypeApi.noticeTime || 0,
5045
5046
  location: req.meetingTypeApi.location || '',
5046
5047
  locationGuidelines: req.meetingTypeApi.locationGuidelines || '',
5047
5048
  isClientChoice: req.meetingTypeApi.isClientChoice || false,
@@ -5071,8 +5072,8 @@ function MeetingTypeToApi(req) {
5071
5072
  form: m.form || undefined,
5072
5073
  hostUserIds: m.hostUserIds || undefined,
5073
5074
  availabilityIncrement: m.availabilityIncrement || undefined,
5074
- bufferDurationAfterMeeting: m.bufferDurationAfterMeeting || undefined,
5075
- noticeTime: m.noticeTime || undefined,
5075
+ bufferDurationAfterMeeting: m.bufferDurationAfterMeeting || 0,
5076
+ noticeTime: m.noticeTime || 0,
5076
5077
  location: m.location || undefined,
5077
5078
  locationGuidelines: m.locationGuidelines || undefined,
5078
5079
  emailSubject: m.emailSubject || undefined,
@@ -5084,6 +5085,7 @@ function MeetingTypeToApi(req) {
5084
5085
  teamName: m.teamName || undefined,
5085
5086
  isVideoLinkDisabled: m.isVideoLinkDisabled || false,
5086
5087
  locationType: m.locationType || MeetingLocationType.VIDEO,
5088
+ bufferDurationBeforeMeeting: m.bufferDurationBeforeMeeting || 0,
5087
5089
  };
5088
5090
  }
5089
5091
 
@@ -5518,6 +5520,7 @@ function PreferencesFromApi(preferences) {
5518
5520
  meetingIntegration: preferences.meetingIntegration || MeetingSource.MEETING_SOURCE_INVALID,
5519
5521
  availabilityIncrement: preferences.availabilityIncrement || 0,
5520
5522
  bufferDurationAfterMeeting: preferences.bufferDurationAfterMeeting || 0,
5523
+ bufferDurationBeforeMeeting: preferences.bufferDurationBeforeMeeting || 0,
5521
5524
  noticeTime: preferences.noticeTime || 0,
5522
5525
  calendarSlug: preferences.calendarSlug || '',
5523
5526
  };