@pepperi-addons/ngx-lib 0.4.0-angular14.15 → 0.4.0-angular14.18

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.
@@ -8,15 +8,16 @@ export declare class PepUtilitiesService {
8
8
  private getDecimalSeparator;
9
9
  private parseMs;
10
10
  private addZero;
11
+ private isCurrencyShouldBeOnRight;
11
12
  parseDate(dateStr: string, showTime?: boolean): Date;
12
13
  stringifyDate(date: Date, showTime?: boolean): string;
13
14
  isValueHtml(value: string): boolean;
14
15
  isJsonString(str: string): boolean;
15
16
  getSvgElementFromString(document: any, svgContent: string): SVGElement;
16
- formatPercent(value: any, digitsInfo?: string): string;
17
- formatCurrency(value: any, currencySign?: string, digitsInfo?: string): string;
18
- formatDecimal(value: any, digitsInfo?: string): string;
19
- formatNumber(value: any, digitsInfo?: string): string;
17
+ formatPercent(value: any): string;
18
+ formatCurrency(value: any, currencySign?: string): string;
19
+ formatDecimal(value: any): string;
20
+ formatNumber(value: any): string;
20
21
  /**
21
22
  * Convert a number in milliseconds to a standard duration string.
22
23
  * @param {number} value - duration in milliseconds
@@ -1,5 +1,4 @@
1
1
  import { coerceNumberProperty, _isNumberValue } from '@angular/cdk/coercion';
2
- import { formatCurrency, formatNumber, formatPercent } from '@angular/common';
3
2
  import { Injectable, Optional } from '@angular/core';
4
3
  import * as i0 from "@angular/core";
5
4
  import * as i1 from "@ngx-translate/core";
@@ -8,10 +7,9 @@ export class PepUtilitiesService {
8
7
  this.translate = translate;
9
8
  this.culture = 'en-US';
10
9
  this.culture = this.translate?.getBrowserCultureLang() || 'en-US';
11
- try {
12
- import(`@angular/common/locales/global/${this.culture}`);
13
- }
14
- catch { }
10
+ // try {
11
+ // import(`@angular/common/locales/global/${this.culture}`);
12
+ // } catch {}
15
13
  }
16
14
  changeDecimalSeperator(value, reverse = false) {
17
15
  // If the decimal separator is ','
@@ -52,6 +50,19 @@ export class PepUtilitiesService {
52
50
  str = new Array(size).join('0').concat(str);
53
51
  return str;
54
52
  }
53
+ isCurrencyShouldBeOnRight(currencySymbol) {
54
+ let res = false;
55
+ if (currencySymbol == "€" ||
56
+ currencySymbol == "₪" ||
57
+ currencySymbol == "Ft" ||
58
+ currencySymbol == "Kč" ||
59
+ currencySymbol == "руб" ||
60
+ currencySymbol == "zł" ||
61
+ currencySymbol == "kr.") {
62
+ res = true;
63
+ }
64
+ return res;
65
+ }
55
66
  parseDate(dateStr, showTime = false) {
56
67
  let retVal = null;
57
68
  if (dateStr !== '') {
@@ -117,61 +128,68 @@ export class PepUtilitiesService {
117
128
  return (div.querySelector('svg') ||
118
129
  document.createElementNS('http://www.w3.org/2000/svg', 'path'));
119
130
  }
120
- formatPercent(value, digitsInfo = '1.0-2') {
131
+ // formatPercent(value: any, digitsInfo = '1.0-2') {
132
+ formatPercent(value) {
121
133
  const number = this.coerceNumberProperty(value);
122
134
  if (number === 0) {
123
135
  return '0%';
124
136
  }
125
137
  else {
126
- return formatPercent(number / 100, this.culture, digitsInfo);
127
- // return new Intl.NumberFormat(this.culture, {
128
- // style: 'percent',
129
- // minimumFractionDigits: 0,
130
- // maximumFractionDigits: 2,
131
- // }).format(number / 100);
138
+ // return formatPercent(number / 100, this.culture, digitsInfo);
139
+ return new Intl.NumberFormat(this.culture, {
140
+ style: 'percent',
141
+ minimumFractionDigits: 0,
142
+ maximumFractionDigits: 2,
143
+ }).format(number / 100);
132
144
  }
133
145
  }
134
- formatCurrency(value, currencySign = '', digitsInfo = '1.2-2') {
146
+ // formatCurrency(value: any, currencySign = '', digitsInfo = '1.2-2') {
147
+ formatCurrency(value, currencySign = '') {
148
+ let res = '';
135
149
  const number = this.coerceNumberProperty(value);
136
- // const styleOptions = {
137
- // style: 'currency',
138
- // currencySign: currencySign,
139
- // minimumFractionDigits: 0,
140
- // maximumFractionDigits: 2,
141
- // };
150
+ const styleOptions = {
151
+ // style: 'currency',
152
+ // currencySign: currencySign,
153
+ minimumFractionDigits: 0,
154
+ maximumFractionDigits: 2,
155
+ };
142
156
  if (number === 0) {
143
- return formatCurrency(0, this.culture, currencySign, undefined, digitsInfo);
144
- // return new Intl.NumberFormat(this.culture, styleOptions).format(0);
157
+ // return formatCurrency(0, this.culture, currencySign, undefined, digitsInfo);
158
+ res = new Intl.NumberFormat(this.culture, styleOptions).format(0);
145
159
  }
146
160
  else {
147
- return formatCurrency(value, this.culture, currencySign, undefined, digitsInfo);
148
- // return new Intl.NumberFormat(this.culture, styleOptions).format(number);
161
+ // return formatCurrency(value, this.culture, currencySign, undefined, digitsInfo);
162
+ res = new Intl.NumberFormat(this.culture, styleOptions).format(number);
149
163
  }
164
+ res = this.isCurrencyShouldBeOnRight(currencySign) ? `${res} ${currencySign}` : `${currencySign} ${res}`;
165
+ return res;
150
166
  }
151
- formatDecimal(value, digitsInfo = '1.2-2') {
167
+ // formatDecimal(value: any, digitsInfo = '1.2-2') {
168
+ formatDecimal(value) {
152
169
  const number = this.coerceNumberProperty(value);
153
170
  if (number === 0) {
154
171
  return '0';
155
172
  }
156
173
  else {
157
- return formatNumber(value, this.culture, digitsInfo);
158
- // return new Intl.NumberFormat(this.culture, {
159
- // minimumFractionDigits: 2,
160
- // maximumFractionDigits: 2,
161
- // }).format(number)
174
+ // return formatNumber(value, this.culture, digitsInfo);
175
+ return new Intl.NumberFormat(this.culture, {
176
+ minimumFractionDigits: 2,
177
+ maximumFractionDigits: 2,
178
+ }).format(number);
162
179
  }
163
180
  }
164
- formatNumber(value, digitsInfo = '1.0-0') {
181
+ // formatNumber(value: any, digitsInfo = '1.0-0'): string {
182
+ formatNumber(value) {
165
183
  const number = this.coerceNumberProperty(value);
166
184
  if (number === 0) {
167
185
  return '0';
168
186
  }
169
187
  else {
170
- return formatNumber(value, this.culture, digitsInfo);
171
- // return new Intl.NumberFormat(this.culture, {
172
- // minimumFractionDigits: 0,
173
- // maximumFractionDigits: 0,
174
- // }).format(number)
188
+ // return formatNumber(value, this.culture, digitsInfo);
189
+ return new Intl.NumberFormat(this.culture, {
190
+ minimumFractionDigits: 0,
191
+ maximumFractionDigits: 0,
192
+ }).format(number);
175
193
  }
176
194
  }
177
195
  /**
@@ -232,4 +250,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
232
250
  }], ctorParameters: function () { return [{ type: i1.TranslateService, decorators: [{
233
251
  type: Optional
234
252
  }] }]; } });
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NyYy9jb3JlL2NvbW1vbi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU1yRCxNQUFNLE9BQU8sbUJBQW1CO0lBRzVCLFlBQWdDLFlBQThCLElBQUk7UUFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFGMUQsWUFBTyxHQUFHLE9BQU8sQ0FBQztRQUd0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxPQUFPLENBQUM7UUFFbEUsSUFBSTtZQUNBLE1BQU0sQ0FBQyxrQ0FBa0MsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7U0FDNUQ7UUFBQyxNQUFNLEdBQUU7SUFDZCxDQUFDO0lBRU8sc0JBQXNCLENBQUMsS0FBYSxFQUFFLE9BQU8sR0FBRyxLQUFLO1FBQ3pELGtDQUFrQztRQUNsQyxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLEdBQUcsRUFBRTtZQUNwQyxxRUFBcUU7WUFDckUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FB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QkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUzQyxPQUFPLG9CQUFvQixDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQztJQUN0RCxDQUFDOztnSEF4UVEsbUJBQW1CO29IQUFuQixtQkFBbUIsY0FGaEIsTUFBTTsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzswQkFJZ0IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5LCBfaXNOdW1iZXJWYWx1ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBmb3JtYXRDdXJyZW5jeSwgZm9ybWF0TnVtYmVyLCBmb3JtYXRQZXJjZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFBlcFV0aWxpdGllc1NlcnZpY2Uge1xuICAgIHByaXZhdGUgY3VsdHVyZSA9ICdlbi1VUyc7XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSA9IG51bGwpIHtcbiAgICAgICAgdGhpcy5jdWx0dXJlID0gdGhpcy50cmFuc2xhdGU/LmdldEJyb3dzZXJDdWx0dXJlTGFuZygpIHx8ICdlbi1VUyc7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGltcG9ydChgQGFuZ3VsYXIvY29tbW9uL2xvY2FsZXMvZ2xvYmFsLyR7dGhpcy5jdWx0dXJlfWApO1xuICAgICAgICB9IGNhdGNoIHt9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZWNpbWFsU2VwZXJhdG9yKHZhbHVlOiBzdHJpbmcsIHJldmVyc2UgPSBmYWxzZSk6IHN0cmluZyB7XG4gICAgICAgIC8vIElmIHRoZSBkZWNpbWFsIHNlcGFyYXRvciBpcyAnLCdcbiAgICAgICAgaWYgKHRoaXMuZ2V0RGVjaW1hbFNlcGFyYXRvcigpID09PSAnLCcpIHtcbiAgICAgICAgICAgIC8vIElmIHJldmVyc2UgY2hhbmdlIHRoZSBudW1iZXIgZnJvbSAnLicgdG8gJywnIGVsc2UgZG8gdGhlIG9wcG9zaXRlLlxuICAgICAgICAgICAgdmFsdWUgPSByZXZlcnNlID8gdmFsdWUucmVwbGFjZSgnLicsICcsJykgOiB2YWx1ZS5yZXBsYWNlKCcsJywgJy4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERlY2ltYWxTZXBhcmF0b3IoKSB7XG4gICAgICAgIGNvbnN0IG51bWJlcldpdGhEZWNpbWFsU2VwYXJhdG9yID0gMS4xO1xuXG4gICAgICAgIHJldHVybiBudW1iZXJXaXRoRGVjaW1hbFNlcGFyYXRvclxuICAgICAgICAgICAgLnRvTG9jYWxlU3RyaW5nKHRoaXMuY3VsdHVyZSlcbiAgICAgICAgICAgIC5zdWJzdHJpbmcoMSwgMik7XG4gICAgfVxuXG4gICAgLy8gYWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvcGFyc2UtbXMuXG4gICAgLy8gbW92ZWQgdG8gaW50ZXJuYWwgZnVuY3Rpb24gYmVjYXVzZSBwYXJzZS1tcyBpcyBub3cgcHVyZSBFU00uXG4gICAgcHJpdmF0ZSBwYXJzZU1zKG1pbGxpc2Vjb25kczogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0eXBlb2YgbWlsbGlzZWNvbmRzICE9PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgYSBudW1iZXInKVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXlzOiBNYXRoLnRydW5jKG1pbGxpc2Vjb25kcyAvIDg2NDAwMDAwKSxcbiAgICAgICAgICAgIGhvdXJzOiBNYXRoLnRydW5jKG1pbGxpc2Vjb25kcyAvIDM2MDAwMDApICUgMjQsXG4gICAgICAgICAgICBtaW51dGVzOiBNYXRoLnRydW5jKG1pbGxpc2Vjb25kcyAvIDYwMDAwKSAlIDYwLFxuICAgICAgICAgICAgc2Vjb25kczogTWF0aC50cnVuYyhtaWxsaXNlY29uZHMgLyAxMDAwKSAlIDYwLFxuICAgICAgICAgICAgbWlsbGlzZWNvbmRzOiBNYXRoLnRydW5jKG1pbGxpc2Vjb25kcykgJSAxMDAwXG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLy8gYWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9yYWZhZWxyaW5hbGRpL2FkZC16ZXJvLlxuICAgIC8vIG1vdmVkIHRvIGludGVybmFsIGZ1bmN0aW9uIGIvYyBhZGRaZXJvIGlzIHVubWFpbnRhaW5lZCAoNysgeWVhcnMpLlxuICAgIC8vIHN0cmlwcGVkIG91dCBuZWdhdGl2ZSBzaWduIGxvZ2ljIHNpbmNlIHdlJ3JlIGFscmVhZHkgZG9pbmcgaXQgZWxzZXdoZXJlLlxuICAgIHByaXZhdGUgYWRkWmVybyh2YWx1ZTogbnVtYmVyLCBkaWdpdHMgPSAyKSB7XG4gICAgICAgIGRpZ2l0cyA9IGRpZ2l0cyB8fCAyXG4gICAgXG4gICAgICAgIGxldCBzdHIgPSB2YWx1ZS50b1N0cmluZygpXG4gICAgICAgIGxldCBzaXplID0gMFxuICAgIFxuICAgICAgICBzaXplID0gZGlnaXRzIC0gc3RyLmxlbmd0aCArIDFcbiAgICAgICAgc3RyID0gbmV3IEFycmF5KHNpemUpLmpvaW4oJzAnKS5jb25jYXQoc3RyKVxuICAgIFxuICAgICAgICByZXR1cm4gc3RyXG4gICAgfVxuICAgIFxuICAgIHBhcnNlRGF0ZShkYXRlU3RyOiBzdHJpbmcsIHNob3dUaW1lID0gZmFsc2UpOiBEYXRlIHtcbiAgICAgICAgbGV0IHJldFZhbDogRGF0ZSA9IG51bGw7XG4gICAgICAgIGlmIChkYXRlU3RyICE9PSAnJykge1xuICAgICAgICAgICAgcmV0VmFsID0gbmV3IERhdGUoZGF0ZVN0cik7XG5cbiAgICAgICAgICAgIC8vIENvbnZlcnQgdG8gZGF0ZSB3aXRoIG5vIG9mZnNldC5cbiAgICAgICAgICAgIGlmICghc2hvd1RpbWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IGRhdGVTdHIuaW5kZXhPZignVCcpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBkYXRlU3RyID0gZGF0ZVN0ci5zdWJzdHJpbmcoMCwgaW5kZXgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGRhdGVUZXh0ID0gZGF0ZVN0ci5zcGxpdCgnLScpO1xuICAgICAgICAgICAgICAgIGlmIChkYXRlVGV4dC5sZW5ndGggPT09IDMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeWVhciA9IE51bWJlcihkYXRlVGV4dFswXSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1vbnRoID0gTnVtYmVyKGRhdGVUZXh0WzFdKSAtIDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRheSA9IE51bWJlcihkYXRlVGV4dFsyXSk7XG4gICAgICAgICAgICAgICAgICAgIHJldFZhbCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXksIDAsIHJldFZhbC5nZXRUaW1lem9uZU9mZnNldCgpICogLTEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0VmFsID0gbmV3IERhdGUoXG4gICAgICAgICAgICAgICAgICAgIHJldFZhbC5nZXRGdWxsWWVhcigpLCByZXRWYWwuZ2V0TW9udGgoKSwgcmV0VmFsLmdldERhdGUoKSwgcmV0VmFsLmdldEhvdXJzKCksXG4gICAgICAgICAgICAgICAgICAgIHJldFZhbC5nZXRNaW51dGVzKCkgKyByZXRWYWwuZ2V0VGltZXpvbmVPZmZzZXQoKSAqIC0xLCByZXRWYWwuZ2V0U2Vjb25kcygpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocmV0VmFsICYmIGlzTmFOKHJldFZhbC5nZXRUaW1lKCkpKSB7XG4gICAgICAgICAgICByZXRWYWwgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXRWYWw7XG4gICAgfVxuXG4gICAgc3RyaW5naWZ5RGF0ZShkYXRlOiBEYXRlLCBzaG93VGltZSA9IGZhbHNlKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIGlmIChzaG93VGltZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkYXRlLnRvSVNPU3RyaW5nKCk7IC8vIGluY2x1ZGUgLSBvZmZzZXRcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0ZVRleHQgPSBbXTtcbiAgICAgICAgICAgICAgICBkYXRlVGV4dC5wdXNoKFxuICAgICAgICAgICAgICAgICAgICBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgICAgICAgICAgICAgICctJyxcbiAgICAgICAgICAgICAgICAgICAgZGF0ZS5nZXRNb250aCgpICsgMSxcbiAgICAgICAgICAgICAgICAgICAgJy0nLFxuICAgICAgICAgICAgICAgICAgICBkYXRlLmdldERhdGUoKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGVUZXh0LmpvaW4oJycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNWYWx1ZUh0bWwodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgcmVzID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IFJFR0VYUCA9IC88XFwvP1thLXpdW1xcc1xcU10qPi9pO1xuICAgICAgICByZXMgPSBSRUdFWFAudGVzdCh2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG5cbiAgICBpc0pzb25TdHJpbmcoc3RyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIEpTT04ucGFyc2Uoc3RyKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGdldFN2Z0VsZW1lbnRGcm9tU3RyaW5nKGRvY3VtZW50LCBzdmdDb250ZW50OiBzdHJpbmcpOiBTVkdFbGVtZW50IHtcbiAgICAgICAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnRElWJyk7XG4gICAgICAgIC8vIGRpdi5jbGFzc05hbWUgPSAnc3ZnLWljb24nO1xuICAgICAgICAvLyBBZGQgY2xhc3Mgc3ZnLWljb25cbiAgICAgICAgZGl2LmlubmVySFRNTCA9IHN2Z0NvbnRlbnQucmVwbGFjZSgnPHN2ZyAnLCAnPHN2ZyBjbGFzcz1cInN2Zy1pY29uXCIgJyk7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBkaXYucXVlcnlTZWxlY3Rvcignc3ZnJykgfHxcbiAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCAncGF0aCcpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZm9ybWF0UGVyY2VudCh2YWx1ZTogYW55LCBkaWdpdHNJbmZvID0gJzEuMC0yJykge1xuICAgICAgICBjb25zdCBudW1iZXIgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcblxuICAgICAgICBpZiAobnVtYmVyID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJzAlJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRQZXJjZW50KG51bWJlciAvIDEwMCwgdGhpcy5jdWx0dXJlLCBkaWdpdHNJbmZvKTtcbiAgICAgICAgICAgIC8vIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jdWx0dXJlLCB7IFxuICAgICAgICAgICAgLy8gICAgIHN0eWxlOiAncGVyY2VudCcsXG4gICAgICAgICAgICAvLyAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxuICAgICAgICAgICAgLy8gICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICAgICAgICAgIC8vIH0pLmZvcm1hdChudW1iZXIgLyAxMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZm9ybWF0Q3VycmVuY3kodmFsdWU6IGFueSwgY3VycmVuY3lTaWduID0gJycsIGRpZ2l0c0luZm8gPSAnMS4yLTInKSB7XG4gICAgICAgIGNvbnN0IG51bWJlciA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgICAgICAvLyBjb25zdCBzdHlsZU9wdGlvbnMgPSB7IFxuICAgICAgICAvLyAgICAgc3R5bGU6ICdjdXJyZW5jeScsXG4gICAgICAgIC8vICAgICBjdXJyZW5jeVNpZ246IGN1cnJlbmN5U2lnbixcbiAgICAgICAgLy8gICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCxcbiAgICAgICAgLy8gICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICAgICAgLy8gfTtcblxuICAgICAgICBpZiAobnVtYmVyID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0Q3VycmVuY3koMCwgdGhpcy5jdWx0dXJlLCBjdXJyZW5jeVNpZ24sIHVuZGVmaW5lZCwgZGlnaXRzSW5mbyk7XG4gICAgICAgICAgICAvLyByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY3VsdHVyZSwgc3R5bGVPcHRpb25zKS5mb3JtYXQoMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0Q3VycmVuY3kodmFsdWUsIHRoaXMuY3VsdHVyZSwgY3VycmVuY3lTaWduLCB1bmRlZmluZWQsIGRpZ2l0c0luZm8pO1xuICAgICAgICAgICAgLy8gcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmN1bHR1cmUsIHN0eWxlT3B0aW9ucykuZm9ybWF0KG51bWJlcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgZm9ybWF0RGVjaW1hbCh2YWx1ZTogYW55LCBkaWdpdHNJbmZvID0gJzEuMi0yJykge1xuICAgICAgICBjb25zdCBudW1iZXIgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcblxuICAgICAgICBpZiAobnVtYmVyID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gJzAnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE51bWJlcih2YWx1ZSwgdGhpcy5jdWx0dXJlLCBkaWdpdHNJbmZvKTtcbiAgICAgICAgICAgIC8vIHJldHVybiBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jdWx0dXJlLCB7IFxuICAgICAgICAgICAgLy8gICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICAgICAgICAgIC8vICAgICBtYXhpbXVtRnJhY3Rpb25EaWdpdHM6IDIsXG4gICAgICAgICAgICAvLyB9KS5mb3JtYXQobnVtYmVyKVxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIGZvcm1hdE51bWJlcih2YWx1ZTogYW55LCBkaWdpdHNJbmZvID0gJzEuMC0wJyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG51bWJlciA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIGlmIChudW1iZXIgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnMCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0TnVtYmVyKHZhbHVlLCB0aGlzLmN1bHR1cmUsIGRpZ2l0c0luZm8pO1xuICAgICAgICAgICAgLy8gcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmN1bHR1cmUsIHsgXG4gICAgICAgICAgICAvLyAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxuICAgICAgICAgICAgLy8gICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMCxcbiAgICAgICAgICAgIC8vIH0pLmZvcm1hdChudW1iZXIpXG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLyoqXG4gICAgICogQ29udmVydCBhIG51bWJlciBpbiBtaWxsaXNlY29uZHMgdG8gYSBzdGFuZGFyZCBkdXJhdGlvbiBzdHJpbmcuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlIC0gZHVyYXRpb24gaW4gbWlsbGlzZWNvbmRzXG4gICAgICogQHBhcmFtIHtvYmplY3R9IG9wdGlvbnMgLSBmb3JtYXREdXJhdGlvbiBvcHRpb25zIG9iamVjdFxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMubGVhZGluZz1mYWxzZV0gLSBhZGQgbGVhZGluZyB6ZXJvXG4gICAgICogQHJldHVybnMgc3RyaW5nIC0gZm9ybWF0dGVkIGR1cmF0aW9uIHN0cmluZ1xuICAgICovXG4gICAgZm9ybWF0RHVyYXRpb24odmFsdWUsIG9wdGlvbnM6IHsgbGVhZGluZz86IGJvb2xlYW4sIGR1cmF0aW9uPzogJ21pbGxpc2Vjb25kcycgfCAnc2Vjb25kcycgfSA9IHt9KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgaXNOdW1iZXIgPSBfaXNOdW1iZXJWYWx1ZSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKCFpc051bWJlcikge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGV0IG51bWJlciA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgIFxuICAgICAgICAgICAgY29uc3QgbGVhZGluZyA9IG9wdGlvbnM/LmxlYWRpbmcgfHwgdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN0IGR1cmF0aW9uID0gb3B0aW9ucz8uZHVyYXRpb24gfHwgJ21pbGxpc2Vjb25kcyc7XG4gICAgICAgICAgICBpZiAoZHVyYXRpb24gPT09ICdzZWNvbmRzJykge1xuICAgICAgICAgICAgICAgIG51bWJlciA9IG51bWJlciAqIDEwMDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkTXMgPSBudW1iZXIgPCAwID8gLW51bWJlciA6IG51bWJlcjtcbiAgICAgICAgICAgIGNvbnN0IHNpZ24gPSBudW1iZXIgPD0gLTEwMDAgPyAnLScgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IHQgPSB0aGlzLnBhcnNlTXModW5zaWduZWRNcyk7XG4gICAgICAgICAgICBjb25zdCBzZWNvbmRzID0gdGhpcy5hZGRaZXJvKHQuc2Vjb25kcyk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmICh0LmRheXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2lnbiArIHQuZGF5cyArICc6JyArIHRoaXMuYWRkWmVybyh0LmhvdXJzKSArICc6JyArIHRoaXMuYWRkWmVybyh0Lm1pbnV0ZXMpICsgJzonICsgc2Vjb25kc1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodC5ob3Vycykge1xuICAgICAgICAgICAgICAgIHJldHVybiBzaWduICsgKGxlYWRpbmcgPyB0aGlzLmFkZFplcm8odC5ob3VycykgOiB0LmhvdXJzKSArICc6JyArIHRoaXMuYWRkWmVybyh0Lm1pbnV0ZXMpICsgJzonICsgc2Vjb25kc1xuICAgICAgICAgICAgfSBcblxuICAgICAgICAgICAgcmV0dXJuIHNpZ24gKyAobGVhZGluZyA/IHRoaXMuYWRkWmVybyh0Lm1pbnV0ZXMpIDogdC5taW51dGVzKSArICc6JyArIHNlY29uZHNcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluY3JlbWVudE51bWJlcih2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IG51bWJlclZhbHVlID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IG5ld051bWJlciA9IHRoaXMuY2hhbmdlRGVjaW1hbFNlcGVyYXRvcihcbiAgICAgICAgICAgICgrK251bWJlclZhbHVlKS50b1N0cmluZygpLFxuICAgICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBuZXdOdW1iZXI7XG4gICAgfVxuXG4gICAgZGVjcmVtZW50TnVtYmVyKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBsZXQgbnVtYmVyVmFsdWUgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgY29uc3QgbmV3TnVtYmVyID0gdGhpcy5jaGFuZ2VEZWNpbWFsU2VwZXJhdG9yKFxuICAgICAgICAgICAgKC0tbnVtYmVyVmFsdWUpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIG5ld051bWJlcjtcbiAgICB9XG5cbiAgICBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZTogYW55LCBmYWxsYmFja1ZhbHVlID0gMCk6IG51bWJlciB7XG4gICAgICAgIC8vIElmIHRoZSBkZWNpbWFsIHNlcGFyYXRvciBpcyAnLCcgY2hhbmdlIGl0IHRvICcuJ1xuICAgICAgICB2YWx1ZSA9IHRoaXMuY2hhbmdlRGVjaW1hbFNlcGVyYXRvcih2YWx1ZSk7XG5cbiAgICAgICAgcmV0dXJuIGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlLCBmYWxsYmFja1ZhbHVlKTtcbiAgICB9XG59XG4iXX0=
253
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NyYy9jb3JlL2NvbW1vbi9zZXJ2aWNlcy91dGlsaXRpZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU1yRCxNQUFNLE9BQU8sbUJBQW1CO0lBRzVCLFlBQWdDLFlBQThCLElBQUk7UUFBbEMsY0FBUyxHQUFULFNBQVMsQ0FBeUI7UUFGMUQsWUFBTyxHQUFHLE9BQU8sQ0FBQztRQUd0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxPQUFPLENBQUM7UUFFbEUsUUFBUTtRQUNSLGdFQUFnRTtRQUNoRSxhQUFhO0lBQ2pCLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxLQUFhLEVBQUUsT0FBTyxHQUFHLEtBQUs7UUFDekQsa0NBQWtDO1FBQ2xDLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFLEtBQUssR0FBRyxFQUFFO1lBQ3BDLHFFQUFxRTtZQUNyRSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDdkU7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFDO1FBRXZDLE9BQU8sMEJBQTBCO2FBQzVCLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQzVCLFNBQVMs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QztJQUVELGVBQWUsQ0FBQyxLQUFVO1FBQ3RCLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQ3pDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFDMUIsSUFBSSxDQUNQLENBQUM7UUFFRixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FDekMsQ0FBQyxFQUFFLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUMxQixJQUFJLENBQ1AsQ0FBQztRQUVGLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxLQUFVLEVBQUUsYUFBYSxHQUFHLENBQUM7UUFDOUMsbURBQW1EO1FBQ25ELEtBQUssR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFM0MsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDdEQsQ0FBQzs7Z0hBbFNRLG1CQUFtQjtvSEFBbkIsbUJBQW1CLGNBRmhCLE1BQU07MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBSWdCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VOdW1iZXJQcm9wZXJ0eSwgX2lzTnVtYmVyVmFsdWUgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgZm9ybWF0Q3VycmVuY3ksIGZvcm1hdE51bWJlciwgZm9ybWF0UGVyY2VudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBVdGlsaXRpZXNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGN1bHR1cmUgPSAnZW4tVVMnO1xuXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UgPSBudWxsKSB7XG4gICAgICAgIHRoaXMuY3VsdHVyZSA9IHRoaXMudHJhbnNsYXRlPy5nZXRCcm93c2VyQ3VsdHVyZUxhbmcoKSB8fCAnZW4tVVMnO1xuXG4gICAgICAgIC8vIHRyeSB7XG4gICAgICAgIC8vICAgICBpbXBvcnQoYEBhbmd1bGFyL2NvbW1vbi9sb2NhbGVzL2dsb2JhbC8ke3RoaXMuY3VsdHVyZX1gKTtcbiAgICAgICAgLy8gfSBjYXRjaCB7fVxuICAgIH1cblxuICAgIHByaXZhdGUgY2hhbmdlRGVjaW1hbFNlcGVyYXRvcih2YWx1ZTogc3RyaW5nLCByZXZlcnNlID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICAvLyBJZiB0aGUgZGVjaW1hbCBzZXBhcmF0b3IgaXMgJywnXG4gICAgICAgIGlmICh0aGlzLmdldERlY2ltYWxTZXBhcmF0b3IoKSA9PT0gJywnKSB7XG4gICAgICAgICAgICAvLyBJZiByZXZlcnNlIGNoYW5nZSB0aGUgbnVtYmVyIGZyb20gJy4nIHRvICcsJyBlbHNlIGRvIHRoZSBvcHBvc2l0ZS5cbiAgICAgICAgICAgIHZhbHVlID0gcmV2ZXJzZSA/IHZhbHVlLnJlcGxhY2UoJy4nLCAnLCcpIDogdmFsdWUucmVwbGFjZSgnLCcsICcuJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREZWNpbWFsU2VwYXJhdG9yKCkge1xuICAgICAgICBjb25zdCBudW1iZXJXaXRoRGVjaW1hbFNlcGFyYXRvciA9IDEuMTtcblxuICAgICAgICByZXR1cm4gbnVtYmVyV2l0aERlY2ltYWxTZXBhcmF0b3JcbiAgICAgICAgICAgIC50b0xvY2FsZVN0cmluZyh0aGlzLmN1bHR1cmUpXG4gICAgICAgICAgICAuc3Vic3RyaW5nKDEsIDIpO1xuICAgIH1cblxuICAgIC8vIGFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL3BhcnNlLW1zLlxuICAgIC8vIG1vdmVkIHRvIGludGVybmFsIGZ1bmN0aW9uIGJlY2F1c2UgcGFyc2UtbXMgaXMgbm93IHB1cmUgRVNNLlxuICAgIHByaXZhdGUgcGFyc2VNcyhtaWxsaXNlY29uZHM6IG51bWJlcikge1xuICAgICAgICBpZiAodHlwZW9mIG1pbGxpc2Vjb25kcyAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0V4cGVjdGVkIGEgbnVtYmVyJylcbiAgICAgICAgfVxuICAgIFxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGF5czogTWF0aC50cnVuYyhtaWxsaXNlY29uZHMgLyA4NjQwMDAwMCksXG4gICAgICAgICAgICBob3VyczogTWF0aC50cnVuYyhtaWxsaXNlY29uZHMgLyAzNjAwMDAwKSAlIDI0LFxuICAgICAgICAgICAgbWludXRlczogTWF0aC50cnVuYyhtaWxsaXNlY29uZHMgLyA2MDAwMCkgJSA2MCxcbiAgICAgICAgICAgIHNlY29uZHM6IE1hdGgudHJ1bmMobWlsbGlzZWNvbmRzIC8gMTAwMCkgJSA2MCxcbiAgICAgICAgICAgIG1pbGxpc2Vjb25kczogTWF0aC50cnVuYyhtaWxsaXNlY29uZHMpICUgMTAwMFxuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgIC8vIGFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vcmFmYWVscmluYWxkaS9hZGQtemVyby5cbiAgICAvLyBtb3ZlZCB0byBpbnRlcm5hbCBmdW5jdGlvbiBiL2MgYWRkWmVybyBpcyB1bm1haW50YWluZWQgKDcrIHllYXJzKS5cbiAgICAvLyBzdHJpcHBlZCBvdXQgbmVnYXRpdmUgc2lnbiBsb2dpYyBzaW5jZSB3ZSdyZSBhbHJlYWR5IGRvaW5nIGl0IGVsc2V3aGVyZS5cbiAgICBwcml2YXRlIGFkZFplcm8odmFsdWU6IG51bWJlciwgZGlnaXRzID0gMikge1xuICAgICAgICBkaWdpdHMgPSBkaWdpdHMgfHwgMlxuICAgIFxuICAgICAgICBsZXQgc3RyID0gdmFsdWUudG9TdHJpbmcoKVxuICAgICAgICBsZXQgc2l6ZSA9IDBcbiAgICBcbiAgICAgICAgc2l6ZSA9IGRpZ2l0cyAtIHN0ci5sZW5ndGggKyAxXG4gICAgICAgIHN0ciA9IG5ldyBBcnJheShzaXplKS5qb2luKCcwJykuY29uY2F0KHN0cilcbiAgICBcbiAgICAgICAgcmV0dXJuIHN0clxuICAgIH1cbiAgICBcbiAgICBwcml2YXRlIGlzQ3VycmVuY3lTaG91bGRCZU9uUmlnaHQoY3VycmVuY3lTeW1ib2w6IHN0cmluZykge1xuICAgICAgICBsZXQgcmVzID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKGN1cnJlbmN5U3ltYm9sID09IFwi4oKsXCIgfHxcbiAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sID09IFwi4oKqXCIgfHxcbiAgICAgICAgICAgIGN1cnJlbmN5U3ltYm9sID09IFwiRnRcIiB8fFxuICAgICAgICAgICAgY3VycmVuY3lTeW1ib2wgPT0gXCJLxI1cIiB8fFxuICAgICAgICAgICAgY3VycmVuY3lTeW1ib2wgPT0gXCLRgNGD0LFcIiB8fFxuICAgICAgICAgICAgY3VycmVuY3lTeW1ib2wgPT0gXCJ6xYJcIiB8fFxuICAgICAgICAgICAgY3VycmVuY3lTeW1ib2wgPT0gXCJrci5cIilcbiAgICAgICAge1xuICAgICAgICAgICAgcmVzID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuXG4gICAgcGFyc2VEYXRlKGRhdGVTdHI6IHN0cmluZywgc2hvd1RpbWUgPSBmYWxzZSk6IERhdGUge1xuICAgICAgICBsZXQgcmV0VmFsOiBEYXRlID0gbnVsbDtcbiAgICAgICAgaWYgKGRhdGVTdHIgIT09ICcnKSB7XG4gICAgICAgICAgICByZXRWYWwgPSBuZXcgRGF0ZShkYXRlU3RyKTtcblxuICAgICAgICAgICAgLy8gQ29udmVydCB0byBkYXRlIHdpdGggbm8gb2Zmc2V0LlxuICAgICAgICAgICAgaWYgKCFzaG93VGltZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gZGF0ZVN0ci5pbmRleE9mKCdUJyk7XG5cbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGVTdHIgPSBkYXRlU3RyLnN1YnN0cmluZygwLCBpbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgZGF0ZVRleHQgPSBkYXRlU3RyLnNwbGl0KCctJyk7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGVUZXh0Lmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB5ZWFyID0gTnVtYmVyKGRhdGVUZXh0WzBdKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbW9udGggPSBOdW1iZXIoZGF0ZVRleHRbMV0pIC0gMTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF5ID0gTnVtYmVyKGRhdGVUZXh0WzJdKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0VmFsID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSwgMCwgcmV0VmFsLmdldFRpbWV6b25lT2Zmc2V0KCkgKiAtMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXRWYWwgPSBuZXcgRGF0ZShcbiAgICAgICAgICAgICAgICAgICAgcmV0VmFsLmdldEZ1bGxZZWFyKCksIHJldFZhbC5nZXRNb250aCgpLCByZXRWYWwuZ2V0RGF0ZSgpLCByZXRWYWwuZ2V0SG91cnMoKSxcbiAgICAgICAgICAgICAgICAgICAgcmV0VmFsLmdldE1pbnV0ZXMoKSArIHJldFZhbC5nZXRUaW1lem9uZU9mZnNldCgpICogLTEsIHJldFZhbC5nZXRTZWNvbmRzKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZXRWYWwgJiYgaXNOYU4ocmV0VmFsLmdldFRpbWUoKSkpIHtcbiAgICAgICAgICAgIHJldFZhbCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJldFZhbDtcbiAgICB9XG5cbiAgICBzdHJpbmdpZnlEYXRlKGRhdGU6IERhdGUsIHNob3dUaW1lID0gZmFsc2UpOiBzdHJpbmcge1xuICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgaWYgKHNob3dUaW1lKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKTsgLy8gaW5jbHVkZSAtIG9mZnNldFxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkYXRlVGV4dCA9IFtdO1xuICAgICAgICAgICAgICAgIGRhdGVUZXh0LnB1c2goXG4gICAgICAgICAgICAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgICAgICAgICAgICAgJy0nLFxuICAgICAgICAgICAgICAgICAgICBkYXRlLmdldE1vbnRoKCkgKyAxLFxuICAgICAgICAgICAgICAgICAgICAnLScsXG4gICAgICAgICAgICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0ZVRleHQuam9pbignJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc1ZhbHVlSHRtbCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGxldCByZXMgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgUkVHRVhQID0gLzxcXC8/W2Etel1bXFxzXFxTXSo+L2k7XG4gICAgICAgIHJlcyA9IFJFR0VYUC50ZXN0KHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIGlzSnNvblN0cmluZyhzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgSlNPTi5wYXJzZShzdHIpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZ2V0U3ZnRWxlbWVudEZyb21TdHJpbmcoZG9jdW1lbnQsIHN2Z0NvbnRlbnQ6IHN0cmluZyk6IFNWR0VsZW1lbnQge1xuICAgICAgICBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdESVYnKTtcbiAgICAgICAgLy8gZGl2LmNsYXNzTmFtZSA9ICdzdmctaWNvbic7XG4gICAgICAgIC8vIEFkZCBjbGFzcyBzdmctaWNvblxuICAgICAgICBkaXYuaW5uZXJIVE1MID0gc3ZnQ29udGVudC5yZXBsYWNlKCc8c3ZnICcsICc8c3ZnIGNsYXNzPVwic3ZnLWljb25cIiAnKTtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGRpdi5xdWVyeVNlbGVjdG9yKCdzdmcnKSB8fFxuICAgICAgICAgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdwYXRoJylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBmb3JtYXRQZXJjZW50KHZhbHVlOiBhbnksIGRpZ2l0c0luZm8gPSAnMS4wLTInKSB7XG4gICAgZm9ybWF0UGVyY2VudCh2YWx1ZTogYW55KSB7XG4gICAgICAgIGNvbnN0IG51bWJlciA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuXG4gICAgICAgIGlmIChudW1iZXIgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAnMCUnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gcmV0dXJuIGZvcm1hdFBlcmNlbnQobnVtYmVyIC8gMTAwLCB0aGlzLmN1bHR1cmUsIGRpZ2l0c0luZm8pO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdCh0aGlzLmN1bHR1cmUsIHsgXG4gICAgICAgICAgICAgICAgc3R5bGU6ICdwZXJjZW50JyxcbiAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsXG4gICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyLFxuICAgICAgICAgICAgfSkuZm9ybWF0KG51bWJlciAvIDEwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBmb3JtYXRDdXJyZW5jeSh2YWx1ZTogYW55LCBjdXJyZW5jeVNpZ24gPSAnJywgZGlnaXRzSW5mbyA9ICcxLjItMicpIHtcbiAgICBmb3JtYXRDdXJyZW5jeSh2YWx1ZTogYW55LCBjdXJyZW5jeVNpZ24gPSAnJykge1xuICAgICAgICBsZXQgcmVzID0gJyc7XG4gICAgICAgIGNvbnN0IG51bWJlciA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBjb25zdCBzdHlsZU9wdGlvbnMgPSB7IFxuICAgICAgICAgICAgLy8gc3R5bGU6ICdjdXJyZW5jeScsXG4gICAgICAgICAgICAvLyBjdXJyZW5jeVNpZ246IGN1cnJlbmN5U2lnbixcbiAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCxcbiAgICAgICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAobnVtYmVyID09PSAwKSB7XG4gICAgICAgICAgICAvLyByZXR1cm4gZm9ybWF0Q3VycmVuY3koMCwgdGhpcy5jdWx0dXJlLCBjdXJyZW5jeVNpZ24sIHVuZGVmaW5lZCwgZGlnaXRzSW5mbyk7XG4gICAgICAgICAgICByZXMgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jdWx0dXJlLCBzdHlsZU9wdGlvbnMpLmZvcm1hdCgwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHJldHVybiBmb3JtYXRDdXJyZW5jeSh2YWx1ZSwgdGhpcy5jdWx0dXJlLCBjdXJyZW5jeVNpZ24sIHVuZGVmaW5lZCwgZGlnaXRzSW5mbyk7XG4gICAgICAgICAgICByZXMgPSBuZXcgSW50bC5OdW1iZXJGb3JtYXQodGhpcy5jdWx0dXJlLCBzdHlsZU9wdGlvbnMpLmZvcm1hdChudW1iZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVzID0gdGhpcy5pc0N1cnJlbmN5U2hvdWxkQmVPblJpZ2h0KGN1cnJlbmN5U2lnbikgPyBgJHtyZXN9ICR7Y3VycmVuY3lTaWdufWAgOiBgJHtjdXJyZW5jeVNpZ259ICR7cmVzfWBcbiAgICAgICAgXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIFxuICAgIC8vIGZvcm1hdERlY2ltYWwodmFsdWU6IGFueSwgZGlnaXRzSW5mbyA9ICcxLjItMicpIHtcbiAgICBmb3JtYXREZWNpbWFsKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgY29uc3QgbnVtYmVyID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKG51bWJlciA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICcwJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHJldHVybiBmb3JtYXROdW1iZXIodmFsdWUsIHRoaXMuY3VsdHVyZSwgZGlnaXRzSW5mbyk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY3VsdHVyZSwgeyBcbiAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDIsXG4gICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyLFxuICAgICAgICAgICAgfSkuZm9ybWF0KG51bWJlcilcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvLyBmb3JtYXROdW1iZXIodmFsdWU6IGFueSwgZGlnaXRzSW5mbyA9ICcxLjAtMCcpOiBzdHJpbmcge1xuICAgIGZvcm1hdE51bWJlcih2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbnVtYmVyID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgaWYgKG51bWJlciA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuICcwJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHJldHVybiBmb3JtYXROdW1iZXIodmFsdWUsIHRoaXMuY3VsdHVyZSwgZGlnaXRzSW5mbyk7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KHRoaXMuY3VsdHVyZSwgeyBcbiAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsXG4gICAgICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAwLFxuICAgICAgICAgICAgfSkuZm9ybWF0KG51bWJlcilcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvKipcbiAgICAgKiBDb252ZXJ0IGEgbnVtYmVyIGluIG1pbGxpc2Vjb25kcyB0byBhIHN0YW5kYXJkIGR1cmF0aW9uIHN0cmluZy5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWUgLSBkdXJhdGlvbiBpbiBtaWxsaXNlY29uZHNcbiAgICAgKiBAcGFyYW0ge29iamVjdH0gb3B0aW9ucyAtIGZvcm1hdER1cmF0aW9uIG9wdGlvbnMgb2JqZWN0XG4gICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5sZWFkaW5nPWZhbHNlXSAtIGFkZCBsZWFkaW5nIHplcm9cbiAgICAgKiBAcmV0dXJucyBzdHJpbmcgLSBmb3JtYXR0ZWQgZHVyYXRpb24gc3RyaW5nXG4gICAgKi9cbiAgICBmb3JtYXREdXJhdGlvbih2YWx1ZSwgb3B0aW9uczogeyBsZWFkaW5nPzogYm9vbGVhbiwgZHVyYXRpb24/OiAnbWlsbGlzZWNvbmRzJyB8ICdzZWNvbmRzJyB9ID0ge30pOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBpc051bWJlciA9IF9pc051bWJlclZhbHVlKHZhbHVlKTtcblxuICAgICAgICBpZiAoIWlzTnVtYmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgbnVtYmVyID0gdGhpcy5jb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XG4gICAgXG4gICAgICAgICAgICBjb25zdCBsZWFkaW5nID0gb3B0aW9ucz8ubGVhZGluZyB8fCB0cnVlO1xuICAgICAgICAgICAgY29uc3QgZHVyYXRpb24gPSBvcHRpb25zPy5kdXJhdGlvbiB8fCAnbWlsbGlzZWNvbmRzJztcbiAgICAgICAgICAgIGlmIChkdXJhdGlvbiA9PT0gJ3NlY29uZHMnKSB7XG4gICAgICAgICAgICAgICAgbnVtYmVyID0gbnVtYmVyICogMTAwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgdW5zaWduZWRNcyA9IG51bWJlciA8IDAgPyAtbnVtYmVyIDogbnVtYmVyO1xuICAgICAgICAgICAgY29uc3Qgc2lnbiA9IG51bWJlciA8PSAtMTAwMCA/ICctJyA6ICcnO1xuICAgICAgICAgICAgY29uc3QgdCA9IHRoaXMucGFyc2VNcyh1bnNpZ25lZE1zKTtcbiAgICAgICAgICAgIGNvbnN0IHNlY29uZHMgPSB0aGlzLmFkZFplcm8odC5zZWNvbmRzKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgaWYgKHQuZGF5cykge1xuICAgICAgICAgICAgICAgIHJldHVybiBzaWduICsgdC5kYXlzICsgJzonICsgdGhpcy5hZGRaZXJvKHQuaG91cnMpICsgJzonICsgdGhpcy5hZGRaZXJvKHQubWludXRlcykgKyAnOicgKyBzZWNvbmRzXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0LmhvdXJzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNpZ24gKyAobGVhZGluZyA/IHRoaXMuYWRkWmVybyh0LmhvdXJzKSA6IHQuaG91cnMpICsgJzonICsgdGhpcy5hZGRaZXJvKHQubWludXRlcykgKyAnOicgKyBzZWNvbmRzXG4gICAgICAgICAgICB9IFxuXG4gICAgICAgICAgICByZXR1cm4gc2lnbiArIChsZWFkaW5nID8gdGhpcy5hZGRaZXJvKHQubWludXRlcykgOiB0Lm1pbnV0ZXMpICsgJzonICsgc2Vjb25kc1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5jcmVtZW50TnVtYmVyKHZhbHVlOiBhbnkpOiBzdHJpbmcge1xuICAgICAgICBsZXQgbnVtYmVyVmFsdWUgPSB0aGlzLmNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgY29uc3QgbmV3TnVtYmVyID0gdGhpcy5jaGFuZ2VEZWNpbWFsU2VwZXJhdG9yKFxuICAgICAgICAgICAgKCsrbnVtYmVyVmFsdWUpLnRvU3RyaW5nKCksXG4gICAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIG5ld051bWJlcjtcbiAgICB9XG5cbiAgICBkZWNyZW1lbnROdW1iZXIodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBudW1iZXJWYWx1ZSA9IHRoaXMuY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xuICAgICAgICBjb25zdCBuZXdOdW1iZXIgPSB0aGlzLmNoYW5nZURlY2ltYWxTZXBlcmF0b3IoXG4gICAgICAgICAgICAoLS1udW1iZXJWYWx1ZSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gbmV3TnVtYmVyO1xuICAgIH1cblxuICAgIGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlOiBhbnksIGZhbGxiYWNrVmFsdWUgPSAwKTogbnVtYmVyIHtcbiAgICAgICAgLy8gSWYgdGhlIGRlY2ltYWwgc2VwYXJhdG9yIGlzICcsJyBjaGFuZ2UgaXQgdG8gJy4nXG4gICAgICAgIHZhbHVlID0gdGhpcy5jaGFuZ2VEZWNpbWFsU2VwZXJhdG9yKHZhbHVlKTtcblxuICAgICAgICByZXR1cm4gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUsIGZhbGxiYWNrVmFsdWUpO1xuICAgIH1cbn1cbiJdfQ==
@@ -3,15 +3,14 @@ import { PepAddonBlockLoaderComponent } from './addon-block-loader.component';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@pepperi-addons/ngx-lib/dialog";
5
5
  export class PepAddonBlockLoaderService {
6
- constructor(resolver, dialogService) {
7
- this.resolver = resolver;
6
+ constructor(dialogService) {
8
7
  this.dialogService = dialogService;
9
8
  //
10
9
  }
11
10
  loadAddonBlockInternal(options) {
12
11
  if (options.container !== null) {
13
- const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);
14
- const componentRef = options.container.createComponent(factory);
12
+ // const factory = this.resolver.resolveComponentFactory(PepAddonBlockLoaderComponent);
13
+ const componentRef = options.container.createComponent(PepAddonBlockLoaderComponent);
15
14
  const addonBlockInstance = componentRef.instance;
16
15
  addonBlockInstance.blockType = options.blockType || 'AddonBlock';
17
16
  addonBlockInstance.name = options.name;
@@ -50,12 +49,12 @@ export class PepAddonBlockLoaderService {
50
49
  }
51
50
  }
52
51
  }
53
- PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
52
+ PepAddonBlockLoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, deps: [{ token: i1.PepDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
54
53
  PepAddonBlockLoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, providedIn: 'root' });
55
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepAddonBlockLoaderService, decorators: [{
56
55
  type: Injectable,
57
56
  args: [{
58
57
  providedIn: 'root'
59
58
  }]
60
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i1.PepDialogService }]; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEwQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQU85RSxNQUFNLE9BQU8sMEJBQTBCO0lBRW5DLFlBQ1ksUUFBa0MsRUFDbEMsYUFBK0I7UUFEL0IsYUFBUSxHQUFSLFFBQVEsQ0FBMEI7UUFDbEMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRXZDLEVBQUU7SUFDTixDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBdUM7UUFDbEUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLHVCQUF1QixDQUFDLDRCQUE0QixDQUFDLENBQUM7WUFDcEYsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEUsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBRWpELGtCQUFrQixDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLFlBQVksQ0FBQztZQUNqRSxrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN2QyxrQkFBa0IsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztZQUVuRCxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQzlDLElBQUksT0FBTyxDQUFDLGtCQUFrQixFQUFFO29CQUM1QixPQUFPLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ3JDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLFlBQVksQ0FBQztTQUN2QjthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUM7U0FDZjtJQUNMLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxPQUFpQztRQUN2RCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsT0FBdUM7UUFDMUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFELElBQUksWUFBWSxFQUFFO1lBQ2QsTUFBTSxrQkFBa0IsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDO1lBQ2pELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxJQUFJLGFBQWEsQ0FBQyxDQUFDO1lBQ2pKLE1BQU0sV0FBVyxHQUFHLEVBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsU0FBUyxFQUFDLENBQUM7WUFDdEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7WUFDbEMsa0JBQWtCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7WUFDbkgsa0JBQWtCLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ3RELFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQy9CLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hDLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sa0JBQWtCLENBQUMsU0FBUyxDQUFDO1NBRXZDO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQzs7dUhBdERRLDBCQUEwQjsySEFBMUIsMEJBQTBCLGNBRnZCLE1BQU07MkZBRVQsMEJBQTBCO2tCQUh0QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dPcHRpb25zLCBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMsIElCbG9ja0xvYWRlckRhdGEgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgUGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vYWRkb24tYmxvY2stbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgUGVwRGlhbG9nU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2RpYWxvZyc7XG5cbkBJbmplY3RhYmxlKHsgXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnIFxufSlcbmV4cG9ydCBjbGFzcyBQZXBBZGRvbkJsb2NrTG9hZGVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBQZXBEaWFsb2dTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zOiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMpOiBDb21wb25lbnRSZWY8UGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudD4gfCBudWxsIHtcbiAgICAgICAgaWYgKG9wdGlvbnMuY29udGFpbmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IG9wdGlvbnMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uQmxvY2tJbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcblxuICAgICAgICAgICAgYWRkb25CbG9ja0luc3RhbmNlLmJsb2NrVHlwZSA9IG9wdGlvbnMuYmxvY2tUeXBlIHx8ICdBZGRvbkJsb2NrJztcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5uYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgICAgICAgICAgYWRkb25CbG9ja0luc3RhbmNlLmhvc3RPYmplY3QgPSBvcHRpb25zLmhvc3RPYmplY3Q7XG5cbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5ob3N0RXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5ob3N0RXZlbnRzQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5ob3N0RXZlbnRzQ2FsbGJhY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkQWRkb25CbG9ja0luQ29udGFpbmVyKG9wdGlvbnM6IElBZGRvbkJsb2NrTG9hZGVyT3B0aW9ucyk6IENvbXBvbmVudFJlZjxQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50PiB8IG51bGwgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zKTtcbiAgICB9XG5cbiAgICBsb2FkQWRkb25CbG9ja0luRGlhbG9nKG9wdGlvbnM6IElBZGRvbkJsb2NrTG9hZGVyRGlhbG9nT3B0aW9ucyk6IE1hdERpYWxvZ1JlZjxhbnk+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMubG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zKTtcbiAgICAgICAgXG4gICAgICAgIGlmIChjb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uQmxvY2tJbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgICAgIGNvbnN0IHBlcENvbmZpZyA9IHRoaXMuZGlhbG9nU2VydmljZS5nZXREaWFsb2dDb25maWcoeyBkaXNhYmxlQ2xvc2U6IGZhbHNlLCBwYW5lbENsYXNzOiAncmVtb3RlLWxvYWRlci1kaWFsb2cnIH0sIG9wdGlvbnMuc2l6ZSB8fCAnZnVsbC1zY3JlZW4nKTtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlQ29uZmlnID0gey4uLm9wdGlvbnMuY29uZmlnLCAuLi5wZXBDb25maWd9OyBcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBvcHRpb25zLmRhdGEgfHwgbnVsbDtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZyhhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nVGVtcGxhdGUsIGRhdGEsIG1lcmdlQ29uZmlnKTtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5ob3N0Vmlldy5kZXRhY2goKTtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaG9zdFZpZXcuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nUmVmO1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
59
+ }], ctorParameters: function () { return [{ type: i1.PepDialogService }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvYWRkb24tYmxvY2stbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEwQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFFN0YsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7OztBQU85RSxNQUFNLE9BQU8sMEJBQTBCO0lBRW5DLFlBQ1ksYUFBK0I7UUFBL0Isa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBRXZDLEVBQUU7SUFDTixDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBdUM7UUFDbEUsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUM1Qix1RkFBdUY7WUFDdkYsTUFBTSxZQUFZLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsQ0FBQztZQUNyRixNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFFakQsa0JBQWtCLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksWUFBWSxDQUFDO1lBQ2pFLGtCQUFrQixDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3ZDLGtCQUFrQixDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1lBRW5ELGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtnQkFDOUMsSUFBSSxPQUFPLENBQUMsa0JBQWtCLEVBQUU7b0JBQzVCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDckM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sWUFBWSxDQUFDO1NBQ3ZCO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUVELHlCQUF5QixDQUFDLE9BQWlDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxPQUF1QztRQUMxRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUQsSUFBSSxZQUFZLEVBQUU7WUFDZCxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUM7WUFDakQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLE9BQU8sQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDLENBQUM7WUFDakosTUFBTSxXQUFXLEdBQUcsRUFBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxTQUFTLEVBQUMsQ0FBQztZQUN0RCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQztZQUNsQyxrQkFBa0IsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUNuSCxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDdEQsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDL0IsWUFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDaEMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzNCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxrQkFBa0IsQ0FBQyxTQUFTLENBQUM7U0FFdkM7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDTCxDQUFDOzt1SEFyRFEsMEJBQTBCOzJIQUExQiwwQkFBMEIsY0FGdkIsTUFBTTsyRkFFVCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBDb21wb25lbnRSZWYsIEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMsIElBZGRvbkJsb2NrTG9hZGVyT3B0aW9ucywgSUJsb2NrTG9hZGVyRGF0YSB9IGZyb20gJy4vcmVtb3RlLWxvYWRlci5tb2RlbCc7XG5pbXBvcnQgeyBQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hZGRvbi1ibG9jay1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBQZXBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcblxuQEluamVjdGFibGUoeyBcbiAgICBwcm92aWRlZEluOiAncm9vdCcgXG59KVxuZXhwb3J0IGNsYXNzIFBlcEFkZG9uQmxvY2tMb2FkZXJTZXJ2aWNlIHtcbiAgICBcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlOiBQZXBEaWFsb2dTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICAvL1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zOiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMpOiBDb21wb25lbnRSZWY8UGVwQWRkb25CbG9ja0xvYWRlckNvbXBvbmVudD4gfCBudWxsIHtcbiAgICAgICAgaWYgKG9wdGlvbnMuY29udGFpbmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IG9wdGlvbnMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uQmxvY2tJbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcblxuICAgICAgICAgICAgYWRkb25CbG9ja0luc3RhbmNlLmJsb2NrVHlwZSA9IG9wdGlvbnMuYmxvY2tUeXBlIHx8ICdBZGRvbkJsb2NrJztcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5uYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgICAgICAgICAgYWRkb25CbG9ja0luc3RhbmNlLmhvc3RPYmplY3QgPSBvcHRpb25zLmhvc3RPYmplY3Q7XG5cbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5ob3N0RXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5ob3N0RXZlbnRzQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9ucy5ob3N0RXZlbnRzQ2FsbGJhY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICByZXR1cm4gY29tcG9uZW50UmVmO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2FkQWRkb25CbG9ja0luQ29udGFpbmVyKG9wdGlvbnM6IElBZGRvbkJsb2NrTG9hZGVyT3B0aW9ucyk6IENvbXBvbmVudFJlZjxQZXBBZGRvbkJsb2NrTG9hZGVyQ29tcG9uZW50PiB8IG51bGwgIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zKTtcbiAgICB9XG5cbiAgICBsb2FkQWRkb25CbG9ja0luRGlhbG9nKG9wdGlvbnM6IElBZGRvbkJsb2NrTG9hZGVyRGlhbG9nT3B0aW9ucyk6IE1hdERpYWxvZ1JlZjxhbnk+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMubG9hZEFkZG9uQmxvY2tJbnRlcm5hbChvcHRpb25zKTtcbiAgICAgICAgXG4gICAgICAgIGlmIChjb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IGFkZG9uQmxvY2tJbnN0YW5jZSA9IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcbiAgICAgICAgICAgIGNvbnN0IHBlcENvbmZpZyA9IHRoaXMuZGlhbG9nU2VydmljZS5nZXREaWFsb2dDb25maWcoeyBkaXNhYmxlQ2xvc2U6IGZhbHNlLCBwYW5lbENsYXNzOiAncmVtb3RlLWxvYWRlci1kaWFsb2cnIH0sIG9wdGlvbnMuc2l6ZSB8fCAnZnVsbC1zY3JlZW4nKTtcbiAgICAgICAgICAgIGNvbnN0IG1lcmdlQ29uZmlnID0gey4uLm9wdGlvbnMuY29uZmlnLCAuLi5wZXBDb25maWd9OyBcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBvcHRpb25zLmRhdGEgfHwgbnVsbDtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5kaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1NlcnZpY2Uub3BlbkRpYWxvZyhhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nVGVtcGxhdGUsIGRhdGEsIG1lcmdlQ29uZmlnKTtcbiAgICAgICAgICAgIGFkZG9uQmxvY2tJbnN0YW5jZS5kaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5ob3N0Vmlldy5kZXRhY2goKTtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRSZWYuaG9zdFZpZXcuZGVzdHJveSgpO1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBhZGRvbkJsb2NrSW5zdGFuY2UuZGlhbG9nUmVmO1xuXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,12 +1,10 @@
1
- import { Component, Input, ViewChild, ViewContainerRef, EventEmitter, Output } from '@angular/core';
1
+ import { Component, Input, ViewChild, ViewContainerRef, EventEmitter, Output, createNgModuleRef } from '@angular/core';
2
2
  import { loadRemoteModule } from '@angular-architects/module-federation';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@pepperi-addons/ngx-lib";
5
5
  export class PepRemoteLoaderComponent {
6
- constructor(injector, cfr, compiler, pepAddonService) {
6
+ constructor(injector, pepAddonService) {
7
7
  this.injector = injector;
8
- this.cfr = cfr;
9
- this.compiler = compiler;
10
8
  this.pepAddonService = pepAddonService;
11
9
  this._options = null;
12
10
  // This is the data passed by the API Design documentation.
@@ -49,31 +47,21 @@ export class PepRemoteLoaderComponent {
49
47
  // Check if only need update
50
48
  if (!this.options?.update) {
51
49
  this.viewContainer?.clear();
52
- // Load Component
53
- if (this.options?.noModule) {
54
- const component = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);
55
- // New code
56
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector });
57
- // Old code
58
- const componentFactory = this.cfr.resolveComponentFactory(component);
59
- this.compRef = this.viewContainer.createComponent(componentFactory, 0, this.injector);
50
+ if (this.options?.noModule) { // Load Component
51
+ const componentType = await loadRemoteModule(this.options).then(m => m[this.options.componentName]);
52
+ this.compRef = this.viewContainer.createComponent(componentType, { injector: this.injector });
60
53
  }
61
- // Load Module
62
- else {
63
- const publicPathArr = this.options.remoteEntry.split('/');
64
- const publicPath = publicPathArr.slice(0, publicPathArr.length - 1).join('/') + '/';
65
- __webpack_public_path__ = publicPath;
66
- this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
54
+ else { // Load Module
55
+ if (this.options?.addonId && (this.options.type === 'module' || this.options.type === 'script')) {
56
+ const lastSlashIndex = this.options.remoteEntry?.lastIndexOf('/') || -1;
57
+ if (lastSlashIndex > 0) {
58
+ const publicPath = this.options.remoteEntry.substring(0, lastSlashIndex + 1);
59
+ this.pepAddonService.setAddonStaticFolder(publicPath, this.options.addonId);
60
+ }
61
+ }
67
62
  const module = await loadRemoteModule(this.options).then(m => m);
68
- // New code
69
- // const moduleRef = createNgModuleRef(module, this.injector);
70
- // const component = module[this.options.componentName];
71
- // this.compRef = this.viewContainer.createComponent(component, { injector: this.injector, ngModuleRef: moduleRef });
72
- // Old code
73
- const moduleFactory = this.compiler.compileModuleSync(module[this.options.exposedModule.replace('./', '')]);
74
- const moduleRef = moduleFactory.create(this.injector);
75
- const componentFactory = moduleRef?.componentFactoryResolver?.resolveComponentFactory(module[this.options.componentName]);
76
- this.compRef = this.viewContainer.createComponent(componentFactory, 0, this.injector, null, moduleRef);
63
+ const moduleRef = createNgModuleRef(module[this.options.exposedModule.replace('./', '')], this.injector);
64
+ this.compRef = this.viewContainer.createComponent(module[this.options.componentName], { injector: this.injector, ngModuleRef: moduleRef });
77
65
  const t1 = performance.now();
78
66
  console.log('remote module load performance: ' + (t1 - t0) / 1000);
79
67
  }
@@ -95,7 +83,7 @@ export class PepRemoteLoaderComponent {
95
83
  this.viewContainer?.clear();
96
84
  }
97
85
  }
98
- PepRemoteLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderComponent, deps: [{ token: i0.Injector }, { token: i0.ComponentFactoryResolver }, { token: i0.Compiler }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Component });
86
+ PepRemoteLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepRemoteLoaderComponent, deps: [{ token: i0.Injector }, { token: i1.PepAddonService }], target: i0.ɵɵFactoryTarget.Component });
99
87
  PepRemoteLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepRemoteLoaderComponent, selector: "pep-remote-loader", inputs: { options: "options", hostObject: "hostObject" }, outputs: { hostEvents: "hostEvents", load: "load" }, viewQueries: [{ propertyName: "viewContainer", first: true, predicate: ["placeHolder"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `
100
88
  <!-- <mat-spinner *ngIf="showSpinner; else placeHolder"></mat-spinner> -->
101
89
  <ng-template #placeHolder></ng-template>
@@ -109,7 +97,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
109
97
  <ng-template #placeHolder></ng-template>
110
98
  `
111
99
  }]
112
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ComponentFactoryResolver }, { type: i0.Compiler }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
100
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.PepAddonService }]; }, propDecorators: { viewContainer: [{
113
101
  type: ViewChild,
114
102
  args: ['placeHolder', { read: ViewContainerRef, static: true }]
115
103
  }], options: [{
@@ -121,4 +109,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
121
109
  }], load: [{
122
110
  type: Output
123
111
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvcmVtb3RlLWxvYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLGdCQUFnQixFQUMxQixZQUFZLEVBQUUsTUFBTSxFQUEwRCxNQUFNLGVBQWUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBV3pFLE1BQU0sT0FBTyx3QkFBd0I7SUFnQ2pDLFlBQ1ksUUFBa0IsRUFDbEIsR0FBNkIsRUFDN0IsUUFBa0IsRUFDbEIsZUFBZ0M7UUFIaEMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixRQUFHLEdBQUgsR0FBRyxDQUEwQjtRQUM3QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQWpDcEMsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFZaEQsMkRBQTJEO1FBQ25ELGdCQUFXLEdBQVEsSUFBSSxDQUFDO1FBVXRCLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxTQUFJLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFXcEQsQ0FBQztJQWxDTCxJQUNJLE9BQU8sQ0FBQyxLQUE2QjtRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUlELElBQ0ksVUFBVSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFD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dUUsYUFBYTtzQkFBaEYsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFJOUQsT0FBTztzQkFEVixLQUFLO2dCQWNGLFVBQVU7c0JBRGIsS0FBSztnQkFTSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBlcEFkZG9uU2VydmljZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIEluamVjdG9yLCBOZ01vZHVsZUZhY3RvcnksIENvbXBpbGVyLCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgQ29tcG9uZW50UmVmLCBTaW1wbGVDaGFuZ2VzLCBOZ1pvbmUsIGNyZWF0ZU5nTW9kdWxlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBsb2FkUmVtb3RlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXItYXJjaGl0ZWN0cy9tb2R1bGUtZmVkZXJhdGlvbic7XG5pbXBvcnQgeyBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLm1vZGVsJztcbmRlY2xhcmUgbGV0IF9fd2VicGFja19wdWJsaWNfcGF0aF9fO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3BlcC1yZW1vdGUtbG9hZGVyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8IS0tIDxtYXQtc3Bpbm5lciAqbmdJZj1cInNob3dTcGlubmVyOyBlbHNlIHBsYWNlSG9sZGVyXCI+PC9tYXQtc3Bpbm5lcj4gLS0+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjcGxhY2VIb2xkZXI+PC9uZy10ZW1wbGF0ZT5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFBlcFJlbW90ZUxvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQFZpZXdDaGlsZCgncGxhY2VIb2xkZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogdHJ1ZSB9KSB2aWV3Q29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIFxuICAgIHByaXZhdGUgX29wdGlvbnM6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMgPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IG9wdGlvbnModmFsdWU6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZE1vZHVsZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBvcHRpb25zKCk6IFBlcFJlbW90ZUxvYWRlck9wdGlvbnMge1xuICAgICAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcbiAgICB9XG4gICAgXG4gICAgLy8gVGhpcyBpcyB0aGUgZGF0YSBwYXNzZWQgYnkgdGhlIEFQSSBEZXNpZ24gZG9jdW1lbnRhdGlvbi5cbiAgICBwcml2YXRlIF9ob3N0T2JqZWN0OiBhbnkgPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IGhvc3RPYmplY3QodmFsdWU6IGFueSkgeyBcbiAgICAgICAgdGhpcy5faG9zdE9iamVjdCA9IHZhbHVlO1xuICAgICAgICB0aGlzLnNldEhvc3RDb21wb25lbnRJbnRvQ29tcG9uZW50UmVmKCk7XG4gICAgfVxuICAgIGdldCBob3N0T2JqZWN0KCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ob3N0T2JqZWN0O1xuICAgIH1cblxuICAgIEBPdXRwdXQoKSBob3N0RXZlbnRzOiBFdmVudEVtaXR0ZXI8YW55PiA9ICBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIGxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gIG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICAvLyBzaG93U3Bpbm5lciA9IHRydWU7XG4gICAgXG4gICAgcHJpdmF0ZSBjb21wUmVmOiBDb21wb25lbnRSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBjZnI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJpdmF0ZSBjb21waWxlcjogQ29tcGlsZXIsXG4gICAgICAgIHByaXZhdGUgcGVwQWRkb25TZXJ2aWNlOiBQZXBBZGRvblNlcnZpY2UsXG4gICAgICAgIC8vIHByaXZhdGUgem9uZTogTmdab25lLFxuICAgICkgeyB9XG5cbiAgICBwcml2YXRlIHNldEhvc3RDb21wb25lbnRJbnRvQ29tcG9uZW50UmVmKCkge1xuICAgICAgICBpZiAodGhpcy5ob3N0T2JqZWN0ICYmIHRoaXMuY29tcFJlZj8uaW5zdGFuY2UpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcFJlZi5pbnN0YW5jZS5ob3N0T2JqZWN0ID0gdGhpcy5ob3N0T2JqZWN0O1xuXG4gICAgICAgICAgICAvLyBUT0RPOiBDaGVjayBpZiB0aGlzIGlzIG5lZWRlZD8/IGlmIG5vdCByZW1vdmUgdGhpcy5cbiAgICAgICAgICAgIGlmICh0aGlzLmNvbXBSZWY/Lmluc3RhbmNlPy5uZ09uQ2hhbmdlcykge1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcFJlZi5pbnN0YW5jZS5uZ09uQ2hhbmdlcyh0aGlzLmhvc3RPYmplY3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICAvLyBpZiAoY2hhbmdlcz8ub3B0aW9ucz8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgIC8vICAgICB0aGlzLmxvYWRNb2R1bGUoY2hhbmdlcz8ub3B0aW9ucz8uY3VycmVudFZhbHVlKTtcbiAgICAgICAgLy8gfVxuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgbG9hZE1vZHVsZSgpIHtcbiAgICAgICAgY29uc3QgdDAgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgICAgXG4gICAgICAgIC8vIENoZWNrIGlmIG9ubHkgbmVlZCB1cGRhdGVcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnM/LnVwZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyPy5jbGVhcigpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyBMb2FkIENvbXBvbmVudFxuICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucz8ubm9Nb2R1bGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBhd2FpdCBsb2FkUmVtb3RlTW9kdWxlKHRoaXMub3B0aW9ucykudGhlbihtID0+IG1bdGhpcy5vcHRpb25zLmNvbXBvbmVudE5hbWVdKTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyBOZXcgY29kZVxuICAgICAgICAgICAgICAgIC8vIHRoaXMuY29tcFJlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yIH0pO1xuXG4gICAgICAgICAgICAgICAgLy8gT2xkIGNvZGVcbiAgICAgICAgICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gdGhpcy5jZnIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIDAsIHRoaXMuaW5qZWN0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gTG9hZCBNb2R1bGVcbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHB1YmxpY1BhdGhBcnIgPSB0aGlzLm9wdGlvbnMucmVtb3RlRW50cnkuc3BsaXQoJy8nKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwdWJsaWNQYXRoID0gcHVibGljUGF0aEFyci5zbGljZSgwLCBwdWJsaWNQYXRoQXJyLmxlbmd0aCAtIDEpLmpvaW4oJy8nKSsnLyc7XG4gICAgICAgICAgICAgICAgX193ZWJwYWNrX3B1YmxpY19wYXRoX18gPSBwdWJsaWNQYXRoO1xuICAgICAgICAgICAgICAgIHRoaXMucGVwQWRkb25TZXJ2aWNlLnNldEFkZG9uU3RhdGljRm9sZGVyKHB1YmxpY1BhdGgsIHRoaXMub3B0aW9ucy5hZGRvbklkKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IG1vZHVsZSA9ICBhd2FpdCBsb2FkUmVtb3RlTW9kdWxlKHRoaXMub3B0aW9ucykudGhlbihtID0+IG0pO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vIE5ldyBjb2RlXG4gICAgICAgICAgICAgICAgLy8gY29uc3QgbW9kdWxlUmVmID0gY3JlYXRlTmdNb2R1bGVSZWYobW9kdWxlLCB0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgICAgICAvLyBjb25zdCBjb21wb25lbnQgPSBtb2R1bGVbdGhpcy5vcHRpb25zLmNvbXBvbmVudE5hbWVdO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMuY29tcFJlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50LCB7IGluamVjdG9yOiB0aGlzLmluamVjdG9yLCBuZ01vZHVsZVJlZjogbW9kdWxlUmVmIH0pO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC8vIE9sZCBjb2RlXG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlRmFjdG9yeTogTmdNb2R1bGVGYWN0b3J5PGFueT4gPSB0aGlzLmNvbXBpbGVyLmNvbXBpbGVNb2R1bGVTeW5jKG1vZHVsZVt0aGlzLm9wdGlvbnMuZXhwb3NlZE1vZHVsZS5yZXBsYWNlKCcuLycsJycpXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlUmVmID0gbW9kdWxlRmFjdG9yeS5jcmVhdGUodGhpcy5pbmplY3Rvcik7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50RmFjdG9yeSA9IG1vZHVsZVJlZj8uY29tcG9uZW50RmFjdG9yeVJlc29sdmVyPy5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShtb2R1bGVbdGhpcy5vcHRpb25zLmNvbXBvbmVudE5hbWVdKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGNvbXBvbmVudEZhY3RvcnksIDAsIHRoaXMuaW5qZWN0b3IsIG51bGwsIG1vZHVsZVJlZik7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB0MSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZW1vdGUgbW9kdWxlIGxvYWQgcGVyZm9ybWFuY2U6ICcgKyAodDEtdDApLzEwMDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmxvYWQuZW1pdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29tcFJlZikge1xuICAgICAgICAgICAgdGhpcy5zZXRIb3N0Q29tcG9uZW50SW50b0NvbXBvbmVudFJlZigpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLmNvbXBSZWY/Lmluc3RhbmNlWydob3N0RXZlbnRzJ10/LnN1YnNjcmliZShlID0+IHtcbiAgICAgICAgICAgICAgICAvLyBzd2l0Y2goZS5hY3Rpb24pe1xuICAgICAgICAgICAgICAgIC8vICAgICBjYXNlICdhZGRvbi1sb2FkZWQnOlxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgdGhpcy5zaG93U3Bpbm5lciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RFdmVudHMuZW1pdChlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21wUmVmPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lcj8uY2xlYXIoKTtcbiAgICB9XG59XG5cbiJdfQ==
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3JlbW90ZS1sb2FkZXIvcmVtb3RlLWxvYWRlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsU0FBUyxFQUFFLGdCQUFnQixFQUFZLFlBQVksRUFBRSxNQUFNLEVBQStCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pLLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7QUFVekUsTUFBTSxPQUFPLHdCQUF3QjtJQWdDakMsWUFDWSxRQUFrQixFQUNsQixlQUFnQztRQURoQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQS9CcEMsYUFBUSxHQUEyQixJQUFJLENBQUM7UUFZaEQsMkRBQTJEO1FBQ25ELGdCQUFXLEdBQVEsSUFBSSxDQUFDO1FBVXRCLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxTQUFJLEdBQXVCLElBQUksWUFBWSxFQUFFLENBQUM7SUFRcEQsQ0FBQztJQS9CTCxJQUNJLE9BQU8sQ0FBQyxLQUE2QjtRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUlELElBQ0ksVUFBVSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUNELElBQUksVUFBVTtRQUNWLE9BQU8s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QHBlcHBlcmktYWRkb25zL25neC1saWInO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYsIEluamVjdG9yLCBFdmVudEVtaXR0ZXIsIE91dHB1dCwgQ29tcG9uZW50UmVmLCBTaW1wbGVDaGFuZ2VzLCBjcmVhdGVOZ01vZHVsZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbG9hZFJlbW90ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyLWFyY2hpdGVjdHMvbW9kdWxlLWZlZGVyYXRpb24nO1xuaW1wb3J0IHsgUGVwUmVtb3RlTG9hZGVyT3B0aW9ucyB9IGZyb20gJy4vcmVtb3RlLWxvYWRlci5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLXJlbW90ZS1sb2FkZXInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDwhLS0gPG1hdC1zcGlubmVyICpuZ0lmPVwic2hvd1NwaW5uZXI7IGVsc2UgcGxhY2VIb2xkZXJcIj48L21hdC1zcGlubmVyPiAtLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNwbGFjZUhvbGRlcj48L25nLXRlbXBsYXRlPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgUGVwUmVtb3RlTG9hZGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICBAVmlld0NoaWxkKCdwbGFjZUhvbGRlcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiB0cnVlIH0pIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG4gICAgXG4gICAgcHJpdmF0ZSBfb3B0aW9uczogUGVwUmVtb3RlTG9hZGVyT3B0aW9ucyA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBzZXQgb3B0aW9ucyh2YWx1ZTogUGVwUmVtb3RlTG9hZGVyT3B0aW9ucykge1xuICAgICAgICB0aGlzLl9vcHRpb25zID0gdmFsdWU7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5sb2FkTW9kdWxlKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IG9wdGlvbnMoKTogUGVwUmVtb3RlTG9hZGVyT3B0aW9ucyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9vcHRpb25zO1xuICAgIH1cbiAgICBcbiAgICAvLyBUaGlzIGlzIHRoZSBkYXRhIHBhc3NlZCBieSB0aGUgQVBJIERlc2lnbiBkb2N1bWVudGF0aW9uLlxuICAgIHByaXZhdGUgX2hvc3RPYmplY3Q6IGFueSA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBzZXQgaG9zdE9iamVjdCh2YWx1ZTogYW55KSB7IFxuICAgICAgICB0aGlzLl9ob3N0T2JqZWN0ID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0SG9zdENvbXBvbmVudEludG9Db21wb25lbnRSZWYoKTtcbiAgICB9XG4gICAgZ2V0IGhvc3RPYmplY3QoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hvc3RPYmplY3Q7XG4gICAgfVxuXG4gICAgQE91dHB1dCgpIGhvc3RFdmVudHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gIG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgbG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSAgbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIC8vIHNob3dTcGlubmVyID0gdHJ1ZTtcbiAgICBcbiAgICBwcml2YXRlIGNvbXBSZWY6IENvbXBvbmVudFJlZjxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIHBlcEFkZG9uU2VydmljZTogUGVwQWRkb25TZXJ2aWNlXG4gICAgKSB7IH1cblxuICAgIHByaXZhdGUgc2V0SG9zdENvbXBvbmVudEludG9Db21wb25lbnRSZWYoKSB7XG4gICAgICAgIGlmICh0aGlzLmhvc3RPYmplY3QgJiYgdGhpcy5jb21wUmVmPy5pbnN0YW5jZSkge1xuICAgICAgICAgICAgdGhpcy5jb21wUmVmLmluc3RhbmNlLmhvc3RPYmplY3QgPSB0aGlzLmhvc3RPYmplY3Q7XG5cbiAgICAgICAgICAgIC8vIFRPRE86IENoZWNrIGlmIHRoaXMgaXMgbmVlZGVkPz8gaWYgbm90IHJlbW92ZSB0aGlzLlxuICAgICAgICAgICAgaWYgKHRoaXMuY29tcFJlZj8uaW5zdGFuY2U/Lm5nT25DaGFuZ2VzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb21wUmVmLmluc3RhbmNlLm5nT25DaGFuZ2VzKHRoaXMuaG9zdE9iamVjdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIC8vIGlmIChjaGFuZ2VzPy5vcHRpb25zPy5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgLy8gICAgIHRoaXMubG9hZE1vZHVsZShjaGFuZ2VzPy5vcHRpb25zPy5jdXJyZW50VmFsdWUpO1xuICAgICAgICAvLyB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBsb2FkTW9kdWxlKCkge1xuICAgICAgICBjb25zdCB0MCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICBcbiAgICAgICAgLy8gQ2hlY2sgaWYgb25seSBuZWVkIHVwZGF0ZVxuICAgICAgICBpZiAoIXRoaXMub3B0aW9ucz8udXBkYXRlKSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXI/LmNsZWFyKCk7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbnM/Lm5vTW9kdWxlKSB7IC8vIExvYWQgQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50VHlwZSA9IGF3YWl0IGxvYWRSZW1vdGVNb2R1bGUodGhpcy5vcHRpb25zKS50aGVuKG0gPT4gbVt0aGlzLm9wdGlvbnMuY29tcG9uZW50TmFtZV0pO1xuICAgICAgICAgICAgICAgIHRoaXMuY29tcFJlZiA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50VHlwZSwgeyBpbmplY3RvcjogdGhpcy5pbmplY3RvciB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7IC8vIExvYWQgTW9kdWxlXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucz8uYWRkb25JZCAmJiAodGhpcy5vcHRpb25zLnR5cGUgPT09ICdtb2R1bGUnIHx8IHRoaXMub3B0aW9ucy50eXBlID09PSAnc2NyaXB0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbGFzdFNsYXNoSW5kZXggPSB0aGlzLm9wdGlvbnMucmVtb3RlRW50cnk/Lmxhc3RJbmRleE9mKCcvJykgfHwgLTE7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBpZiAobGFzdFNsYXNoSW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwdWJsaWNQYXRoID0gdGhpcy5vcHRpb25zLnJlbW90ZUVudHJ5LnN1YnN0cmluZygwLCBsYXN0U2xhc2hJbmRleCArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5wZXBBZGRvblNlcnZpY2Uuc2V0QWRkb25TdGF0aWNGb2xkZXIocHVibGljUGF0aCwgdGhpcy5vcHRpb25zLmFkZG9uSWQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlID0gIGF3YWl0IGxvYWRSZW1vdGVNb2R1bGUodGhpcy5vcHRpb25zKS50aGVuKG0gPT4gbSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbW9kdWxlUmVmID0gY3JlYXRlTmdNb2R1bGVSZWYobW9kdWxlW3RoaXMub3B0aW9ucy5leHBvc2VkTW9kdWxlLnJlcGxhY2UoJy4vJywnJyldLCB0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbXBSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlQ29tcG9uZW50KG1vZHVsZVt0aGlzLm9wdGlvbnMuY29tcG9uZW50TmFtZV0sIHsgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsIG5nTW9kdWxlUmVmOiBtb2R1bGVSZWYgfSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB0MSA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdyZW1vdGUgbW9kdWxlIGxvYWQgcGVyZm9ybWFuY2U6ICcgKyAodDEtdDApLzEwMDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmxvYWQuZW1pdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29tcFJlZikge1xuICAgICAgICAgICAgdGhpcy5zZXRIb3N0Q29tcG9uZW50SW50b0NvbXBvbmVudFJlZigpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB0aGlzLmNvbXBSZWY/Lmluc3RhbmNlWydob3N0RXZlbnRzJ10/LnN1YnNjcmliZShlID0+IHtcbiAgICAgICAgICAgICAgICAvLyBzd2l0Y2goZS5hY3Rpb24pe1xuICAgICAgICAgICAgICAgIC8vICAgICBjYXNlICdhZGRvbi1sb2FkZWQnOlxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgdGhpcy5zaG93U3Bpbm5lciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RFdmVudHMuZW1pdChlKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb21wUmVmPy5kZXN0cm95KCk7XG4gICAgICAgIHRoaXMudmlld0NvbnRhaW5lcj8uY2xlYXIoKTtcbiAgICB9XG59XG5cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9yZW1vdGUtbG9hZGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkUmVtb3RlTW9kdWxlU2NyaXB0T3B0aW9ucyB9IGZyb20gXCJAYW5ndWxhci1hcmNoaXRlY3RzL21vZHVsZS1mZWRlcmF0aW9uXCJcbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgUGVwRGlhbG9nU2l6ZVR5cGUgfSBmcm9tIFwiQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nXCI7XG5pbXBvcnQgeyBOZ0NvbXBvbmVudFJlbGF0aW9uIH0gZnJvbSBcIkBwZXBwZXJpLWFkZG9ucy9wYXBpLXNka1wiO1xuXG50eXBlIFBlcFJlbW90ZUxvYWRlckRhdGEgPSB7XG4gICAgY29tcG9uZW50TmFtZTogc3RyaW5nO1xuICAgIGFkZG9uSWQ6IHN0cmluZztcbiAgICB1cGRhdGU/OiBib29sZWFuO1xuICAgIG5vTW9kdWxlPzogYm9vbGVhbjtcbiAgICAvLyB0aXRsZTogc3RyaW5nO1xuICAgIC8vIG1vZHVsZURhdGE/OiBvYmplY3Q7XG4gICAgLy8gdmlzaWJsZUVuZHBvaW50Pzogc3RyaW5nO1xuICAgIC8vIG11bHRpU2VsZWN0aW9uPzogYm9vbGVhbiB8IHN0cmluZyA7XG4gICAgLy8gY29uZmlybWF0aW9uPzogYm9vbGVhbjtcbiAgICAvLyB0eXBlOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvLyBzdWJUeXBlOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvLyBba2V5OnN0cmluZ106IGFueTsgLy8gSWYgYW55b25lIHdpbGwgbmVlZCBpdCB0aGVuIGFkZCBpdCEhIVxufVxuXG5leHBvcnQgdHlwZSBQZXBSZW1vdGVMb2FkZXJPcHRpb25zID0gTG9hZFJlbW90ZU1vZHVsZVNjcmlwdE9wdGlvbnMgJiBQZXBSZW1vdGVMb2FkZXJEYXRhO1xuXG5leHBvcnQgdHlwZSBQZXBCbG9ja0RhdGFUeXBlID0gJ1NldHRpbmdzQmxvY2snIHwgJ0FkZG9uQmxvY2snIHwgJ1BhZ2VCbG9jayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsb2NrTG9hZGVyRGF0YSB7XG4gICAgcmVsYXRpb246IE5nQ29tcG9uZW50UmVsYXRpb24sIFxuICAgIGFkZG9uUHVibGljQmFzZVVSTDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZG9uQmxvY2tMb2FkZXJPcHRpb25zIHtcbiAgICBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG4gICAgYmxvY2tUeXBlPzogUGVwQmxvY2tEYXRhVHlwZTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgaG9zdE9iamVjdD86IGFueTtcbiAgICBob3N0RXZlbnRzQ2FsbGJhY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMgZXh0ZW5kcyBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMge1xuICAgIGRhdGE/OiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ0RhdGFPcHRpb25zO1xuICAgIGNvbmZpZz86IE1hdERpYWxvZ0NvbmZpZztcbiAgICBzaXplPzogUGVwRGlhbG9nU2l6ZVR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dEYXRhT3B0aW9ucyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc2hvd0Nsb3NlPzogYm9vbGVhbjtcbiAgICBzaG93SGVhZGVyPzogYm9vbGVhbjtcbiAgICBzaG93Rm9vdGVyPzogYm9vbGVhbjtcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvcmVtb3RlLWxvYWRlci9yZW1vdGUtbG9hZGVyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2FkUmVtb3RlTW9kdWxlT3B0aW9ucyB9IGZyb20gXCJAYW5ndWxhci1hcmNoaXRlY3RzL21vZHVsZS1mZWRlcmF0aW9uXCJcbmltcG9ydCB7IFZpZXdDb250YWluZXJSZWYgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHsgUGVwRGlhbG9nU2l6ZVR5cGUgfSBmcm9tIFwiQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nXCI7XG5pbXBvcnQgeyBOZ0NvbXBvbmVudFJlbGF0aW9uIH0gZnJvbSBcIkBwZXBwZXJpLWFkZG9ucy9wYXBpLXNka1wiO1xuXG50eXBlIFBlcFJlbW90ZUxvYWRlckRhdGEgPSB7XG4gICAgYWRkb25JZD86IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgICBjb21wb25lbnROYW1lPzogc3RyaW5nO1xuICAgIC8vIE1heWJlIHRob3NlIHByb3BlcnRpZXMgYXJlIG5vdCBpbiB1c2Ugc28gd2UgbmVlZCB0byByZW1vdmUgdGhlbS5cbiAgICB1cGRhdGU/OiBib29sZWFuO1xuICAgIG5vTW9kdWxlPzogYm9vbGVhbjtcblxuICAgIC8vIE9sZCBwcm9wZXJ0aWVzXG4gICAgLy8gY29tcG9uZW50TmFtZTogc3RyaW5nO1xuICAgIC8vIGFkZG9uSWQ6IHN0cmluZztcbiAgICAvLyB1cGRhdGU/OiBib29sZWFuO1xuICAgIC8vIG5vTW9kdWxlPzogYm9vbGVhbjtcbiAgICAvLyB0aXRsZTogc3RyaW5nO1xuICAgIC8vIG1vZHVsZURhdGE/OiBvYmplY3Q7XG4gICAgLy8gdmlzaWJsZUVuZHBvaW50Pzogc3RyaW5nO1xuICAgIC8vIG11bHRpU2VsZWN0aW9uPzogYm9vbGVhbiB8IHN0cmluZyA7XG4gICAgLy8gY29uZmlybWF0aW9uPzogYm9vbGVhbjtcbiAgICAvLyB0eXBlOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvLyBzdWJUeXBlOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAvLyBba2V5OnN0cmluZ106IGFueTsgLy8gSWYgYW55b25lIHdpbGwgbmVlZCBpdCB0aGVuIGFkZCBpdCEhIVxufVxuXG5leHBvcnQgdHlwZSBQZXBSZW1vdGVMb2FkZXJPcHRpb25zID0gTG9hZFJlbW90ZU1vZHVsZU9wdGlvbnMgJiBQZXBSZW1vdGVMb2FkZXJEYXRhO1xuXG5leHBvcnQgdHlwZSBQZXBCbG9ja0RhdGFUeXBlID0gJ1NldHRpbmdzQmxvY2snIHwgJ0FkZG9uQmxvY2snIHwgJ1BhZ2VCbG9jayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsb2NrTG9hZGVyRGF0YSB7XG4gICAgcmVsYXRpb246IE5nQ29tcG9uZW50UmVsYXRpb24sIFxuICAgIGFkZG9uUHVibGljQmFzZVVSTDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZG9uQmxvY2tMb2FkZXJPcHRpb25zIHtcbiAgICBjb250YWluZXI6IFZpZXdDb250YWluZXJSZWY7XG4gICAgYmxvY2tUeXBlPzogUGVwQmxvY2tEYXRhVHlwZTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgaG9zdE9iamVjdD86IGFueTtcbiAgICBob3N0RXZlbnRzQ2FsbGJhY2s/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ09wdGlvbnMgZXh0ZW5kcyBJQWRkb25CbG9ja0xvYWRlck9wdGlvbnMge1xuICAgIGRhdGE/OiBJQWRkb25CbG9ja0xvYWRlckRpYWxvZ0RhdGFPcHRpb25zO1xuICAgIGNvbmZpZz86IE1hdERpYWxvZ0NvbmZpZztcbiAgICBzaXplPzogUGVwRGlhbG9nU2l6ZVR5cGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFkZG9uQmxvY2tMb2FkZXJEaWFsb2dEYXRhT3B0aW9ucyB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgc2hvd0Nsb3NlPzogYm9vbGVhbjtcbiAgICBzaG93SGVhZGVyPzogYm9vbGVhbjtcbiAgICBzaG93Rm9vdGVyPzogYm9vbGVhbjtcbn0iXX0=
@@ -10,13 +10,14 @@ export class PepRemoteLoaderService {
10
10
  this.route = route;
11
11
  //
12
12
  }
13
- getRemoteLoaderOptions(blockLoaderData, remoteEntry = '') {
13
+ getRemoteLoaderOptions(blockLoaderData, remoteEntry = '', type = 'module') {
14
14
  return {
15
- addonId: blockLoaderData.relation.AddonUUID,
15
+ type: type,
16
16
  remoteEntry: remoteEntry.length > 0 ? remoteEntry : `${blockLoaderData.addonPublicBaseURL}${blockLoaderData.relation.AddonRelativeURL}.js`,
17
- remoteName: blockLoaderData.relation.AddonRelativeURL,
18
17
  exposedModule: `./${blockLoaderData.relation.ModuleName}`,
19
18
  componentName: blockLoaderData.relation.ComponentName,
19
+ remoteName: blockLoaderData.relation.AddonRelativeURL,
20
+ addonId: blockLoaderData.relation.AddonUUID, // For local use (adding the relative path to the assets).
20
21
  };
21
22
  }
22
23
  getAddonBaseUrl(addonUUID, fileName = 'api') {
@@ -54,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImpor
54
55
  providedIn: 'root'
55
56
  }]
56
57
  }], ctorParameters: function () { return [{ type: i1.PepHttpService }, { type: i1.PepSessionService }, { type: i1.PepAddonService }, { type: i2.ActivatedRoute }]; } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9yZW1vdGUtbG9hZGVyL3JlbW90ZS1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzNDLE1BQU0sT0FBTyxzQkFBc0I7SUFFL0IsWUFDWSxXQUEyQixFQUMzQixjQUFpQyxFQUNqQyxZQUE2QixFQUM3QixLQUFxQjtRQUhyQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUU3QixFQUFFO0lBQ04sQ0FBQztJQUVELHNCQUFzQixDQUFDLGVBQWlDLEVBQUUsV0FBVyxHQUFHLEVBQUU7UUFDdEUsT0FBTztZQUNILE9BQU8sRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVM7WUFDM0MsV0FBVyxFQUFFLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsZUFBZSxDQUFDLGtCQUFrQixHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEtBQUs7WUFDMUksVUFBVSxFQUFFLGVBQWUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCO1lBQ3JELGFBQWEsRUFBRSxLQUFLLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFO1lBQ3pELGFBQWEsRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLGFBQWE7U0FDeEQsQ0FBQTtJQUNMLENBQUM7SUFFTyxlQUFlLENBQUMsU0FBaUIsRUFBRSxRQUFRLEdBQUcsS0FBSztRQUN2RCx5Q0FBeUM7UUFDekMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxNQUFNLENBQUM7UUFDaEYsSUFBRyxTQUFTLEVBQUU7WUFDVixPQUFPLHlCQUF5QixRQUFRLEVBQUUsQ0FBQztTQUM5QzthQUFNO1lBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNyRCxPQUFPLEdBQUcsT0FBTyxlQUFlLFNBQVMsSUFBSSxRQUFRLEVBQUUsQ0FBQztTQUMzRDtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsMkJBQTJCLENBQUMsSUFBWSxFQUFFLFlBQThCLFlBQVksRUFBRSxXQUFXLEdBQUcsRUFBRTtRQUN4RyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM3RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUMxRSxNQUFNLEdBQUcsR0FBRyxHQUFHLFlBQVkscUNBQXFDLElBQUksY0FBYyxTQUFTLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFzQixFQUFFLEVBQUU7Z0JBQzFFLElBQUksSUFBSSxFQUFFO29CQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO3FCQUFNO29CQUNILE1BQU0sQ0FBQywyQkFBMkIsSUFBSSw0QkFBNEIsU0FBUyxFQUFFLENBQUMsQ0FBQztpQkFDbEY7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBN0NRLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07MkZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBlcEFkZG9uU2VydmljZSwgUGVwSHR0cFNlcnZpY2UsIFBlcFNlc3Npb25TZXJ2aWNlfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBCbG9ja0RhdGFUeXBlLCBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLm1vZGVsJztcbmltcG9ydCB7IElCbG9ja0xvYWRlckRhdGEgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5ASW5qZWN0YWJsZSh7IFxuICAgIHByb3ZpZGVkSW46ICdyb290JyBcbn0pXG5leHBvcnQgY2xhc3MgUGVwUmVtb3RlTG9hZGVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IFBlcEh0dHBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlOiBQZXBTZXNzaW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhZGRvblNlcnZpY2U6IFBlcEFkZG9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgZ2V0UmVtb3RlTG9hZGVyT3B0aW9ucyhibG9ja0xvYWRlckRhdGE6IElCbG9ja0xvYWRlckRhdGEsIHJlbW90ZUVudHJ5ID0gJycpOiBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGFkZG9uSWQ6IGJsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5BZGRvblVVSUQsXG4gICAgICAgICAgICByZW1vdGVFbnRyeTogcmVtb3RlRW50cnkubGVuZ3RoID4gMCA/IHJlbW90ZUVudHJ5IDogYCR7YmxvY2tMb2FkZXJEYXRhLmFkZG9uUHVibGljQmFzZVVSTH0ke2Jsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5BZGRvblJlbGF0aXZlVVJMfS5qc2AsXG4gICAgICAgICAgICByZW1vdGVOYW1lOiBibG9ja0xvYWRlckRhdGEucmVsYXRpb24uQWRkb25SZWxhdGl2ZVVSTCxcbiAgICAgICAgICAgIGV4cG9zZWRNb2R1bGU6IGAuLyR7YmxvY2tMb2FkZXJEYXRhLnJlbGF0aW9uLk1vZHVsZU5hbWV9YCxcbiAgICAgICAgICAgIGNvbXBvbmVudE5hbWU6IGJsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5Db21wb25lbnROYW1lLCBcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWRkb25CYXNlVXJsKGFkZG9uVVVJRDogc3RyaW5nLCBmaWxlTmFtZSA9ICdhcGknKTogc3RyaW5nIHtcbiAgICAgICAgLy8gRm9yIGRldlNlcnZlciBydW4gc2VydmVyIG9uIGxvY2FsaG9zdC5cbiAgICAgICAgY29uc3QgZGV2U2VydmVyID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnZGV2U2VydmVyJykgPT09ICd0cnVlJztcbiAgICAgICAgaWYoZGV2U2VydmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gYGh0dHA6Ly9sb2NhbGhvc3Q6NDUwMC8ke2ZpbGVOYW1lfWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlVXJsID0gdGhpcy5zZXNzaW9uU2VydmljZS5nZXRQYXBpQmFzZVVybCgpO1xuICAgICAgICAgICAgcmV0dXJuIGAke2Jhc2VVcmx9L2FkZG9ucy9hcGkvJHthZGRvblVVSUR9LyR7ZmlsZU5hbWV9YDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBhc3luYyBnZXRCbG9ja1JlbW90ZUxvYWRlck9wdGlvbnMobmFtZTogc3RyaW5nLCBibG9ja1R5cGU6IFBlcEJsb2NrRGF0YVR5cGUgPSAnQWRkb25CbG9jaycsIHJlbW90ZUVudHJ5ID0gJycpOiBQcm9taXNlPFBlcFJlbW90ZUxvYWRlck9wdGlvbnM+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2VzQWRkb25VdWlkID0gdGhpcy5hZGRvblNlcnZpY2UuZ2V0UGFnZXNBZGRvblVVSUQoKTtcbiAgICAgICAgICAgIGNvbnN0IHBhZ2VzQmFzZVVybCA9IHRoaXMuZ2V0QWRkb25CYXNlVXJsKHBhZ2VzQWRkb25VdWlkLCAnYWRkb25fYmxvY2tzJyk7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBgJHtwYWdlc0Jhc2VVcmx9L2dldF9hZGRvbl9ibG9ja19sb2FkZXJfZGF0YT9uYW1lPSR7bmFtZX0mYmxvY2tUeXBlPSR7YmxvY2tUeXBlfWA7XG4gICAgICAgICAgICB0aGlzLmh0dHBTZXJ2aWNlLmdldEh0dHBDYWxsKHVybCkudG9Qcm9taXNlKCkudGhlbigoZGF0YTogSUJsb2NrTG9hZGVyRGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5nZXRSZW1vdGVMb2FkZXJPcHRpb25zKGRhdGEsIHJlbW90ZUVudHJ5KSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGBBZGRvbiBibG9jayB3aXRoIG5hbWUgLSAke25hbWV9IGlzIG5vdCBmb3VuZCBmb3IgdHlwZSAtICR7YmxvY2tUeXBlfWApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pOyBcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3RlLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9yZW1vdGUtbG9hZGVyL3JlbW90ZS1sb2FkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUzNDLE1BQU0sT0FBTyxzQkFBc0I7SUFFL0IsWUFDWSxXQUEyQixFQUMzQixjQUFpQyxFQUNqQyxZQUE2QixFQUM3QixLQUFxQjtRQUhyQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFDM0IsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBQ2pDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUU3QixFQUFFO0lBQ04sQ0FBQztJQUVELHNCQUFzQixDQUFDLGVBQWlDLEVBQUUsV0FBVyxHQUFHLEVBQUUsRUFBRSxPQUF5QyxRQUFRO1FBQ3pILE9BQU87WUFDSCxJQUFJLEVBQUUsSUFBSTtZQUNWLFdBQVcsRUFBRSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxrQkFBa0IsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLGdCQUFnQixLQUFLO1lBQzFJLGFBQWEsRUFBRSxLQUFLLGVBQWUsQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFO1lBQ3pELGFBQWEsRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLGFBQWE7WUFDckQsVUFBVSxFQUFFLGVBQWUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCO1lBQ3JELE9BQU8sRUFBRSxlQUFlLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSwwREFBMEQ7U0FDMUcsQ0FBQTtJQUNMLENBQUM7SUFFTyxlQUFlLENBQUMsU0FBaUIsRUFBRSxRQUFRLEdBQUcsS0FBSztRQUN2RCx5Q0FBeUM7UUFDekMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsS0FBSyxNQUFNLENBQUM7UUFDaEYsSUFBRyxTQUFTLEVBQUU7WUFDVixPQUFPLHlCQUF5QixRQUFRLEVBQUUsQ0FBQztTQUM5QzthQUFNO1lBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNyRCxPQUFPLEdBQUcsT0FBTyxlQUFlLFNBQVMsSUFBSSxRQUFRLEVBQUUsQ0FBQztTQUMzRDtJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsMkJBQTJCLENBQUMsSUFBWSxFQUFFLFlBQThCLFlBQVksRUFBRSxXQUFXLEdBQUcsRUFBRTtRQUN4RyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ25DLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM3RCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQztZQUMxRSxNQUFNLEdBQUcsR0FBRyxHQUFHLFlBQVkscUNBQXFDLElBQUksY0FBYyxTQUFTLEVBQUUsQ0FBQztZQUM5RixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFzQixFQUFFLEVBQUU7Z0JBQzFFLElBQUksSUFBSSxFQUFFO29CQUNOLE9BQU8sQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUM7aUJBQzNEO3FCQUFNO29CQUNILE1BQU0sQ0FBQywyQkFBMkIsSUFBSSw0QkFBNEIsU0FBUyxFQUFFLENBQUMsQ0FBQztpQkFDbEY7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBOUNRLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRm5CLE1BQU07MkZBRVQsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBlcEFkZG9uU2VydmljZSwgUGVwSHR0cFNlcnZpY2UsIFBlcFNlc3Npb25TZXJ2aWNlfSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBQZXBCbG9ja0RhdGFUeXBlLCBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIH0gZnJvbSAnLi9yZW1vdGUtbG9hZGVyLm1vZGVsJztcbmltcG9ydCB7IElCbG9ja0xvYWRlckRhdGEgfSBmcm9tICcuL3JlbW90ZS1sb2FkZXIubW9kZWwnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5ASW5qZWN0YWJsZSh7IFxuICAgIHByb3ZpZGVkSW46ICdyb290JyBcbn0pXG5leHBvcnQgY2xhc3MgUGVwUmVtb3RlTG9hZGVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgaHR0cFNlcnZpY2U6IFBlcEh0dHBTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlOiBQZXBTZXNzaW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhZGRvblNlcnZpY2U6IFBlcEFkZG9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgKSB7XG4gICAgICAgIC8vXG4gICAgfVxuXG4gICAgZ2V0UmVtb3RlTG9hZGVyT3B0aW9ucyhibG9ja0xvYWRlckRhdGE6IElCbG9ja0xvYWRlckRhdGEsIHJlbW90ZUVudHJ5ID0gJycsIHR5cGU6ICdzY3JpcHQnIHwgJ21vZHVsZScgfCAnbWFuaWZlc3QnID0gJ21vZHVsZScpOiBQZXBSZW1vdGVMb2FkZXJPcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IHR5cGUsXG4gICAgICAgICAgICByZW1vdGVFbnRyeTogcmVtb3RlRW50cnkubGVuZ3RoID4gMCA/IHJlbW90ZUVudHJ5IDogYCR7YmxvY2tMb2FkZXJEYXRhLmFkZG9uUHVibGljQmFzZVVSTH0ke2Jsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5BZGRvblJlbGF0aXZlVVJMfS5qc2AsXG4gICAgICAgICAgICBleHBvc2VkTW9kdWxlOiBgLi8ke2Jsb2NrTG9hZGVyRGF0YS5yZWxhdGlvbi5Nb2R1bGVOYW1lfWAsXG4gICAgICAgICAgICBjb21wb25lbnROYW1lOiBibG9ja0xvYWRlckRhdGEucmVsYXRpb24uQ29tcG9uZW50TmFtZSwgLy8gRm9yIGxvYWQgdGhlIGNvbXBvbmVudCBmcm9tIHRoZSBtb2R1bGUuXG4gICAgICAgICAgICByZW1vdGVOYW1lOiBibG9ja0xvYWRlckRhdGEucmVsYXRpb24uQWRkb25SZWxhdGl2ZVVSTCwgLy8gRm9yIHNjcmlwdCB0eXBlLCB0aGlzIGlzIHRoZSBuYW1lIG9mIHRoZSBzY3JpcHQuXG4gICAgICAgICAgICBhZGRvbklkOiBibG9ja0xvYWRlckRhdGEucmVsYXRpb24uQWRkb25VVUlELCAvLyBGb3IgbG9jYWwgdXNlIChhZGRpbmcgdGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGFzc2V0cykuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFkZG9uQmFzZVVybChhZGRvblVVSUQ6IHN0cmluZywgZmlsZU5hbWUgPSAnYXBpJyk6IHN0cmluZyB7XG4gICAgICAgIC8vIEZvciBkZXZTZXJ2ZXIgcnVuIHNlcnZlciBvbiBsb2NhbGhvc3QuXG4gICAgICAgIGNvbnN0IGRldlNlcnZlciA9IHRoaXMucm91dGUuc25hcHNob3QucXVlcnlQYXJhbU1hcC5nZXQoJ2RldlNlcnZlcicpID09PSAndHJ1ZSc7XG4gICAgICAgIGlmKGRldlNlcnZlcikge1xuICAgICAgICAgICAgcmV0dXJuIGBodHRwOi8vbG9jYWxob3N0OjQ1MDAvJHtmaWxlTmFtZX1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMuc2Vzc2lvblNlcnZpY2UuZ2V0UGFwaUJhc2VVcmwoKTtcbiAgICAgICAgICAgIHJldHVybiBgJHtiYXNlVXJsfS9hZGRvbnMvYXBpLyR7YWRkb25VVUlEfS8ke2ZpbGVOYW1lfWA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgYXN5bmMgZ2V0QmxvY2tSZW1vdGVMb2FkZXJPcHRpb25zKG5hbWU6IHN0cmluZywgYmxvY2tUeXBlOiBQZXBCbG9ja0RhdGFUeXBlID0gJ0FkZG9uQmxvY2snLCByZW1vdGVFbnRyeSA9ICcnKTogUHJvbWlzZTxQZXBSZW1vdGVMb2FkZXJPcHRpb25zPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYWdlc0FkZG9uVXVpZCA9IHRoaXMuYWRkb25TZXJ2aWNlLmdldFBhZ2VzQWRkb25VVUlEKCk7XG4gICAgICAgICAgICBjb25zdCBwYWdlc0Jhc2VVcmwgPSB0aGlzLmdldEFkZG9uQmFzZVVybChwYWdlc0FkZG9uVXVpZCwgJ2FkZG9uX2Jsb2NrcycpO1xuICAgICAgICAgICAgY29uc3QgdXJsID0gYCR7cGFnZXNCYXNlVXJsfS9nZXRfYWRkb25fYmxvY2tfbG9hZGVyX2RhdGE/bmFtZT0ke25hbWV9JmJsb2NrVHlwZT0ke2Jsb2NrVHlwZX1gO1xuICAgICAgICAgICAgdGhpcy5odHRwU2VydmljZS5nZXRIdHRwQ2FsbCh1cmwpLnRvUHJvbWlzZSgpLnRoZW4oKGRhdGE6IElCbG9ja0xvYWRlckRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuZ2V0UmVtb3RlTG9hZGVyT3B0aW9ucyhkYXRhLCByZW1vdGVFbnRyeSkpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJlamVjdChgQWRkb24gYmxvY2sgd2l0aCBuYW1lIC0gJHtuYW1lfSBpcyBub3QgZm91bmQgZm9yIHR5cGUgLSAke2Jsb2NrVHlwZX1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTsgXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==