@xsolla/payment-client-core 0.2.39 → 0.2.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1saW5lLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtbGluZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByaWNlIH0gZnJvbSAnLi9wcmljZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcnRMaW5lIHtcbiAga2V5Pzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgY29udGVudD86IHN0cmluZztcbiAgbW9uZXk/OiBQcmljZTtcbiAgcmF0ZT86IG51bWJlcjtcbiAgaXNEYXRlTGluZT86IGJvb2xlYW47XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC1saW5lLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3BheW1lbnQtY2xpZW50LWNvcmUvc3JjL2xpYi9jb3JlL3BheW1lbnQvZmluYW5jZS1kZXRhaWxzL2NhcnQtbGluZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByaWNlIH0gZnJvbSAnLi9wcmljZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcnRMaW5lIHtcbiAga2V5Pzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgY29udGVudD86IHN0cmluZztcbiAgbW9uZXk/OiBQcmljZTtcbiAgcGVyY2VudHM/OiBzdHJpbmcgfCBudWxsO1xuICByYXRlPzogbnVtYmVyO1xuICBpc0RhdGVMaW5lPzogYm9vbGVhbjtcbn1cbiJdfQ==
@@ -114,7 +114,10 @@ export class StatusFinanceDetailsAdapterService {
114
114
  }
115
115
  getInitialCurrencySubtotal(financeInfo) {
116
116
  if (!financeInfo?.subtotalSummaryBeforeConversion) {
117
- return null;
117
+ return {
118
+ title: '',
119
+ money: extractMoneyCurrency(financeInfo.subtotal),
120
+ };
118
121
  }
119
122
  return {
120
123
  title: '',
@@ -139,6 +142,7 @@ export class StatusFinanceDetailsAdapterService {
139
142
  totalDetails.push({
140
143
  key: this.getVatIncludingKeyDetails(percents, country),
141
144
  title: this.geVatIncludingTitleDetails(percents, country),
145
+ percents: percents,
142
146
  money: {
143
147
  amount: commissionUserVatPrcField.amount ?? null,
144
148
  currency: commissionUserVatPrcField.currency ?? '',
@@ -287,4 +291,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
287
291
  type: Injectable,
288
292
  args: [{ providedIn: 'root' }]
289
293
  }], ctorParameters: () => [{ type: i1.SummaryFinanceDetailsAdapterService }] });
290
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdGF0dXMvc3RhdHVzLWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTXhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBR3RELE1BQU0sT0FBTyxrQ0FBa0M7SUFDN0MsWUFDbUIsa0NBQXVFO1FBQXZFLHVDQUFrQyxHQUFsQyxrQ0FBa0MsQ0FBcUM7SUFDdkYsQ0FBQztJQUVHLGlCQUFpQixDQUN0QixNQUFjLEVBQ2QsUUFBNEI7UUFFNUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1FBRW5DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxvQ0FBb0MsQ0FDOUQsUUFBUSxFQUNSLEtBQUssRUFDTCxPQUFPLENBQ1IsQ0FBQztRQUVGLE9BQU87WUFDTCxRQUFRO1lBQ1Is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LFdBQVcsS0FBSyxVQUFVLENBQUMsVUFBVTtnQkFDM0MsTUFBTSxDQUFDLFdBQVcsS0FBSyxVQUFVLENBQUMsT0FBTztnQkFDekMsTUFBTSxDQUFDLFdBQVcsS0FBSyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUMsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztZQUMzQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RCLEdBQUcsRUFBRSxNQUFNO2dCQUNYLEtBQUssRUFBRSxNQUFNO2dCQUNiLE9BQU8sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUs7Z0JBQy9CLFVBQVUsRUFBRSxJQUFJO2FBQ2pCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLGtCQUFrQixDQUFDO0lBQzVCLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYTtRQUMvQixNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQztRQUN4QyxNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUN6QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFFRCxPQUFPLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7OEdBdFpVLGtDQUFrQztrSEFBbEMsa0NBQWtDLGNBRHJCLE1BQU07OzJGQUNuQixrQ0FBa0M7a0JBRDlDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RhdHVzRmluYW5jZUluZm8gfSBmcm9tICcuLi8uLi9zdGF0dXMvc3RhdHVzLWZpbmFuY2UtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vLi4vc3RhdHVzL3N0YXR1cy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jZURldGFpbHMgfSBmcm9tICcuLi9maW5hbmNlLWRldGFpbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5IH0gZnJvbSAnLi9maW5hbmNlLWluZm8uaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbmFuY2VJbmZvRmllbGQgfSBmcm9tICcuLi8uLi9zdGF0dXMvZmluYW5jZS1pbmZvLWZpZWxkLmludGVyZmFjZSc7XG5pbXBvcnQgeyBmaWVsZHNXaXRoQ3VycmVuY3kgfSBmcm9tICcuL2ZpZWxkcy13aXRoLWN1cnJlbmN5JztcbmltcG9ydCB7IENhcnRMaW5lIH0gZnJvbSAnLi4vY2FydC1saW5lLmludGVyZmFjZSc7XG5pbXBvcnQgeyBleHRyYWN0TW9uZXlDdXJyZW5jeSB9IGZyb20gJy4uL3ByaWNlLmhlbHBlcnMnO1xuaW1wb3J0IHsgRmllbGRXaXRoQW1vdW50QW5kQ3VycmVuY3kgfSBmcm9tICcuL2ZpZWxkLXdpdGgtYW1vdW50LWFuZC1jdXJyZW5jeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ2FydFN1bW1hcnkgfSBmcm9tICcuLi9jYXJ0LXN1bW1hcnkuaW50ZXJmYWNlJztcbmltcG9ydCB7IENvdW50cnlJc29Db2RlIH0gZnJvbSAnLi4vLi4vLi4vY291bnRyeS9jb3VudHJ5LWlzby1jb2RlLmVudW0nO1xuaW1wb3J0IHsgVmF0RGV0YWlsc0tleSB9IGZyb20gJy4uL3ZhdC1kZXRhaWxzLWtleS5lbnVtJztcbmltcG9ydCB7IFhwc1B1cmNoYXNlIH0gZnJvbSAnLi4vLi4veHBzLXB1cmNoYXNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJ0SXRlbSB9IGZyb20gJy4uL2NhcnQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgWHBzRmluYW5jZSB9IGZyb20gJy4uLy4uL3hwcy1maW5hbmNlLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXNPcmRlciB9IGZyb20gJy4uLy4uL3N0YXR1cy9zdGF0dXMtb3JkZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc3VtbWFyeS9zdW1tYXJ5LWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RhdHVzRW51bSB9IGZyb20gJy4uLy4uL3N0YXR1cy9zdGF0dXMuZW51bSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU3RhdHVzRmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN1bW1hckZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2U6IFN1bW1hcnlGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlXG4gICkge31cblxuICBwdWJsaWMgZ2V0RmluYW5jZURldGFpbHMoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgcHVyY2hhc2U6IFhwc1B1cmNoYXNlIHwgbnVsbFxuICApOiBGaW5hbmNlRGV0YWlscyB7XG4gICAgY29uc3QgZmluYW5jZUluZm8gPSB0aGlzLmZpbGxGaW5hbmNlSW5mbyhzdGF0dXMuZmluYW5jZUluZm8pO1xuICAgIGNvbnN0IGNvdW50cnkgPSBzdGF0dXMucGF5bWVudENvdW50cnlJc287XG4gICAgY29uc3Qgb3JkZXIgPSBzdGF0dXMub3JkZXIgPz8gbnVsbDtcblxuICAgIGNvbnN0IHN1bW1hcnlGaW5hbmNlID0gdGhpcy5jb252ZXJ0U3RhdHVzRmluYW5jZVRvU3VtbWFyeUZpbmFuY2UoXG4gICAgICBwdXJjaGFzZSxcbiAgICAgIG9yZGVyLFxuICAgICAgY291bnRyeVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHVyY2hhc2UsXG4gICAgICBmaW5hbmNlOiBzdW1tYXJ5RmluYW5jZSxcbiAgICAgIGNhcnRJdGVtczogdGhpcy5nZXRDYXJ0SXRlbXMocHVyY2hhc2UsIHN1bW1hcnlGaW5hbmNlKSxcbiAgICAgIGNhcnRTdW1tYXJ5OiB0aGlzLmdldENhcnRTdW1tYXJ5KHN0YXR1cywgZmluYW5jZUluZm8sIGNvdW50cnkpLFxuICAgICAgcGF5bWVudENvdW50cnk6IGNvdW50cnksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsbEZpbmFuY2VJbmZvKFxuICAgIGZpbmFuY2VJbmZvOiBTdGF0dXNGaW5hbmNlSW5mb1xuICApOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGZpbmFuY2VJbmZvKS5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIGZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5OiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSxcbiAgICAgICAga2V5OiBzdHJpbmdcbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZDogRmluYW5jZUluZm9GaWVsZCA9IGZpbmFuY2VJbmZvW2tleV07XG5cbiAgICAgICAgaWYgKGZpZWxkPy5rZXkgJiYgZmllbGRzV2l0aEN1cnJlbmN5LmhhcyhmaWVsZD8ua2V5KSkge1xuICAgICAgICAgIHRoaXMuYWRkQW1vdW50QW5kQ3VycmVuY3lUb0ZpZWxkKGZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyAuLi5maW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSwgW2tleV06IGZpZWxkIH07XG4gICAgICB9LFxuICAgICAge31cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRBbW91bnRBbmRDdXJyZW5jeVRvRmllbGQoZmllbGQ6IHtcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgcHJlZj86IHN0cmluZztcbiAgICB2YWx1ZT86IHN0cmluZztcbiAgICBhbW91bnQ/OiBudW1iZXI7XG4gICAgY3VycmVuY3k/OiBzdHJpbmc7XG4gIH0pOiB2b2lkIHtcbiAgICBjb25zdCBhbW91bnRBbmRDdXJyZW5jeSA9IC8oXlstXFxkLl0rKSAoW0EtWl17M30pJC87XG4gICAgY29uc3QgY3VycmVuY3lQYXJ0cyA9IGZpZWxkLnZhbHVlPy50cmltKCkubWF0Y2goYW1vdW50QW5kQ3VycmVuY3kpO1xuXG4gICAgaWYgKGN1cnJlbmN5UGFydHMpIHtcbiAgICAgIGNvbnN0IGFtb3VudFBvc2l0aW9uID0gMTtcbiAgICAgIGNvbnN0IGN1cnJlbmN5UG9zaXRpb24gPSAyO1xuICAgICAgZmllbGQuYW1vdW50ID0gTnVtYmVyKGN1cnJlbmN5UGFydHNbYW1vdW50UG9zaXRpb25dKTtcbiAgICAgIGZpZWxkLmN1cnJlbmN5ID0gY3VycmVuY3lQYXJ0c1tjdXJyZW5jeVBvc2l0aW9uXTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhcnRJdGVtcyhcbiAgICBwdXJjaGFzZTogWHBzUHVyY2hhc2UgfCBudWxsLFxuICAgIHN1bW1hcnlGaW5hbmNlOiBYcHNGaW5hbmNlIHwgbnVsbFxuICApOiBDYXJ0SXRlbVtdIHwgbnVsbCB7XG4gICAgaWYgKCFwdXJjaGFzZSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZmluYW5jZURldGFpbHMgPVxuICAgICAgdGhpcy5zdW1tYXJGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlLmdldEZpbmFuY2VEZXRhaWxzKHtcbiAgICAgICAgcHVyY2hhc2UsXG4gICAgICAgIGZpbmFuY2U6IHN1bW1hcnlGaW5hbmNlLFxuICAgICAgfSk7XG5cbiAgICByZXR1cm4gZmluYW5jZURldGFpbHMuY2FydEl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBjb252ZXJ0U3RhdHVzRmluYW5jZVRvU3VtbWFyeUZpbmFuY2UoXG4gICAgcHVyY2hhc2U6IFhwc1B1cmNoYXNlIHwgbnVsbCxcbiAgICBvcmRlcjogU3RhdHVzT3JkZXIgfCBudWxsLFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBYcHNGaW5hbmNlIHwgbnVsbCB7XG4gICAgaWYgKCFvcmRlciB8fCAhcHVyY2hhc2U/LmNoZWNrb3V0X2l0ZW1zPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbmFuY2UgPSB7XG4gICAgICBwYXltZW50X2NvdW50cnk6IHtcbiAgICAgICAgaXNvOiBjb3VudHJ5LFxuICAgICAgfSxcbiAgICB9IGFzIFhwc0ZpbmFuY2U7XG5cbiAgICBjb25zdCBmaXJzdENoZWNrb3V0SXRlbSA9IHB1cmNoYXNlPy5jaGVja291dF9pdGVtc1swXTtcbiAgICBjb25zdCBmaXJzdENoZWNrb3V0SXRlbUFtb3VudCA9IGZpcnN0Q2hlY2tvdXRJdGVtPy5hbW91bnQgPz8gMDtcbiAgICBjb25zdCBvbmVIdW5kcmVkUGVyY2VudCA9IDEwMDtcbiAgICBjb25zdCB0YXhBbW91bnQgPVxuICAgICAgKGZpcnN0Q2hlY2tvdXRJdGVtQW1vdW50ICogZmlyc3RDaGVja291dEl0ZW0/LmluZGlyZWN0X3RheF9yYXRlKSAvXG4gICAgICBvbmVIdW5kcmVkUGVyY2VudDtcblxuICAgIGlmIChvcmRlci5jb250YWluZWRfdGF4ZXM/LnNhbGVzX3RheCkge1xuICAgICAgZmluYW5jZS5zYWxlc190YXggPSB7XG4gICAgICAgIGFtb3VudDogdGF4QW1vdW50LFxuICAgICAgICBwZXJjZW50OiBmaXJzdENoZWNrb3V0SXRlbT8uaW5kaXJlY3RfdGF4X3JhdGUsXG4gICAgICAgIGN1cnJlbmN5OiBwdXJjaGFzZT8uY2hlY2tvdXQ/LmN1cnJlbmN5ID8/ICcnLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpZiAob3JkZXIuY29udGFpbmVkX3RheGVzPy51c2VyX3ZhdCkge1xuICAgICAgZmluYW5jZS52YXQgPSB7XG4gICAgICAgIGFtb3VudDogdGF4QW1vdW50LFxuICAgICAgICBwZXJjZW50OiBmaXJzdENoZWNrb3V0SXRlbT8uaW5kaXJlY3RfdGF4X3JhdGUsXG4gICAgICAgIGN1cnJlbmN5OiBwdXJjaGFzZT8uY2hlY2tvdXQ/LmN1cnJlbmN5ID8/ICcnLFxuICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmluYW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FydFN1bW1hcnkoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5LFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBDYXJ0U3VtbWFyeSB7XG4gICAgY29uc3QgY2FydDogQ2FydFN1bW1hcnkgPSB7XG4gICAgICB0b3RhbDogdGhpcy5nZXRUb3RhbChmaW5hbmNlSW5mbyksXG4gICAgICB0b3RhbERldGFpbHM6IHRoaXMuZ2V0VG90YWxEZXRhaWxzKGZpbmFuY2VJbmZvLCBjb3VudHJ5KSxcbiAgICAgIHN1YnRvdGFsRGV0YWlsczogW1xuICAgICAgICAuLi50aGlzLmdldFN1YnRvdGFsRGV0YWlscyhmaW5hbmNlSW5mbyksXG4gICAgICAgIC4uLnRoaXMuZ2V0VGF4ZXNGb3JTdWJ0b3RhbERldGFpbHMoZmluYW5jZUluZm8sIGNvdW50cnkpLFxuICAgICAgXSxcbiAgICAgIHRyYW5zYWN0aW9uRGV0YWlsczogdGhpcy5nZXRUcmFuc2FjdGlvbkRldGFpbHMoc3RhdHVzLCBmaW5hbmNlSW5mbyksXG4gICAgICBzdWJ0b3RhbDogdGhpcy5nZXRJbml0aWFsQ3VycmVuY3lTdWJ0b3RhbChmaW5hbmNlSW5mbykgPz8gbnVsbCxcbiAgICAgIHN1YnRvdGFsUGF5bWVudDogdGhpcy5nZXRTdWJ0b3RhbFBheW1lbnQoZmluYW5jZUluZm8pID8/IG51bGwsXG4gICAgfTtcblxuICAgIHJldHVybiBjYXJ0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUb3RhbChmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3kpOiBDYXJ0TGluZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnVG90YWwnLFxuICAgICAgbW9uZXk6IGV4dHJhY3RNb25leUN1cnJlbmN5KFxuICAgICAgICBmaW5hbmNlSW5mby5zdW0gYXMgRmllbGRXaXRoQW1vdW50QW5kQ3VycmVuY3lcbiAgICAgICksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3VidG90YWxQYXltZW50KFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeVxuICApOiBDYXJ0TGluZSB8IG51bGwge1xuICAgIGlmICghZmluYW5jZUluZm8/LnN1YnRvdGFsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdTdWJ0b3RhbCcsXG4gICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koXG4gICAgICAgIGZpbmFuY2VJbmZvLnN1YnRvdGFsIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICAgICApLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEluaXRpYWxDdXJyZW5jeVN1YnRvdGFsKFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeVxuICApOiBDYXJ0TGluZSB8IG51bGwge1xuICAgIGlmICghZmluYW5jZUluZm8/LnN1YnRvdGFsU3VtbWFyeUJlZm9yZUNvbnZlcnNpb24pIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJycsXG4gICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZUluZm8uc3VidG90YWxTdW1tYXJ5QmVmb3JlQ29udmVyc2lvbiksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VG90YWxEZXRhaWxzKFxuICAgIGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSxcbiAgICBjb3VudHJ5OiBzdHJpbmdcbiAgKTogQ2FydExpbmVbXSB7XG4gICAgY29uc3QgdG90YWxEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG5cbiAgICBjb25zdCBzYWxlc1RheENvbW1pc3Npb25GaWVsZCA9IGZpbmFuY2VJbmZvW1xuICAgICAgJ3NhbGVzVGF4Q29tbWlzc2lvbidcbiAgICBdIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5O1xuICAgIGlmIChzYWxlc1RheENvbW1pc3Npb25GaWVsZCkge1xuICAgICAgdG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICB0aXRsZTogc2FsZXNUYXhDb21taXNzaW9uRmllbGQucHJlZixcbiAgICAgICAgbW9uZXk6IHtcbiAgICAgICAgICBhbW91bnQ6IHNhbGVzVGF4Q29tbWlzc2lvbkZpZWxkLmFtb3VudCA/PyBudWxsLFxuICAgICAgICAgIGN1cnJlbmN5OiBzYWxlc1RheENvbW1pc3Npb25GaWVsZC5jdXJyZW5jeSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbW1pc3Npb25Vc2VyVmF0UHJjRmllbGQgPSBmaW5hbmNlSW5mb1tcbiAgICAgICdjb21taXNzaW9uVXNlclZhdFByYydcbiAgICBdIGFzIEZpZWxkV2l0aEFtb3VudEFuZEN1cnJlbmN5O1xuXG4gICAgaWYgKGNvbW1pc3Npb25Vc2VyVmF0UHJjRmllbGQ/LnByZWYpIHtcbiAgICAgIGNvbnN0IHBlcmNlbnRzID0gdGhpcy5nZXRQZXJjZW50cyhjb21taXNzaW9uVXNlclZhdFByY0ZpZWxkLnByZWYpO1xuXG4gICAgICB0b3RhbERldGFpbHMucHVzaCh7XG4gICAgICAgIGtleTogdGhpcy5nZXRWYXRJbmNsdWRpbmdLZXlEZXRhaWxzKHBlcmNlbnRzLCBjb3VudHJ5KSxcbiAgICAgICAgdGl0bGU6IHRoaXMuZ2VWYXRJbmNsdWRpbmdUaXRsZURldGFpbHMocGVyY2VudHMsIGNvdW50cnkpLFxuICAgICAgICBtb25leToge1xuICAgICAgICAgIGFtb3VudDogY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5jdXJyZW5jeSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdG90YWxEZXRhaWxzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdWJ0b3RhbERldGFpbHMoXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcgPSBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ2Rpc2NvdW50JyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdkaXNjb3VudCcsXG4gICAgICAgIHRpdGxlOiAnRGlzY291bnQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZmVlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdwYXltZW50U3lzdGVtRmVlJyxcbiAgICAgICAgdGl0bGU6ICdQYXltZW50IHN5c3RlbSBmZWUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAndXNlci1iYWxhbmNlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICd1c2VyV2FsbGV0JyxcbiAgICAgICAgdGl0bGU6ICdCYWxhbmNlJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHJlZGVlbWVkUG9pbnRzID0gZmluYW5jZUluZm9bJ3JlZGVlbWVkUG9pbnRzJ107XG5cbiAgICBpZiAocmVkZWVtZWRQb2ludHM/LnByZWYpIHtcbiAgICAgIHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcucHVzaCh7XG4gICAgICAgIGtleTogJ3JlZGVlbS1wb2ludHMnLFxuICAgICAgICByZXNwb25zZUtleTogJ3JlZGVlbWVkUG9pbnRzJyxcbiAgICAgICAgdGl0bGU6IHJlZGVlbWVkUG9pbnRzLnByZWYsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VidG90YWxEZXRhaWxzU29ydGluZy5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIHN1YlRvdGFsRGV0YWlsczogQ2FydExpbmVbXSxcbiAgICAgICAgc29ydGluZzogeyByZXNwb25zZUtleTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH1cbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZCA9IGZpbmFuY2VJbmZvW1xuICAgICAgICAgIHNvcnRpbmcucmVzcG9uc2VLZXlcbiAgICAgICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgc3ViVG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IHNvcnRpbmcudGl0bGUsXG4gICAgICAgICAgICBtb25leToge1xuICAgICAgICAgICAgICBhbW91bnQ6IGZpZWxkLmFtb3VudCA/PyBudWxsLFxuICAgICAgICAgICAgICBjdXJyZW5jeTogZmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWJUb3RhbERldGFpbHM7XG4gICAgICB9LFxuICAgICAgW11cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYXhlc0ZvclN1YnRvdGFsRGV0YWlscyhcbiAgICBmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3ksXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRheGVzRm9yU3VidG90YWxEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG4gICAgY29uc3QgdmF0VXNlck5vdEluY2x1ZGVkRmllbGQgPSBmaW5hbmNlSW5mb1tcbiAgICAgICd2YXRVc2VyTm90SW5jbHVkZWQnXG4gICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICBpZiAodmF0VXNlck5vdEluY2x1ZGVkRmllbGQ/LnByZWYpIHtcbiAgICAgIGNvbnN0IHBlcmNlbnRzID0gdGhpcy5nZXRQZXJjZW50cyh2YXRVc2VyTm90SW5jbHVkZWRGaWVsZC5wcmVmKTtcbiAgICAgIHRheGVzRm9yU3VidG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6IHRoaXMuZ2V0VmF0Tm90SW5jbHVkaW5nS2V5RGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIHRpdGxlOiB0aGlzLmdldFZhdE5vdEluY2x1ZGluZ1RpdGxlRGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIG1vbmV5OiB7XG4gICAgICAgICAgYW1vdW50OiB2YXRVc2VyTm90SW5jbHVkZWRGaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogdmF0VXNlck5vdEluY2x1ZGVkRmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGF4ZXNGb3JTdWJ0b3RhbERldGFpbHM7XG4gIH1cblxuICBwcml2YXRlIGdldFZhdE5vdEluY2x1ZGluZ0tleURldGFpbHMoXG4gICAgcGVyY2VudHM6IHN0cmluZyB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuIHBlcmNlbnRzID8gVmF0RGV0YWlsc0tleS52YXRJbmRpYVBlcmNlbnQgOiBWYXREZXRhaWxzS2V5LnZhdEluZGlhO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiBWYXREZXRhaWxzS2V5LnZhdEdoYW5hO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50cyA/IFZhdERldGFpbHNLZXkudmF0UGVyY2VudCA6IFZhdERldGFpbHNLZXkudmF0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXROb3RJbmNsdWRpbmdUaXRsZURldGFpbHMoXG4gICAgcGVyY2VudHM6IHN0cmluZyB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuIHBlcmNlbnRzID8gYEdTVCAke3BlcmNlbnRzfSVgIDogJ0dTVCc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuICdWQVQsIE5ISUwsIEdFVEZ1bmQgTGV2eSwgYW5kIENvdmlkLTE5IExldnknO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50cyA/IGBWQVQgJHtwZXJjZW50c30lYCA6ICdWQVQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRJbmNsdWRpbmdLZXlEZXRhaWxzKFxuICAgIHBlcmNlbnRzOiBzdHJpbmcgfCBudWxsLFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiBwZXJjZW50c1xuICAgICAgICA/IFZhdERldGFpbHNLZXkudmF0SW5kaWFQZXJjZW50SW5jbHVkaW5nXG4gICAgICAgIDogVmF0RGV0YWlsc0tleS52YXRJbmRpYUluY2x1ZGluZztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0doYW5hKGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRHaGFuYUluY2x1ZGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gcGVyY2VudHNcbiAgICAgID8gVmF0RGV0YWlsc0tleS52YXRQZXJjZW50SW5jbHVkaW5nXG4gICAgICA6IFZhdERldGFpbHNLZXkudmF0SW5jbHVkaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZVZhdEluY2x1ZGluZ1RpdGxlRGV0YWlscyhcbiAgICBwZXJjZW50czogc3RyaW5nIHwgbnVsbCxcbiAgICBjb3VudHJ5OiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0luZGlhKGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4gcGVyY2VudHMgPyBgSW5jbHVkaW5nICR7cGVyY2VudHN9JSBHU1RgIDogJ0luY2x1ZGluZyBHU1QnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiAnSW5jbHVkaW5nIFZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBlcmNlbnRzID8gYEluY2x1ZGluZyAke3BlcmNlbnRzfSUgVkFUYCA6IGBJbmNsdWRpbmcgVkFUYDtcbiAgfVxuXG4gIHByaXZhdGUgaXNHaGFuYShjb3VudHJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY291bnRyeSA9PT0gQ291bnRyeUlzb0NvZGUuR2hhbmE7XG4gIH1cblxuICBwcml2YXRlIGlzSW5kaWEoY291bnRyeTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvdW50cnkgPT09IENvdW50cnlJc29Db2RlLkluZGlhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUcmFuc2FjdGlvbkRldGFpbHMoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGV0YWlsczogQ2FydExpbmVbXSA9IFtdO1xuICAgIGlmIChmaW5hbmNlSW5mby5pbnZvaWNlPy52YWx1ZSkge1xuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6ICdpbnZvaWNlJyxcbiAgICAgICAgdGl0bGU6ICdUcmFuc2FjdGlvbicsXG4gICAgICAgIGNvbnRlbnQ6IGZpbmFuY2VJbmZvLmludm9pY2UudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0NvbXBsZXRlZCA9XG4gICAgICBzdGF0dXMuaXNDYW5jZWxVc2VyIHx8XG4gICAgICAoc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLnByb2Nlc3NpbmcgJiZcbiAgICAgICAgc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLmNyZWF0ZWQgJiZcbiAgICAgICAgc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLmhlbGQpO1xuICAgIGlmIChpc0NvbXBsZXRlZCAmJiBmaW5hbmNlSW5mby50aW1lPy52YWx1ZSkge1xuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6ICd0aW1lJyxcbiAgICAgICAgdGl0bGU6ICdEYXRlJyxcbiAgICAgICAgY29udGVudDogZmluYW5jZUluZm8udGltZS52YWx1ZSxcbiAgICAgICAgaXNEYXRlTGluZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdHJhbnNhY3Rpb25EZXRhaWxzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJjZW50cyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgcGVyY2VudHNUZW1wbGF0ZSA9IC8oXFxkKyguXFxkKyk/KS87XG4gICAgY29uc3QgcGVyY2VudHNNYXRjaFJlc3VsdCA9IHBlcmNlbnRzVGVtcGxhdGUuZXhlYyh2YWx1ZSk7XG5cbiAgICBpZiAoIXBlcmNlbnRzTWF0Y2hSZXN1bHQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50c01hdGNoUmVzdWx0WzBdO1xuICB9XG59XG4iXX0=
294
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wYXltZW50LWNsaWVudC1jb3JlL3NyYy9saWIvY29yZS9wYXltZW50L2ZpbmFuY2UtZGV0YWlscy9zdGF0dXMvc3RhdHVzLWZpbmFuY2UtZGV0YWlscy1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTXhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBR3RELE1BQU0sT0FBTyxrQ0FBa0M7SUFDN0MsWUFDbUIsa0NBQXVFO1FBQXZFLHVDQUFrQyxHQUFsQyxrQ0FBa0MsQ0FBcUM7SUFDdkYsQ0FBQztJQUVHLGlCQUFpQixDQUN0QixNQUFjLEVBQ2QsUUFBNEI7UUFFNUIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDN0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1FBQ3pDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO1FBRW5DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxvQ0FBb0MsQ0FDOUQsUUFBUSxFQUNSLEtBQUssRUFDTCxPQUFPLENBQ1IsQ0FBQztRQUVGLE9BQU87WUFDTCxRQUFRO1lBQ1Is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LENBQUMsS0FBSzthQUNuQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQ2YsTUFBTSxDQUFDLFlBQVk7WUFDbkIsQ0FBQyxNQUFNLENBQUMsV0FBVyxLQUFLLFVBQVUsQ0FBQyxVQUFVO2dCQUMzQyxNQUFNLENBQUMsV0FBVyxLQUFLLFVBQVUsQ0FBQyxPQUFPO2dCQUN6QyxNQUFNLENBQUMsV0FBVyxLQUFLLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQzNDLGtCQUFrQixDQUFDLElBQUksQ0FBQztnQkFDdEIsR0FBRyxFQUFFLE1BQU07Z0JBQ1gsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsT0FBTyxFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSztnQkFDL0IsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sa0JBQWtCLENBQUM7SUFDNUIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFhO1FBQy9CLE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDO1FBQ3hDLE1BQU0sbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELE9BQU8sbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQzs4R0ExWlUsa0NBQWtDO2tIQUFsQyxrQ0FBa0MsY0FEckIsTUFBTTs7MkZBQ25CLGtDQUFrQztrQkFEOUMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdGF0dXNGaW5hbmNlSW5mbyB9IGZyb20gJy4uLy4uL3N0YXR1cy9zdGF0dXMtZmluYW5jZS1pbmZvLmludGVyZmFjZSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi8uLi9zdGF0dXMvc3RhdHVzLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaW5hbmNlRGV0YWlscyB9IGZyb20gJy4uL2ZpbmFuY2UtZGV0YWlscy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3kgfSBmcm9tICcuL2ZpbmFuY2UtaW5mby5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmluYW5jZUluZm9GaWVsZCB9IGZyb20gJy4uLy4uL3N0YXR1cy9maW5hbmNlLWluZm8tZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IGZpZWxkc1dpdGhDdXJyZW5jeSB9IGZyb20gJy4vZmllbGRzLXdpdGgtY3VycmVuY3knO1xuaW1wb3J0IHsgQ2FydExpbmUgfSBmcm9tICcuLi9jYXJ0LWxpbmUuaW50ZXJmYWNlJztcbmltcG9ydCB7IGV4dHJhY3RNb25leUN1cnJlbmN5IH0gZnJvbSAnLi4vcHJpY2UuaGVscGVycyc7XG5pbXBvcnQgeyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeSB9IGZyb20gJy4vZmllbGQtd2l0aC1hbW91bnQtYW5kLWN1cnJlbmN5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBDYXJ0U3VtbWFyeSB9IGZyb20gJy4uL2NhcnQtc3VtbWFyeS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ291bnRyeUlzb0NvZGUgfSBmcm9tICcuLi8uLi8uLi9jb3VudHJ5L2NvdW50cnktaXNvLWNvZGUuZW51bSc7XG5pbXBvcnQgeyBWYXREZXRhaWxzS2V5IH0gZnJvbSAnLi4vdmF0LWRldGFpbHMta2V5LmVudW0nO1xuaW1wb3J0IHsgWHBzUHVyY2hhc2UgfSBmcm9tICcuLi8uLi94cHMtcHVyY2hhc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IENhcnRJdGVtIH0gZnJvbSAnLi4vY2FydC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBYcHNGaW5hbmNlIH0gZnJvbSAnLi4vLi4veHBzLWZpbmFuY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0YXR1c09yZGVyIH0gZnJvbSAnLi4vLi4vc3RhdHVzL3N0YXR1cy1vcmRlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi9zdW1tYXJ5L3N1bW1hcnktZmluYW5jZS1kZXRhaWxzLWFkYXB0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTdGF0dXNFbnVtIH0gZnJvbSAnLi4vLi4vc3RhdHVzL3N0YXR1cy5lbnVtJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBTdGF0dXNGaW5hbmNlRGV0YWlsc0FkYXB0ZXJTZXJ2aWNlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VtbWFyRmluYW5jZURldGFpbHNBZGFwdGVyU2VydmljZTogU3VtbWFyeUZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXRGaW5hbmNlRGV0YWlscyhcbiAgICBzdGF0dXM6IFN0YXR1cyxcbiAgICBwdXJjaGFzZTogWHBzUHVyY2hhc2UgfCBudWxsXG4gICk6IEZpbmFuY2VEZXRhaWxzIHtcbiAgICBjb25zdCBmaW5hbmNlSW5mbyA9IHRoaXMuZmlsbEZpbmFuY2VJbmZvKHN0YXR1cy5maW5hbmNlSW5mbyk7XG4gICAgY29uc3QgY291bnRyeSA9IHN0YXR1cy5wYXltZW50Q291bnRyeUlzbztcbiAgICBjb25zdCBvcmRlciA9IHN0YXR1cy5vcmRlciA/PyBudWxsO1xuXG4gICAgY29uc3Qgc3VtbWFyeUZpbmFuY2UgPSB0aGlzLmNvbnZlcnRTdGF0dXNGaW5hbmNlVG9TdW1tYXJ5RmluYW5jZShcbiAgICAgIHB1cmNoYXNlLFxuICAgICAgb3JkZXIsXG4gICAgICBjb3VudHJ5XG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBwdXJjaGFzZSxcbiAgICAgIGZpbmFuY2U6IHN1bW1hcnlGaW5hbmNlLFxuICAgICAgY2FydEl0ZW1zOiB0aGlzLmdldENhcnRJdGVtcyhwdXJjaGFzZSwgc3VtbWFyeUZpbmFuY2UpLFxuICAgICAgY2FydFN1bW1hcnk6IHRoaXMuZ2V0Q2FydFN1bW1hcnkoc3RhdHVzLCBmaW5hbmNlSW5mbywgY291bnRyeSksXG4gICAgICBwYXltZW50Q291bnRyeTogY291bnRyeSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBmaWxsRmluYW5jZUluZm8oXG4gICAgZmluYW5jZUluZm86IFN0YXR1c0ZpbmFuY2VJbmZvXG4gICk6IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5IHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZmluYW5jZUluZm8pLnJlZHVjZShcbiAgICAgIChcbiAgICAgICAgZmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3k6IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5LFxuICAgICAgICBrZXk6IHN0cmluZ1xuICAgICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpZWxkOiBGaW5hbmNlSW5mb0ZpZWxkID0gZmluYW5jZUluZm9ba2V5XTtcblxuICAgICAgICBpZiAoZmllbGQ/LmtleSAmJiBmaWVsZHNXaXRoQ3VycmVuY3kuaGFzKGZpZWxkPy5rZXkpKSB7XG4gICAgICAgICAgdGhpcy5hZGRBbW91bnRBbmRDdXJyZW5jeVRvRmllbGQoZmllbGQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IC4uLmZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5LCBba2V5XTogZmllbGQgfTtcbiAgICAgIH0sXG4gICAgICB7fVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZEFtb3VudEFuZEN1cnJlbmN5VG9GaWVsZChmaWVsZDoge1xuICAgIGtleT86IHN0cmluZztcbiAgICBwcmVmPzogc3RyaW5nO1xuICAgIHZhbHVlPzogc3RyaW5nO1xuICAgIGFtb3VudD86IG51bWJlcjtcbiAgICBjdXJyZW5jeT86IHN0cmluZztcbiAgfSk6IHZvaWQge1xuICAgIGNvbnN0IGFtb3VudEFuZEN1cnJlbmN5ID0gLyheWy1cXGQuXSspIChbQS1aXXszfSkkLztcbiAgICBjb25zdCBjdXJyZW5jeVBhcnRzID0gZmllbGQudmFsdWU/LnRyaW0oKS5tYXRjaChhbW91bnRBbmRDdXJyZW5jeSk7XG5cbiAgICBpZiAoY3VycmVuY3lQYXJ0cykge1xuICAgICAgY29uc3QgYW1vdW50UG9zaXRpb24gPSAxO1xuICAgICAgY29uc3QgY3VycmVuY3lQb3NpdGlvbiA9IDI7XG4gICAgICBmaWVsZC5hbW91bnQgPSBOdW1iZXIoY3VycmVuY3lQYXJ0c1thbW91bnRQb3NpdGlvbl0pO1xuICAgICAgZmllbGQuY3VycmVuY3kgPSBjdXJyZW5jeVBhcnRzW2N1cnJlbmN5UG9zaXRpb25dO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FydEl0ZW1zKFxuICAgIHB1cmNoYXNlOiBYcHNQdXJjaGFzZSB8IG51bGwsXG4gICAgc3VtbWFyeUZpbmFuY2U6IFhwc0ZpbmFuY2UgfCBudWxsXG4gICk6IENhcnRJdGVtW10gfCBudWxsIHtcbiAgICBpZiAoIXB1cmNoYXNlKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBmaW5hbmNlRGV0YWlscyA9XG4gICAgICB0aGlzLnN1bW1hckZpbmFuY2VEZXRhaWxzQWRhcHRlclNlcnZpY2UuZ2V0RmluYW5jZURldGFpbHMoe1xuICAgICAgICBwdXJjaGFzZSxcbiAgICAgICAgZmluYW5jZTogc3VtbWFyeUZpbmFuY2UsXG4gICAgICB9KTtcblxuICAgIHJldHVybiBmaW5hbmNlRGV0YWlscy5jYXJ0SXRlbXM7XG4gIH1cblxuICBwcml2YXRlIGNvbnZlcnRTdGF0dXNGaW5hbmNlVG9TdW1tYXJ5RmluYW5jZShcbiAgICBwdXJjaGFzZTogWHBzUHVyY2hhc2UgfCBudWxsLFxuICAgIG9yZGVyOiBTdGF0dXNPcmRlciB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IFhwc0ZpbmFuY2UgfCBudWxsIHtcbiAgICBpZiAoIW9yZGVyIHx8ICFwdXJjaGFzZT8uY2hlY2tvdXRfaXRlbXM/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgZmluYW5jZSA9IHtcbiAgICAgIHBheW1lbnRfY291bnRyeToge1xuICAgICAgICBpc286IGNvdW50cnksXG4gICAgICB9LFxuICAgIH0gYXMgWHBzRmluYW5jZTtcblxuICAgIGNvbnN0IGZpcnN0Q2hlY2tvdXRJdGVtID0gcHVyY2hhc2U/LmNoZWNrb3V0X2l0ZW1zWzBdO1xuICAgIGNvbnN0IGZpcnN0Q2hlY2tvdXRJdGVtQW1vdW50ID0gZmlyc3RDaGVja291dEl0ZW0/LmFtb3VudCA/PyAwO1xuICAgIGNvbnN0IG9uZUh1bmRyZWRQZXJjZW50ID0gMTAwO1xuICAgIGNvbnN0IHRheEFtb3VudCA9XG4gICAgICAoZmlyc3RDaGVja291dEl0ZW1BbW91bnQgKiBmaXJzdENoZWNrb3V0SXRlbT8uaW5kaXJlY3RfdGF4X3JhdGUpIC9cbiAgICAgIG9uZUh1bmRyZWRQZXJjZW50O1xuXG4gICAgaWYgKG9yZGVyLmNvbnRhaW5lZF90YXhlcz8uc2FsZXNfdGF4KSB7XG4gICAgICBmaW5hbmNlLnNhbGVzX3RheCA9IHtcbiAgICAgICAgYW1vdW50OiB0YXhBbW91bnQsXG4gICAgICAgIHBlcmNlbnQ6IGZpcnN0Q2hlY2tvdXRJdGVtPy5pbmRpcmVjdF90YXhfcmF0ZSxcbiAgICAgICAgY3VycmVuY3k6IHB1cmNoYXNlPy5jaGVja291dD8uY3VycmVuY3kgPz8gJycsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChvcmRlci5jb250YWluZWRfdGF4ZXM/LnVzZXJfdmF0KSB7XG4gICAgICBmaW5hbmNlLnZhdCA9IHtcbiAgICAgICAgYW1vdW50OiB0YXhBbW91bnQsXG4gICAgICAgIHBlcmNlbnQ6IGZpcnN0Q2hlY2tvdXRJdGVtPy5pbmRpcmVjdF90YXhfcmF0ZSxcbiAgICAgICAgY3VycmVuY3k6IHB1cmNoYXNlPy5jaGVja291dD8uY3VycmVuY3kgPz8gJycsXG4gICAgICAgIHZpc2libGU6IHRydWUsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBmaW5hbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYXJ0U3VtbWFyeShcbiAgICBzdGF0dXM6IFN0YXR1cyxcbiAgICBmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3ksXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IENhcnRTdW1tYXJ5IHtcbiAgICBjb25zdCBjYXJ0OiBDYXJ0U3VtbWFyeSA9IHtcbiAgICAgIHRvdGFsOiB0aGlzLmdldFRvdGFsKGZpbmFuY2VJbmZvKSxcbiAgICAgIHRvdGFsRGV0YWlsczogdGhpcy5nZXRUb3RhbERldGFpbHMoZmluYW5jZUluZm8sIGNvdW50cnkpLFxuICAgICAgc3VidG90YWxEZXRhaWxzOiBbXG4gICAgICAgIC4uLnRoaXMuZ2V0U3VidG90YWxEZXRhaWxzKGZpbmFuY2VJbmZvKSxcbiAgICAgICAgLi4udGhpcy5nZXRUYXhlc0ZvclN1YnRvdGFsRGV0YWlscyhmaW5hbmNlSW5mbywgY291bnRyeSksXG4gICAgICBdLFxuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzOiB0aGlzLmdldFRyYW5zYWN0aW9uRGV0YWlscyhzdGF0dXMsIGZpbmFuY2VJbmZvKSxcbiAgICAgIHN1YnRvdGFsOiB0aGlzLmdldEluaXRpYWxDdXJyZW5jeVN1YnRvdGFsKGZpbmFuY2VJbmZvKSA/PyBudWxsLFxuICAgICAgc3VidG90YWxQYXltZW50OiB0aGlzLmdldFN1YnRvdGFsUGF5bWVudChmaW5hbmNlSW5mbykgPz8gbnVsbCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNhcnQ7XG4gIH1cblxuICBwcml2YXRlIGdldFRvdGFsKGZpbmFuY2VJbmZvOiBGaW5hbmNlSW5mb1dpdGhBbW91bnRBbmRDdXJyZW5jeSk6IENhcnRMaW5lIHtcbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICdUb3RhbCcsXG4gICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koXG4gICAgICAgIGZpbmFuY2VJbmZvLnN1bSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeVxuICAgICAgKSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdWJ0b3RhbFBheW1lbnQoXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lIHwgbnVsbCB7XG4gICAgaWYgKCFmaW5hbmNlSW5mbz8uc3VidG90YWwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogJ1N1YnRvdGFsJyxcbiAgICAgIG1vbmV5OiBleHRyYWN0TW9uZXlDdXJyZW5jeShcbiAgICAgICAgZmluYW5jZUluZm8uc3VidG90YWwgYXMgRmllbGRXaXRoQW1vdW50QW5kQ3VycmVuY3lcbiAgICAgICksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5pdGlhbEN1cnJlbmN5U3VidG90YWwoXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lIHwgbnVsbCB7XG4gICAgaWYgKCFmaW5hbmNlSW5mbz8uc3VidG90YWxTdW1tYXJ5QmVmb3JlQ29udmVyc2lvbikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdGl0bGU6ICcnLFxuICAgICAgICBtb25leTogZXh0cmFjdE1vbmV5Q3VycmVuY3koZmluYW5jZUluZm8uc3VidG90YWwpLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGl0bGU6ICcnLFxuICAgICAgbW9uZXk6IGV4dHJhY3RNb25leUN1cnJlbmN5KGZpbmFuY2VJbmZvLnN1YnRvdGFsU3VtbWFyeUJlZm9yZUNvbnZlcnNpb24pLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldFRvdGFsRGV0YWlscyhcbiAgICBmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3ksXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRvdGFsRGV0YWlsczogQ2FydExpbmVbXSA9IFtdO1xuXG4gICAgY29uc3Qgc2FsZXNUYXhDb21taXNzaW9uRmllbGQgPSBmaW5hbmNlSW5mb1tcbiAgICAgICdzYWxlc1RheENvbW1pc3Npb24nXG4gICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICBpZiAoc2FsZXNUYXhDb21taXNzaW9uRmllbGQpIHtcbiAgICAgIHRvdGFsRGV0YWlscy5wdXNoKHtcbiAgICAgICAgdGl0bGU6IHNhbGVzVGF4Q29tbWlzc2lvbkZpZWxkLnByZWYsXG4gICAgICAgIG1vbmV5OiB7XG4gICAgICAgICAgYW1vdW50OiBzYWxlc1RheENvbW1pc3Npb25GaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogc2FsZXNUYXhDb21taXNzaW9uRmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBjb21taXNzaW9uVXNlclZhdFByY0ZpZWxkID0gZmluYW5jZUluZm9bXG4gICAgICAnY29tbWlzc2lvblVzZXJWYXRQcmMnXG4gICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcblxuICAgIGlmIChjb21taXNzaW9uVXNlclZhdFByY0ZpZWxkPy5wcmVmKSB7XG4gICAgICBjb25zdCBwZXJjZW50cyA9IHRoaXMuZ2V0UGVyY2VudHMoY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5wcmVmKTtcblxuICAgICAgdG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6IHRoaXMuZ2V0VmF0SW5jbHVkaW5nS2V5RGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIHRpdGxlOiB0aGlzLmdlVmF0SW5jbHVkaW5nVGl0bGVEZXRhaWxzKHBlcmNlbnRzLCBjb3VudHJ5KSxcbiAgICAgICAgcGVyY2VudHM6IHBlcmNlbnRzLFxuICAgICAgICBtb25leToge1xuICAgICAgICAgIGFtb3VudDogY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogY29tbWlzc2lvblVzZXJWYXRQcmNGaWVsZC5jdXJyZW5jeSA/PyAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdG90YWxEZXRhaWxzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdWJ0b3RhbERldGFpbHMoXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcgPSBbXG4gICAgICB7XG4gICAgICAgIGtleTogJ2Rpc2NvdW50JyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdkaXNjb3VudCcsXG4gICAgICAgIHRpdGxlOiAnRGlzY291bnQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAnZmVlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICdwYXltZW50U3lzdGVtRmVlJyxcbiAgICAgICAgdGl0bGU6ICdQYXltZW50IHN5c3RlbSBmZWUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiAndXNlci1iYWxhbmNlJyxcbiAgICAgICAgcmVzcG9uc2VLZXk6ICd1c2VyV2FsbGV0JyxcbiAgICAgICAgdGl0bGU6ICdCYWxhbmNlJyxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHJlZGVlbWVkUG9pbnRzID0gZmluYW5jZUluZm9bJ3JlZGVlbWVkUG9pbnRzJ107XG5cbiAgICBpZiAocmVkZWVtZWRQb2ludHM/LnByZWYpIHtcbiAgICAgIHN1YnRvdGFsRGV0YWlsc1NvcnRpbmcucHVzaCh7XG4gICAgICAgIGtleTogJ3JlZGVlbS1wb2ludHMnLFxuICAgICAgICByZXNwb25zZUtleTogJ3JlZGVlbWVkUG9pbnRzJyxcbiAgICAgICAgdGl0bGU6IHJlZGVlbWVkUG9pbnRzLnByZWYsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3VidG90YWxEZXRhaWxzU29ydGluZy5yZWR1Y2UoXG4gICAgICAoXG4gICAgICAgIHN1YlRvdGFsRGV0YWlsczogQ2FydExpbmVbXSxcbiAgICAgICAgc29ydGluZzogeyByZXNwb25zZUtleTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH1cbiAgICAgICkgPT4ge1xuICAgICAgICBjb25zdCBmaWVsZCA9IGZpbmFuY2VJbmZvW1xuICAgICAgICAgIHNvcnRpbmcucmVzcG9uc2VLZXlcbiAgICAgICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgc3ViVG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICAgICAgdGl0bGU6IHNvcnRpbmcudGl0bGUsXG4gICAgICAgICAgICBtb25leToge1xuICAgICAgICAgICAgICBhbW91bnQ6IGZpZWxkLmFtb3VudCA/PyBudWxsLFxuICAgICAgICAgICAgICBjdXJyZW5jeTogZmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdWJUb3RhbERldGFpbHM7XG4gICAgICB9LFxuICAgICAgW11cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYXhlc0ZvclN1YnRvdGFsRGV0YWlscyhcbiAgICBmaW5hbmNlSW5mbzogRmluYW5jZUluZm9XaXRoQW1vdW50QW5kQ3VycmVuY3ksXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRheGVzRm9yU3VidG90YWxEZXRhaWxzOiBDYXJ0TGluZVtdID0gW107XG4gICAgY29uc3QgdmF0VXNlck5vdEluY2x1ZGVkRmllbGQgPSBmaW5hbmNlSW5mb1tcbiAgICAgICd2YXRVc2VyTm90SW5jbHVkZWQnXG4gICAgXSBhcyBGaWVsZFdpdGhBbW91bnRBbmRDdXJyZW5jeTtcbiAgICBpZiAodmF0VXNlck5vdEluY2x1ZGVkRmllbGQ/LnByZWYpIHtcbiAgICAgIGNvbnN0IHBlcmNlbnRzID0gdGhpcy5nZXRQZXJjZW50cyh2YXRVc2VyTm90SW5jbHVkZWRGaWVsZC5wcmVmKTtcbiAgICAgIHRheGVzRm9yU3VidG90YWxEZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6IHRoaXMuZ2V0VmF0Tm90SW5jbHVkaW5nS2V5RGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIHRpdGxlOiB0aGlzLmdldFZhdE5vdEluY2x1ZGluZ1RpdGxlRGV0YWlscyhwZXJjZW50cywgY291bnRyeSksXG4gICAgICAgIG1vbmV5OiB7XG4gICAgICAgICAgYW1vdW50OiB2YXRVc2VyTm90SW5jbHVkZWRGaWVsZC5hbW91bnQgPz8gbnVsbCxcbiAgICAgICAgICBjdXJyZW5jeTogdmF0VXNlck5vdEluY2x1ZGVkRmllbGQuY3VycmVuY3kgPz8gJycsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGF4ZXNGb3JTdWJ0b3RhbERldGFpbHM7XG4gIH1cblxuICBwcml2YXRlIGdldFZhdE5vdEluY2x1ZGluZ0tleURldGFpbHMoXG4gICAgcGVyY2VudHM6IHN0cmluZyB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuIHBlcmNlbnRzID8gVmF0RGV0YWlsc0tleS52YXRJbmRpYVBlcmNlbnQgOiBWYXREZXRhaWxzS2V5LnZhdEluZGlhO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiBWYXREZXRhaWxzS2V5LnZhdEdoYW5hO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50cyA/IFZhdERldGFpbHNLZXkudmF0UGVyY2VudCA6IFZhdERldGFpbHNLZXkudmF0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXROb3RJbmNsdWRpbmdUaXRsZURldGFpbHMoXG4gICAgcGVyY2VudHM6IHN0cmluZyB8IG51bGwsXG4gICAgY291bnRyeTogc3RyaW5nXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNJbmRpYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuIHBlcmNlbnRzID8gYEdTVCAke3BlcmNlbnRzfSVgIDogJ0dTVCc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNHaGFuYShjb3VudHJ5KSkge1xuICAgICAgcmV0dXJuICdWQVQsIE5ISUwsIEdFVEZ1bmQgTGV2eSwgYW5kIENvdmlkLTE5IExldnknO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50cyA/IGBWQVQgJHtwZXJjZW50c30lYCA6ICdWQVQnO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYXRJbmNsdWRpbmdLZXlEZXRhaWxzKFxuICAgIHBlcmNlbnRzOiBzdHJpbmcgfCBudWxsLFxuICAgIGNvdW50cnk6IHN0cmluZ1xuICApOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmlzSW5kaWEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiBwZXJjZW50c1xuICAgICAgICA/IFZhdERldGFpbHNLZXkudmF0SW5kaWFQZXJjZW50SW5jbHVkaW5nXG4gICAgICAgIDogVmF0RGV0YWlsc0tleS52YXRJbmRpYUluY2x1ZGluZztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0doYW5hKGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4gVmF0RGV0YWlsc0tleS52YXRHaGFuYUluY2x1ZGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gcGVyY2VudHNcbiAgICAgID8gVmF0RGV0YWlsc0tleS52YXRQZXJjZW50SW5jbHVkaW5nXG4gICAgICA6IFZhdERldGFpbHNLZXkudmF0SW5jbHVkaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSBnZVZhdEluY2x1ZGluZ1RpdGxlRGV0YWlscyhcbiAgICBwZXJjZW50czogc3RyaW5nIHwgbnVsbCxcbiAgICBjb3VudHJ5OiBzdHJpbmdcbiAgKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0luZGlhKGNvdW50cnkpKSB7XG4gICAgICByZXR1cm4gcGVyY2VudHMgPyBgSW5jbHVkaW5nICR7cGVyY2VudHN9JSBHU1RgIDogJ0luY2x1ZGluZyBHU1QnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlzR2hhbmEoY291bnRyeSkpIHtcbiAgICAgIHJldHVybiAnSW5jbHVkaW5nIFZBVCwgTkhJTCwgR0VURnVuZCBMZXZ5LCBhbmQgQ292aWQtMTkgTGV2eSc7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBlcmNlbnRzID8gYEluY2x1ZGluZyAke3BlcmNlbnRzfSUgVkFUYCA6IGBJbmNsdWRpbmcgVkFUYDtcbiAgfVxuXG4gIHByaXZhdGUgaXNHaGFuYShjb3VudHJ5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gY291bnRyeSA9PT0gQ291bnRyeUlzb0NvZGUuR2hhbmE7XG4gIH1cblxuICBwcml2YXRlIGlzSW5kaWEoY291bnRyeTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNvdW50cnkgPT09IENvdW50cnlJc29Db2RlLkluZGlhO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUcmFuc2FjdGlvbkRldGFpbHMoXG4gICAgc3RhdHVzOiBTdGF0dXMsXG4gICAgZmluYW5jZUluZm86IEZpbmFuY2VJbmZvV2l0aEFtb3VudEFuZEN1cnJlbmN5XG4gICk6IENhcnRMaW5lW10ge1xuICAgIGNvbnN0IHRyYW5zYWN0aW9uRGV0YWlsczogQ2FydExpbmVbXSA9IFtdO1xuICAgIGlmIChmaW5hbmNlSW5mby5pbnZvaWNlPy52YWx1ZSkge1xuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6ICdpbnZvaWNlJyxcbiAgICAgICAgdGl0bGU6ICdUcmFuc2FjdGlvbicsXG4gICAgICAgIGNvbnRlbnQ6IGZpbmFuY2VJbmZvLmludm9pY2UudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBpc0NvbXBsZXRlZCA9XG4gICAgICBzdGF0dXMuaXNDYW5jZWxVc2VyIHx8XG4gICAgICAoc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLnByb2Nlc3NpbmcgJiZcbiAgICAgICAgc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLmNyZWF0ZWQgJiZcbiAgICAgICAgc3RhdHVzLnN0YXR1c1N0YXRlICE9PSBTdGF0dXNFbnVtLmhlbGQpO1xuICAgIGlmIChpc0NvbXBsZXRlZCAmJiBmaW5hbmNlSW5mby50aW1lPy52YWx1ZSkge1xuICAgICAgdHJhbnNhY3Rpb25EZXRhaWxzLnB1c2goe1xuICAgICAgICBrZXk6ICd0aW1lJyxcbiAgICAgICAgdGl0bGU6ICdEYXRlJyxcbiAgICAgICAgY29udGVudDogZmluYW5jZUluZm8udGltZS52YWx1ZSxcbiAgICAgICAgaXNEYXRlTGluZTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdHJhbnNhY3Rpb25EZXRhaWxzO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRQZXJjZW50cyh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgY29uc3QgcGVyY2VudHNUZW1wbGF0ZSA9IC8oXFxkKyguXFxkKyk/KS87XG4gICAgY29uc3QgcGVyY2VudHNNYXRjaFJlc3VsdCA9IHBlcmNlbnRzVGVtcGxhdGUuZXhlYyh2YWx1ZSk7XG5cbiAgICBpZiAoIXBlcmNlbnRzTWF0Y2hSZXN1bHQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHJldHVybiBwZXJjZW50c01hdGNoUmVzdWx0WzBdO1xuICB9XG59XG4iXX0=
@@ -4943,7 +4943,10 @@ class StatusFinanceDetailsAdapterService {
4943
4943
  }
4944
4944
  getInitialCurrencySubtotal(financeInfo) {
4945
4945
  if (!financeInfo?.subtotalSummaryBeforeConversion) {
4946
- return null;
4946
+ return {
4947
+ title: '',
4948
+ money: extractMoneyCurrency(financeInfo.subtotal),
4949
+ };
4947
4950
  }
4948
4951
  return {
4949
4952
  title: '',
@@ -4968,6 +4971,7 @@ class StatusFinanceDetailsAdapterService {
4968
4971
  totalDetails.push({
4969
4972
  key: this.getVatIncludingKeyDetails(percents, country),
4970
4973
  title: this.geVatIncludingTitleDetails(percents, country),
4974
+ percents: percents,
4971
4975
  money: {
4972
4976
  amount: commissionUserVatPrcField.amount ?? null,
4973
4977
  currency: commissionUserVatPrcField.currency ?? '',